/** * Page のプロセス. * * @return void */ function process() { global $objCampaignSess; $conn = new SC_DBConn(); $objView = new SC_SiteView(); $objSiteSess = new SC_SiteSession(); $objCartSess = new SC_CartSession(); $objCampaignSess = new SC_CampaignSession(); $objCustomer = new SC_Customer(); $objCookie = new SC_Cookie(); $objDb = new SC_Helper_DB_Ex(); $this->objFormParam = new SC_FormParam(); // フォーム用 $this->lfInitParam(); // パラメータ情報の初期化 $this->objFormParam->setParam($_POST); // POST値の取得 // ユーザユニークIDの取得と購入状態の正当性をチェック $uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess); $this->tpl_uniqid = $uniqid; //ダウンロード商品判定 $this->cartdown = $objDb->chkCartDown($objCartSess); // ログインチェック if ($objCustomer->isLoginSuccess()) { if ($this->cartdown == 2) { // 会員情報の住所を受注一時テーブルに書き込む $objDb->sfRegistDelivData($uniqid, $objCustomer); // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); // ダウンロード商品有りの場合は、支払方法画面に転送 $this->sendRedirect($this->getLocation("./payment.php"), array()); exit; } // すでにログインされている場合は、お届け先設定画面に転送 $this->sendRedirect($this->getLocation("./deliv.php"), array()); exit; } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (!$this->isValidToken()) { SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); } } if (!isset($_POST['mode'])) { $_POST['mode'] = ""; } switch ($_POST['mode']) { case 'nonmember_confirm': $this->lfSetNonMember($this); // ※breakなし // ※breakなし case 'confirm': // 入力値の変換 $this->objFormParam->convParam(); $this->objFormParam->toLower('order_mail'); $this->objFormParam->toLower('order_mail_check'); $this->arrErr = $this->lfCheckError(); // 入力エラーなし if (count($this->arrErr) == 0) { // DBへのデータ登録 $this->lfRegistData($uniqid); // お届け先のコピー $this->lfCopyDeliv($uniqid, $_POST); // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); // お支払い方法選択ページへ移動 $this->sendRedirect($this->getLocation(URL_SHOP_PAYMENT)); exit; } break; // 前のページに戻る // 前のページに戻る case 'return': // 確認ページへ移動 $this->sendRedirect($this->getLocation(URL_CART_TOP)); exit; break; case 'nonmember': $this->lfSetNonMember($this); //非会員のダウンロード商品を含んだ買い物はNG if ($this->cartdown != 0) { SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, $objSiteSess, false, "ダウンロード商品を含むお買い物は、会員登録が必要です。<br/>お手数ですが、会員登録をお願いします。"); } // ※breakなし // ※breakなし default: if (isset($_GET['from']) && $_GET['from'] == 'nonmember') { $this->lfSetNonMember($this); } // ユーザユニークIDの取得 $uniqid = $objSiteSess->getUniqId(); $objQuery = new SC_Query(); $where = "order_temp_id = ?"; $arrRet = $objQuery->select("*", "dtb_order_temp", $where, array($uniqid)); if (empty($arrRet)) { $arrRet = array(array('order_email' => "", 'order_birth' => "")); } // DB値の取得 $this->objFormParam->setParam($arrRet[0]); $this->objFormParam->setValue('order_email_check', $arrRet[0]['order_email']); $this->objFormParam->setDBDate($arrRet[0]['order_birth']); break; } // クッキー判定 $this->tpl_login_email = $objCookie->getCookie('login_email'); if ($this->tpl_login_email != "") { $this->tpl_login_memory = "1"; } // 選択用日付の取得 $objDate = new SC_Date(START_BIRTH_YEAR); $this->arrYear = $objDate->getYear('', 1950); // 日付プルダウン設定 $this->arrMonth = $objDate->getMonth(); $this->arrDay = $objDate->getDay(); if ($this->year == '') { $this->year = '----'; } // 入力値の取得 $this->arrForm = $this->objFormParam->getFormParamList(); if (empty($this->arrForm['year']['value'])) { $this->arrForm['year']['value'] = '----'; } $this->transactionid = $this->getToken(); $objView->assignobj($this); // フレームを選択(キャンペーンページから遷移なら変更) $objCampaignSess->pageView($objView); }