Changeset 20091
- Timestamp:
- 2011/02/04 16:26:14 (13 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:20090
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/Smarty/templates/default/shopping/index.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Findex.tpl
data/Smarty/templates/mobile/shopping/index.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fmobile%2Fshopping%2Findex.tpl
data/Smarty/templates/sphone/shopping/index.tpl index.tpl-20101209134550-lsv02w9wikfx9cj3-38
data/class/SC_FormParam.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_FormParam.php
data/class/pages/shopping/LC_Page_Shopping.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping.php
data/class/pages/shopping/LC_Page_Shopping_Deliv.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Deliv.php- bzr:mapping-version:
- v4
- bzr:merge:
ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20110204072610-34311c7r99r01a7g
- bzr:revno:
- 2819
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-revisions:
data/Smarty/templates/default/shopping/index.tpl ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345
data/Smarty/templates/mobile/shopping/index.tpl ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345
data/Smarty/templates/sphone/shopping/index.tpl ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345
data/class/SC_FormParam.php ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345
data/class/pages/shopping/LC_Page_Shopping_Deliv.php ohkouchi@loop-az.jp-20110204072336-milrhkq2dg4vl345- bzr:timestamp:
- 2011-02-04 16:26:10.503999949 +0900
- bzr:user-agent:
- bzr2.2.1+bzr-svn1.0.4
- svn:original-date:
- 2011-02-04T07:26:10.504000Z
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/default/shopping/index.tpl
r19998 r20091 24 24 <div id="under02column_login"> 25 25 <h2 class="title"><!--{$tpl_title|h}--></h2> 26 <form name="member_form" id="member_form" method="post" action=" ./deliv.php" onsubmit="return fnCheckLogin('member_form')">26 <form name="member_form" id="member_form" method="post" action="?" onsubmit="return fnCheckLogin('member_form')"> 27 27 <div class="loginarea"> 28 28 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> -
branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/index.tpl
r19998 r20091 33 33 34 34 <!--▼会員登録がお済みのお客様--> 35 <form name="member_form" id="member_form" method="post" action="./deliv.php"> 35 <form name="member_form" id="member_form" method="post" action="?"> 36 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->"> 36 37 <input type="hidden" name="mode" value="login"> 37 38 <!--{if !$tpl_valid_phone_id}--> -
branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/index.tpl
r19998 r20091 24 24 <div id="under02column_login"> 25 25 <h2 class="title"><!--{$tpl_title|h}--></h2> 26 <form name="member_form" id="member_form" method="post" action=" ./deliv.php" onsubmit="return fnCheckLogin('member_form')">26 <form name="member_form" id="member_form" method="post" action="?" onsubmit="return fnCheckLogin('member_form')"> 27 27 <div class="loginarea"> 28 28 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> -
branches/version-2_5-dev/data/class/SC_FormParam.php
r19854 r20091 26 26 * 27 27 * :XXX: addParam と setParam で言う「パラメータ」が用語として競合しているように感じる。(2009/10/17 Seasoft 塚田) 28 * TODO 配列の再帰処理 28 29 * 29 30 * @package SC … … 414 415 } 415 416 } 417 418 /** 419 * 入力パラメータの先頭及び末尾にある空白文字を削除する. 420 * 421 * @param boolean $has_wide_space 全角空白も削除する場合 true 422 * @return void 423 */ 424 function trimParam($has_wide_space = true) { 425 $cnt = 0; 426 $pattern = '/^[ \r\n\t]*(.*?)[ \r\n\t]*$/u'; 427 foreach ($this->keyname as $val) { 428 if (!isset($this->param[$cnt])) $this->param[$cnt] = ""; 429 430 if (!is_array($this->param[$cnt])) { 431 if ($has_wide_space) { 432 $this->param[$cnt] = preg_replace($pattern, '$1', $this->param[$cnt]); 433 } 434 $this->param[$cnt] = trim($this->param[$cnt]); 435 } else { 436 $max = count($this->param[$cnt]); 437 // XXX foreach の方が良い? 438 for ($i = 0; $i < $max; $i++) { 439 if ($has_wide_space) { 440 $this->param[$cnt][$i] = preg_replace($pattern, '$1', $this->param[$cnt][$i]); 441 } 442 $this->param[$cnt][$i] = trim($this->param[$cnt][$i]); 443 } 444 } 445 $cnt++; 446 } 447 } 416 448 } 417 449 ?> -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php
r20071 r20091 83 83 $objFormParam = new SC_FormParam(); 84 84 85 $this->lfInitParam($objFormParam);86 $objFormParam->setParam($_POST);87 85 88 86 $this->tpl_uniqid = $objSiteSess->getUniqId(); … … 95 93 SC_Response_Ex::sendRedirect( 96 94 $this->getNextLocation($this->cartKey, $this->tpl_uniqid, 97 $objCustomer ));95 $objCustomer, $objPurchase)); 98 96 exit; 99 97 } … … 116 114 117 115 switch ($this->getMode()) { 118 // 登録 116 // ログイン実行 117 case 'login': 118 $this->lfInitLoginFormParam($objFormParam); 119 $objFormParam->setParam($_POST); 120 $objFormParam->trimParam(); 121 $objFormParam->convParam(); 122 $objFormParam->toLower('login_email'); 123 $this->arrErr = $objFormParam->checkError(); 124 125 // ログイン判定 126 if (SC_Utils_Ex::isBlank($this->arrErr) 127 && $this->doLogin($objCustomer, 128 $objFormParam->getValue('login_email'), 129 $objFormParam->getValue('login_pass'))) { 130 131 // モバイルサイトで携帯アドレスの登録が無い場合 132 if($this->hasEmailMobile($objCustomer)) { 133 SC_Response_Ex::sendRedirect('../entry/email_mobile.php'); 134 exit; 135 } 136 SC_Response_Ex::sendRedirect( 137 $this->getNextLocation($this->cartKey, $this->tpl_uniqid, 138 $objCustomer, $objPurchase)); 139 exit; 140 } 141 // ログインに失敗した場合 142 else { 143 // 仮登録の場合 144 if($this->checkTempCustomer($objFormParam->getValue('login_email'))) { 145 SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR); 146 exit; 147 } else { 148 SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR); 149 exit; 150 } 151 } 152 break; 153 154 // お客様情報登録 119 155 case 'nonmember_confirm': 120 156 $this->tpl_mainpage = 'shopping/nonmember_input.tpl'; 121 157 $this->tpl_title = 'お客様情報入力'; 158 $this->lfInitParam($objFormParam); 159 $objFormParam->setParam($_POST); 122 160 123 161 $this->arrErr = $this->lfCheckError($objFormParam); … … 140 178 break; 141 179 142 // 複数配送 180 // 複数配送ページへ遷移 143 181 case 'multiple': 182 $this->lfInitParam($objFormParam); 183 $objFormParam->setParam($_POST); 144 184 $this->arrErr = $this->lfCheckError($objFormParam); 145 185 … … 154 194 // ※breakなし 155 195 156 // 入力196 // お客様情報入力ページの表示 157 197 case 'nonmember': 158 198 $this->tpl_mainpage = 'shopping/nonmember_input.tpl'; 159 199 $this->tpl_title = 'お客様情報入力'; 160 161 200 // ※breakなし 162 201 163 202 default: 164 // 前のページから戻ってきた場合 203 // 前のページから戻ってきた場合は, お客様情報入力ページ 165 204 if (isset($_GET['from']) && $_GET['from'] == 'nonmember') { 166 205 $this->tpl_mainpage = 'shopping/nonmember_input.tpl'; 167 206 $this->tpl_title = 'お客様情報入力'; 207 $this->lfInitParam($objFormParam); 208 } 209 // 通常はログインページ 210 else { 211 $this->lfInitLoginFormParam($objFormParam); 168 212 } 169 213 … … 199 243 200 244 /** 201 * パラメータ情報の初期化を行う.245 * お客様情報入力時のパラメータ情報の初期化を行う. 202 246 * 203 247 * @param SC_FormParam $objFormParam SC_FormParam インスタンス … … 205 249 */ 206 250 function lfInitParam(&$objFormParam) { 251 207 252 $objFormParam->addParam("お名前(姓)", "order_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 208 253 $objFormParam->addParam("お名前(名)", "order_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); … … 244 289 245 290 /** 291 * ログイン時のパラメータ情報の初期化を行う. 292 * 293 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 294 * @return void 295 */ 296 function lfInitLoginFormParam(&$objFormParam) { 297 $objFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 298 $objFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 299 $objFormParam->addParam("パスワード", "login_pass", PASSWORD_LEN2, "", array("EXIST_CHECK")); 300 } 301 302 /** 246 303 * ログイン済みの場合の遷移先を取得する. 247 304 * … … 251 308 * 252 309 * @param integer $product_type_id 商品種別ID 310 * @param string $uniqid 受注一時テーブルのユニークID 311 * @param SC_Customer $objCustomer SC_Customer インスタンス 312 * @param SC_Helper_Purchase $objPurchase SC_Helper_Purchase インスタンス 253 313 * @return string 遷移先のパス 254 314 */ 255 function getNextLocation($product_type_id, $uniqid, &$objCustomer ) {315 function getNextLocation($product_type_id, $uniqid, &$objCustomer, &$objPurchase) { 256 316 switch ($product_type_id) { 257 317 case PRODUCT_TYPE_DOWNLOAD: … … 326 386 * @return array エラー情報の配 327 387 */ 328 function lfCheckError( $objFormParam) {388 function lfCheckError(&$objFormParam) { 329 389 // 入力値の変換 330 390 $objFormParam->convParam(); … … 376 436 */ 377 437 function setFormParams(&$objFormParam, &$objPurchase, $uniqid) { 378 $arrOrderTemp = $objPurchase->getOrderTemp($uniqid); 379 if (SC_Utils_Ex::isBlank($arrOrderTemp)) { 380 $arrOrderTemp = array('order_email' => "", 381 'order_birth' => ""); 382 } 383 $arrShippingTemp = $objPurchase->getShippingTemp(); 384 385 $objFormParam->setParam($arrOrderTemp); 386 /* 387 * count($arrShippingTemp) > 1 は複数配送であり, 388 * $arrShippingTemp[0] は注文者が格納されている 389 */ 390 if (count($arrShippingTemp) > 1) { 391 $objFormParam->setParam($arrShippingTemp[1]); 392 } else { 393 $objFormParam->setParam($arrShippingTemp[0]); 394 } 395 $objFormParam->setValue('order_email02', $arrOrderTemp['order_email']); 396 $objFormParam->setDBDate($arrOrderTemp['order_birth']); 438 $arrOrderTemp = $objPurchase->getOrderTemp($uniqid); 439 if (SC_Utils_Ex::isBlank($arrOrderTemp)) { 440 $arrOrderTemp = array('order_email' => "", 441 'order_birth' => ""); 442 } 443 $arrShippingTemp = $objPurchase->getShippingTemp(); 444 445 $objFormParam->setParam($arrOrderTemp); 446 /* 447 * count($arrShippingTemp) > 1 は複数配送であり, 448 * $arrShippingTemp[0] は注文者が格納されている 449 */ 450 if (count($arrShippingTemp) > 1) { 451 $objFormParam->setParam($arrShippingTemp[1]); 452 } else { 453 $objFormParam->setParam($arrShippingTemp[0]); 454 } 455 $objFormParam->setValue('order_email02', $arrOrderTemp['order_email']); 456 $objFormParam->setDBDate($arrOrderTemp['order_birth']); 457 } 458 459 /** 460 * ログインを実行する. 461 * 462 * ログインを実行し, 成功した場合はユーザー情報をセッションに格納し, 463 * true を返す. 464 * モバイル端末の場合は, 携帯端末IDを保存する. 465 * ログインに失敗した場合は, false を返す. 466 * 467 * @param SC_Customer $objCustomer SC_Customer インスタンス 468 * @param string $login_email ログインメールアドレス 469 * @param string $login_pass ログインパスワード 470 * @return boolean ログインに成功した場合 true; 失敗した場合 false 471 */ 472 function doLogin(&$objCustomer, $login_email, $login_pass) { 473 474 switch (SC_Display::detectDevice()) { 475 case DEVICE_TYPE_MOBILLE: 476 if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($login_pass) && 477 !$objCustomer->getCustomerDataFromEmailPass($login_pass, $login_email, true)) { 478 return false; 479 } else { 480 $objCustomer->updateMobilePhoneId(); 481 return true; 482 } 483 break; 484 485 case DEVICE_TYPE_SMARTPHONE: 486 case DEVICE_TYPE_PC: 487 default: 488 if(!$objCustomer->getCustomerDataFromEmailPass($login_pass, $login_email)) { 489 return false; 490 } else { 491 return true; 492 } 493 } 494 } 495 496 /** 497 * ログインした会員の携帯メールアドレス登録があるかどうか 498 * 499 * 端末種別がモバイルの場合, ログインした会員の携帯メールアドレスの存在をチェックする 500 * 501 * @param SC_Customer $objCustomer SC_Customer インスタンス 502 * @return boolean 会員の携帯メールアドレス登録がある場合 true 503 */ 504 function hasEmailMobile(&$objCustomer) { 505 switch (SC_Display::detectDevice()) { 506 case DEVICE_TYPE_MOBILLE: 507 $objMobile = new SC_Helper_Mobile_Ex(); 508 if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) { 509 if (!$objCustomer->hasValue('email_mobile')) { 510 return true; 511 } 512 } 513 break; 514 515 case DEVICE_TYPE_SMARTPHONE: 516 case DEVICE_TYPE_PC: 517 default: 518 } 519 return false; 520 } 521 522 /** 523 * 仮会員かどうかを判定する. 524 * 525 * @param string $login_email メールアドレス 526 * @return boolean 仮会員の場合 true 527 */ 528 function checkTempCustomer($login_email) { 529 $objQuery =& SC_Query::getSingletonInstance(); 530 $where = "email = ? AND status = 1 AND del_flg = 0"; 531 $count = $objQuery->count("dtb_customer", $where, array($login_email)); 532 return $count > 0; 397 533 } 398 534 } -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
r20069 r20091 33 33 */ 34 34 class LC_Page_Shopping_Deliv extends LC_Page { 35 36 // {{{ properties37 38 /** フォームパラメータの配列 */39 var $objFormParam;40 41 /** ログインフォームパラメータ配列 */42 var $objLoginFormParam;43 35 44 36 // }}} … … 79 71 $objPurchase = new SC_Helper_Purchase_Ex(); 80 72 $objQuery = SC_Query::getSingletonInstance();; 81 // クッキー管理クラス82 73 $objCookie = new SC_Cookie(COOKIE_EXPIRE); 83 // パラメータ管理クラス 84 $this->objFormParam = new SC_FormParam(); 85 // パラメータ情報の初期化 86 $this->lfInitParam(); 87 // POST値の取得 88 $this->objFormParam->setParam($_POST); 89 90 $this->objLoginFormParam = new SC_FormParam(); // ログインフォーム用 91 $this->lfInitLoginFormParam(); 92 //パスワード・Eメールにある空白をトリム 93 $this->lfConvertEmail($_POST["login_email"]); 94 $this->lfConvertLoginPass($_POST["login_pass"]); 95 $this->objLoginFormParam->setParam($_POST); // POST値の取得 96 97 // ユーザユニークIDの取得と購入状態の正当性をチェック 98 $uniqid = $objSiteSess->getUniqId(); 99 $objPurchase->verifyChangeCart($uniqid, $objCartSess); 100 101 $this->tpl_uniqid = $uniqid; 74 $this->tpl_uniqid = $objSiteSess->getUniqId(); 75 $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess); 102 76 103 77 $this->cartKey = $objCartSess->getKey(); 104 78 105 // ログインチェック TODO 要リファクタリング(MODE if利用) 106 if($this->getMode() != 'login' && !$objCustomer->isLoginSuccess(true)) { 107 // 不正アクセスとみなす 79 // ログインチェック 80 if(!$objCustomer->isLoginSuccess(true)) { 108 81 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 109 82 } 110 83 84 if($this->cartKey == PRODUCT_TYPE_DOWNLOAD){ 85 // 会員情報の住所を受注一時テーブルに書き込む 86 $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping'); 87 $objPurchase->saveShippingTemp($sqlval); 88 $objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer); 89 // 正常に登録されたことを記録しておく 90 $objSiteSess->setRegistFlag(); 91 // ダウンロード商品有りの場合は、支払方法画面に転送 92 SC_Response_Ex::sendRedirect('payment.php'); 93 exit; 94 } 95 111 96 switch($this->getMode()) { 112 case 'login':113 $this->objLoginFormParam->toLower('login_email');114 $this->arrErr = $this->objLoginFormParam->checkError();115 $arrForm = $this->objLoginFormParam->getHashArray();116 // クッキー保存判定117 if($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") {118 $objCookie->setCookie('login_email', $_POST['login_email']);119 } else {120 $objCookie->setCookie('login_email', '');121 }122 123 if(count($this->arrErr) > 0) {124 SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);125 }126 // ログイン判定127 $loginFailFlag = false;128 if(Net_UserAgent_Mobile::isMobile() === true) {129 // モバイルサイト130 if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['login_pass']) &&131 !$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true)) {132 $loginFailFlag = true;133 }134 } else {135 // モバイルサイト以外136 if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) {137 $loginFailFlag = true;138 }139 }140 if($loginFailFlag === true) {141 // 仮登録の判定142 $where = "email = ? AND status = 1 AND del_flg = 0";143 $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email']));144 145 if($ret > 0) {146 SC_Utils_Ex::sfDispSiteError(TEMP_LOGIN_ERROR);147 } else {148 SC_Utils_Ex::sfDispSiteError(SITE_LOGIN_ERROR);149 }150 }151 152 if(Net_UserAgent_Mobile::isMobile() === true) {153 // ログインが成功した場合は携帯端末IDを保存する。154 $objCustomer->updateMobilePhoneId();155 156 /*157 * 携帯メールアドレスが登録されていない場合は,158 * 携帯メールアドレス登録画面へ遷移159 */160 $objMobile = new SC_Helper_Mobile_Ex();161 if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {162 if (!$objCustomer->hasValue('email_mobile')) {163 SC_Response_Ex::sendRedirect('../entry/email_mobile.php');164 exit;165 }166 }167 }168 169 //ダウンロード商品判定170 if($this->cartKey == PRODUCT_TYPE_DOWNLOAD){171 // 会員情報の住所を受注一時テーブルに書き込む172 $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');173 // FIXME ダウンロード商品の場合は配送無し174 $arrDeliv = $objPurchase->getDeliv($this->cartKey);175 $sqlval['deliv_id'] = $arrDeliv[0]['deliv_id'];176 $objPurchase->saveShippingTemp($sqlval);177 $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer);178 // 正常に登録されたことを記録しておく179 $objSiteSess->setRegistFlag();180 // ダウンロード商品有りの場合は、支払方法画面に転送181 SC_Response_Ex::sendRedirect('payment.php');182 exit;183 }184 break;185 97 // 削除 186 98 case 'delete': … … 188 100 $where = "other_deliv_id = ?"; 189 101 $arrRet = $objQuery->delete("dtb_other_deliv", $where, array($_POST['other_deliv_id'])); 190 $this->objFormParam->setValue('select_addr_id', '');191 102 } 192 103 break; … … 201 112 $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping'); 202 113 $objPurchase->saveShippingTemp($sqlval); 203 $objPurchase->saveOrderTemp($ uniqid, $sqlval, $objCustomer);114 $objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer); 204 115 205 116 // 正常に登録されたことを記録しておく … … 219 130 $objPurchase->copyFromOrder($sqlval, $otherDeliv, 'shipping', '');; 220 131 $objPurchase->saveShippingTemp($sqlval); 221 $objPurchase->saveOrderTemp($ uniqid, $sqlval, $objCustomer);132 $objPurchase->saveOrderTemp($this->tpl_uniqid, $sqlval, $objCustomer); 222 133 223 134 // 正常に登録されたことを記録しておく … … 246 157 default: 247 158 $objPurchase->unsetShippingTemp(); 248 $arrOrderTemp = $objPurchase->getOrderTemp($uniqid); 249 if (empty($arrOrderTemp)) $arrOrderTemp = array(""); 250 $this->objFormParam->setParam($arrOrderTemp); 159 251 160 break; 252 161 } … … 256 165 // 入力値の取得 257 166 if (!isset($arrErr)) $arrErr = array(); 258 $this->arrForm = $this->objFormParam->getFormParamList();259 167 $this->arrErr = $arrErr; 260 168 } … … 268 176 parent::destroy(); 269 177 } 270 271 /* パラメータ情報の初期化 */272 function lfInitParam() {273 $this->objFormParam->addParam("お名前1", "deliv_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));274 $this->objFormParam->addParam("お名前2", "deliv_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));275 $this->objFormParam->addParam("お名前(フリガナ・姓)", "deliv_kana01", STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));276 $this->objFormParam->addParam("お名前(フリガナ・名)", "deliv_kana02", STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));277 $this->objFormParam->addParam("郵便番号1", "deliv_zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));278 $this->objFormParam->addParam("郵便番号2", "deliv_zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));279 $this->objFormParam->addParam("都道府県", "deliv_pref", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));280 $this->objFormParam->addParam("住所1", "deliv_addr01", MTEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));281 $this->objFormParam->addParam("住所2", "deliv_addr02", MTEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));282 $this->objFormParam->addParam("電話番号1", "deliv_tel01", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));283 $this->objFormParam->addParam("電話番号2", "deliv_tel02", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));284 $this->objFormParam->addParam("電話番号3", "deliv_tel03", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));285 $this->objFormParam->addParam("", "deliv_check");286 }287 288 function lfInitLoginFormParam() {289 $this->objLoginFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));290 $this->objLoginFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));291 $this->objLoginFormParam->addParam("パスワード", "login_pass", PASSWORD_LEN1, "", array("EXIST_CHECK"));292 $this->objLoginFormParam->addParam("パスワード", "login_pass1", PASSWORD_LEN1, "", array("EXIST_CHECK", "MIN_LENGTH_CHECK"));293 $this->objLoginFormParam->addParam("パスワード", "login_pass2", PASSWORD_LEN2, "", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));294 }295 296 /* DBへデータの登録 */297 function lfRegistNewAddrData($uniqid, $objCustomer) {298 $sqlval = $this->objFormParam->getDbArray();299 // 登録データの作成300 $sqlval['deliv_check'] = '1';301 $sqlval['order_temp_id'] = $uniqid;302 $sqlval['update_date'] = 'Now()';303 $sqlval['customer_id'] = $objCustomer->getValue('customer_id');304 $sqlval['order_birth'] = $objCustomer->getValue('birth');305 306 $objDb = new SC_Helper_DB_Ex();307 $objDb->sfRegistTempOrder($uniqid, $sqlval);308 }309 310 /* 入力内容のチェック */311 function lfCheckError() {312 // 入力データを渡す。313 $arrRet = $this->objFormParam->getHashArray();314 $objErr = new SC_CheckError($arrRet);315 $objErr->arrErr = $this->objFormParam->checkError();316 // 複数項目チェック TODO 要リファクタリング(MODE if利用)317 if ($this->getMode() == 'login'){318 $objErr->doFunc(array("メールアドレス", "login_email", STEXT_LEN), array("EXIST_CHECK"));319 $objErr->doFunc(array("パスワード", "login_pass", STEXT_LEN), array("EXIST_CHECK"));320 }321 $objErr->doFunc(array("TEL", "deliv_tel01", "deliv_tel02", "deliv_tel03"), array("TEL_CHECK"));322 return $objErr->arrErr;323 }324 325 /**326 * 入力されたEmailから余分な改行・空白を削除する327 *328 * @param string $_POST["login_email"]329 */330 function lfConvertEmail(){331 if( strlen($_POST["login_email"]) < 1 ){ return ; }332 $_POST["login_email"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["login_email"]);333 }334 335 /**336 * 入力されたPassから余分な空白を削除し、最小桁数・最大桁数チェック用に変数に入れる337 *338 * @param string $_POST["login_pass"]339 */340 function lfConvertLoginPass(){341 if( strlen($_POST["login_pass"]) < 1 ){ return ; }342 $_POST["login_pass"] = trim($_POST["login_pass"]); //認証用343 $_POST["login_pass1"] = $_POST["login_pass"]; //最小桁数比較用344 $_POST["login_pass2"] = $_POST["login_pass"]; //最大桁数比較用345 }346 178 } 347 179 ?>
Note: See TracChangeset
for help on using the changeset viewer.