/**
  * 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;
     }
 }