/** * パラメーター情報の初期化 * * @param array $objFormParam フォームパラメータークラス * @return void */ public function lfInitParam(&$objFormParam) { // 会員項目のパラメーター取得 SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam, true); // 検索結果一覧画面への戻り用パラメーター $objFormParam->addParam('検索用データ', 'search_data', '', '', array(), '', false); // 会員購入履歴ページング用 $objFormParam->addParam('', 'search_pageno', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); }
/** * Page のプロセス * @return void */ function action() { $objFormParam = new SC_FormParam_Ex(); SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam); $objFormParam->setParam($_POST); $arrForm = $objFormParam->getHashArray(); // PC時は規約ページからの遷移でなければエラー画面へ遷移する if ($this->lfCheckReferer($arrForm, $_SERVER['HTTP_REFERER']) === false) { SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); } // mobile用(戻るボタンでの遷移かどうかを判定) if (!empty($arrForm['return'])) { $_POST['mode'] = 'return'; } switch ($this->getMode()) { case 'confirm': if (isset($_POST['submit_address'])) { // 入力エラーチェック $this->arrErr = $this->lfCheckError($_POST); // 入力エラーの場合は終了 if (count($this->arrErr) == 0) { // 郵便番号検索文作成 // $zipcode = $_POST['zip01'] . $_POST['zip02']; $zipcode = $_POST['zipcode']; // 郵便番号検索 $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode); // 郵便番号が発見された場合 if (!empty($arrAdsList)) { $data['pref'] = $arrAdsList[0]['state']; $data['addr01'] = $arrAdsList[0]['city'] . $arrAdsList[0]['town']; $objFormParam->setParam($data); // 該当無し } else { $this->arrErr['zipcode'] = t('c_* The corresponding address was not found.<br />_01'); } } $this->arrForm = $objFormParam->getHashArray(); break; } //-- 確認 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); $this->arrForm = $objFormParam->getHashArray(); // 入力エラーなし if (empty($this->arrErr)) { //パスワード表示 $this->passlen = SC_Utils_Ex::sfPassLen(strlen($this->arrForm['password'])); $this->tpl_mainpage = 'entry/confirm.tpl'; $this->tpl_title = t('c_Member registration_01'); } break; case 'complete': //-- 会員登録と完了画面 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); $this->arrForm = $objFormParam->getHashArray(); if (empty($this->arrErr)) { $uniqid = $this->lfRegistCustomerData($this->lfMakeSqlVal($objFormParam)); $this->lfSendMail($uniqid, $this->arrForm); // 仮会員が無効の場合 if (CUSTOMER_CONFIRM_MAIL == false) { // ログイン状態にする $objCustomer = new SC_Customer_Ex(); $objCustomer->setLogin($this->arrForm['email']); } // 完了ページに移動させる。 SC_Response_Ex::sendRedirect('complete.php', array('ci' => SC_Helper_Customer_Ex::sfGetCustomerId($uniqid))); } break; case 'return': $this->arrForm = $objFormParam->getHashArray(); break; default: break; } }
/** * Page のプロセス * @return void */ public function action() { //決済処理中ステータスのロールバック $objPurchase = new SC_Helper_Purchase_Ex(); $objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG); $objFormParam = new SC_FormParam_Ex(); // PC時は規約ページからの遷移でなければエラー画面へ遷移する if ($this->lfCheckReferer() === false) { SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true); } SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam); $objFormParam->setParam($_POST); // mobile用(戻るボタンでの遷移かどうかを判定) if (!empty($_POST['return'])) { $_REQUEST['mode'] = 'return'; } switch ($this->getMode()) { case 'confirm': if (isset($_POST['submit_address'])) { // 入力エラーチェック $this->arrErr = $this->lfCheckError($_POST); // 入力エラーの場合は終了 if (count($this->arrErr) == 0) { // 郵便番号検索文作成 $zipcode = $_POST['zip01'] . $_POST['zip02']; // 郵便番号検索 $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode); // 郵便番号が発見された場合 if (!empty($arrAdsList)) { $data['pref'] = $arrAdsList[0]['state']; $data['addr01'] = $arrAdsList[0]['city'] . $arrAdsList[0]['town']; $objFormParam->setParam($data); // 該当無し } else { $this->arrErr['zip01'] = '※該当する住所が見つかりませんでした。<br>'; } } break; } //-- 確認 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); // 入力エラーなし if (empty($this->arrErr)) { //パスワード表示 $this->passlen = SC_Utils_Ex::sfPassLen(strlen($objFormParam->getValue('password'))); $this->tpl_mainpage = 'entry/confirm.tpl'; $this->tpl_title = '会員登録(確認ページ)'; } break; case 'complete': //-- 会員登録と完了画面 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); if (empty($this->arrErr)) { $uniqid = $this->lfRegistCustomerData($this->lfMakeSqlVal($objFormParam)); $this->lfSendMail($uniqid, $objFormParam->getHashArray()); // 仮会員が無効の場合 if (CUSTOMER_CONFIRM_MAIL == false) { // ログイン状態にする $objCustomer = new SC_Customer_Ex(); $objCustomer->setLogin($objFormParam->getValue('email')); } // 完了ページに移動させる。 SC_Response_Ex::sendRedirect('complete.php', array('ci' => SC_Helper_Customer_Ex::sfGetCustomerId($uniqid))); } break; case 'return': // quiet. break; default: break; } $this->arrForm = $objFormParam->getFormParamList(); }
/** * パラメーター情報の初期化 * * @param array $objFormParam フォームパラメータークラス * @return void */ function lfInitParam(&$objFormParam) { // 顧客項目のパラメーター取得 SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam, true); // 検索結果一覧画面への戻り用パラメーター $objFormParam->addParam("検索用データ", "search_data", "", "", array(), "", false); // 顧客購入履歴ページング用 $objFormParam->addParam("", "search_pageno", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"), "", false); }