/** * Page のアクション. * * @return void */ function action() { parent::action(); $objQuery = SC_Query_Ex::getSingletonInstance(); if (is_array($this->arrHidden['search_customer_type'])) { $cnt = array_sum($this->arrHidden['search_customer_type']); // tpl表示切換用 $this->search_customer_type = $cnt; } elseif (is_array($this->arrForm['search_customer_type']['value'])) { $cnt = array_sum($this->arrForm['search_customer_type']['value']); // tpl表示切換用 $this->search_customer_type = $cnt; } else { $this->search_customer_type = 1; } if (is_array($this->arrData)) { foreach ($this->arrData as &$customer) { $customer_id = $customer["customer_id"]; if ($this->objDb->sfColumnExists("cp_dtb_customer_docomo_mymenu", "customer_id")) { $customer = array_merge(SC_Helper_Customer_Ex::sfGetCustomerData($customer_id), $customer); $customer["mymenu"] = call_user_func("CarrierPay::getCustomerMymenu", array($customer_id)); } if ($this->objDb->sfColumnExists("cp_dtb_point_history", "id")) { $point = $objQuery->getRow(implode(",", array("sum(add_point ) AS add_point", "sum(use_point ) AS use_point", "sum(lost_point) AS lost_point")), "cp_dtb_point_history", "customer_id = ?", array($customer_id)); foreach ($point as $key => $value) { $customer[$key] = $value; } } if ($this->objDb->sfColumnExists("cp_dtb_customer_transaction", "id")) { $customer["transaction"] = $objQuery->select("*", "cp_dtb_customer_transaction", "customer_id = ? AND del_flg = 0 AND continue_account_id IS NOT NULL", array($customer_id)); } } } }
/** * Page のプロセス * @return void */ function action() { $objCustomer = new SC_Customer_Ex(); $customer_id = $objCustomer->getValue('customer_id'); // mobile用(戻るボタンでの遷移かどうかを判定) if (!empty($_POST['return'])) { $_POST['mode'] = 'return'; } // パラメーター管理クラス,パラメーター情報の初期化 $objFormParam = new SC_FormParam_Ex(); SC_Helper_Customer_Ex::sfCustomerMypageParam($objFormParam); $objFormParam->setParam($_POST); // POST値の取得 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>'; } } $this->arrForm = $objFormParam->getHashArray(); break; } $this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam); $this->arrForm = $objFormParam->getHashArray(); // 入力エラーなし if (empty($this->arrErr)) { //パスワード表示 $this->passlen = SC_Utils_Ex::sfPassLen(strlen($this->arrForm['password'])); $this->tpl_mainpage = 'mypage/change_confirm.tpl'; $this->tpl_title = '会員登録(確認ページ)'; $this->tpl_subtitle = '会員登録内容変更(確認ページ)'; } break; // 会員登録と完了画面 // 会員登録と完了画面 case 'complete': $this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam); $this->arrForm = $objFormParam->getHashArray(); // 入力エラーなし if (empty($this->arrErr)) { // 会員情報の登録 $this->lfRegistCustomerData($objFormParam, $customer_id); //セッション情報を最新の状態に更新する $objCustomer->updateSession(); // 完了ページに移動させる。 SC_Response_Ex::sendRedirect('change_complete.php'); } break; // 確認ページからの戻り // 確認ページからの戻り case 'return': $this->arrForm = $objFormParam->getHashArray(); break; default: $this->arrForm = SC_Helper_Customer_Ex::sfGetCustomerData($customer_id); break; } }
/** * 登録処理 * * @param array $objFormParam フォームパラメータークラス * @return array エラー配列 */ public function lfRegistData(&$objFormParam) { // 登録用データ取得 $arrData = $objFormParam->getDbArray(); // 足りないものを作る if (!SC_Utils_Ex::isBlank($objFormParam->getValue('year'))) { $arrData['birth'] = $objFormParam->getValue('year') . '/' . $objFormParam->getValue('month') . '/' . $objFormParam->getValue('day') . ' 00:00:00'; } if (!is_numeric($arrData['customer_id'])) { $arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId('r'); } else { $arrOldCustomerData = SC_Helper_Customer_Ex::sfGetCustomerData($arrData['customer_id']); if ($arrOldCustomerData['status'] != $arrData['status']) { $arrData['secret_key'] = SC_Utils_Ex::sfGetUniqRandomId('r'); } } return SC_Helper_Customer_Ex::sfEditCustomerData($arrData, $arrData['customer_id']); }
/** * Page のアクション. * * @return void */ public function action() { $objQuery = SC_Query_Ex::getSingletonInstance(); parent::action(); switch ($this->getMode()) { case "operate_cancel_cont_bill": $objFormParam = new SC_FormParam_Ex(); $objFormSearchParam = new SC_FormParam_Ex(); // パラメーター処理 $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $objFormParam->convParam(); // 入力パラメーターチェック $this->arrErr = $this->lfCheckError($objFormParam); $this->arrForm = $objFormParam->getHashArray(); // 検索引き継ぎ用パラメーター処理 $this->lfInitSearchParam($objFormSearchParam); $objFormSearchParam->setParam($objFormParam->getValue('search_data')); $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam); $this->arrSearchData = $objFormSearchParam->getSearchArray(); break; } GC_Utils_Ex::gfDebugLog($this->arrErr); $objDb = new SC_Helper_DB_Ex(); $this->customer_id = $this->arrForm['customer_id']; $this->customer = SC_Helper_Customer_Ex::sfGetCustomerData($this->customer_id); // モードによる処理切り替え switch ($this->getMode()) { case 'confirm': // 購入履歴情報の取得 (ポイント付与でエラーチェックに通らない時用) list($this->tpl_linemax, $this->arrPurchaseHistory, $this->objNavi) = $this->lfPurchaseHistory($this->customer_id); break; case "operate_cancel_cont_bill": list($this->tpl_linemax, $this->arrPurchaseHistory, $this->objNavi) = $this->lfPurchaseHistory($this->customer_id); $curl = $this->curl_init(true, false); $transactionId = $_REQUEST["au_payment_transaction_id"]; $config = SC_AuonePayment_Ex::getConfig(); if (strlen($transactionId) == 32) { $post = $this->getPost("OperateCancelContBill", $config, compact("transactionId")); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); $result = $this->curl_result($curl); $result["post_history"] = $post; $this->arrErr["au_payment_transaction_id"] = $this->check_result($result, array()); $this->arrErr = array_filter($this->arrErr); if (!isset($this->arrErr["au_payment_transaction_id"])) { $curl = $this->curl_init(true); // FIXME 状態確認 $post = $this->getPost("ConditionInquiryForPayTranStat", $config, compact("transactionId")); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); $result = $this->curl_result($curl); $arrWhereVal = array("del_flg" => 1, "transaction_status" => $result["body"]["transactionStatus"], "pay_status" => $result["body"]["payStatus"]); $arrWhereVal = array_filter($arrWhereVal, "strlen"); $objQuery->update("cp_dtb_customer_transaction", $arrWhereVal, "transaction_id = ? AND del_flg = 0", array($transactionId)); } } else { $this->arrErr["au_payment_transaction_id"] = "不正な処理"; } break; } if ($objDb->sfColumnExists("cp_dtb_customer_transaction", "id")) { $objQuery->setOrder("id DESC"); $this->customer["transaction"] = $objQuery->select("*", "cp_dtb_customer_transaction", "\n customer_id = ?\n AND continue_account_id IS NOT NULL\n AND transaction_status = '40'\n ", array($this->customer_id)); $this->customer["transaction2"] = $objQuery->select("*", "cp_dtb_customer_transaction", "\n customer_id = ?\n AND continue_account_id IS NULL\n AND transaction_status = '40'\n ", array($this->customer_id)); $objQuery->setOrder(""); if (count($this->customer["transaction"]) == 0 && $this->customer["status"] == "2") { SC_Helper_Customer_Ex::sfEditCustomerData(array("status" => 1), $this->customer_id); $this->arrForm["status"]["value"] = 1; } } foreach ($this->arrErr as $msg) { $this->tpl_onload .= ";console.log('{$msg}');"; } }
/** * Page のプロセス * @return void */ function action() { $objCustomer = new SC_Customer_Ex(); $customer_id = $objCustomer->getValue('customer_id'); // mobile用(戻るボタンでの遷移かどうかを判定) if (!empty($_POST['return'])) { $_POST['mode'] = 'return'; } // パラメーター管理クラス,パラメーター情報の初期化 $objFormParam = new SC_FormParam_Ex(); SC_Helper_Customer_Ex::sfCustomerMypageParam($objFormParam); $objFormParam->setParam($_POST); // POST値の取得 $this->arrForm = $objFormParam->getHashArray(); switch ($this->getMode()) { case 'confirm': //-- 確認 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam); // 入力エラーなし if (empty($this->arrErr)) { //パスワード表示 $this->passlen = SC_Utils_Ex::sfPassLen(strlen($this->arrForm['password'])); $this->tpl_mainpage = 'mypage/change_confirm.tpl'; $this->tpl_title = '会員登録(確認ページ)'; } break; case 'complete': //-- 会員登録と完了画面 // 会員情報の登録 $this->lfRegistCustomerData($objFormParam, $customer_id); // 完了ページに移動させる。 SC_Response_Ex::sendRedirect('change_complete.php'); break; case 'return': break; default: $this->arrForm = SC_Helper_Customer_Ex::sfGetCustomerData($customer_id); break; } }