- Timestamp:
- 2011/01/12 18:58:45 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
r19868 r19894 30 30 * @package Page 31 31 * @author LOCKON CO.,LTD. 32 * @version $Id :LC_Page_Shopping_Payment.php 15532 2009-10-30 20:04:46Z satou$32 * @version $Id$ 33 33 */ 34 34 class LC_Page_Shopping_Payment extends LC_Page { … … 77 77 $objSiteSess = new SC_SiteSession(); 78 78 $objCartSess = new SC_CartSession(); 79 $objDb = new SC_Helper_DB_Ex();80 79 $objPurchase = new SC_Helper_Purchase_Ex(); 81 80 $this->objCustomer = new SC_Customer(); … … 140 139 if (!isset($_POST['mode'])) $_POST['mode'] = ""; 141 140 141 // 戻るボタンの処理(モバイル) 142 if (Net_UserAgent_Mobile::isMobile() === true) { 143 if (!empty($_POST['return'])) { 144 switch ($_POST['mode']) { 145 case 'confirm': 146 $_POST['mode'] = 'payment'; 147 break; 148 default: 149 // 正常な推移であることを記録しておく 150 $objSiteSess->setRegistFlag(); 151 if ($this->cartdown == 2) { 152 // ダウンロード商品のみの場合はカート画面へ戻る 153 $this->objDisplay->redirect($this->getLocation(CART_URL_PATH)); 154 } else { 155 $this->objDisplay->redirect(SHOPPING_URL); 156 } 157 exit; 158 } 159 } 160 } 161 142 162 switch($_POST['mode']) { 163 // お届け日時指定(モバイル) 164 case 'deliv_date': 165 // 入力値の変換 166 $this->objFormParam->convParam(); 167 $this->arrErr = $this->lfCheckError($this->arrData, $this->arrPayment); 168 if (!isset($this->arrErr['payment_id'])) { 169 // 支払い方法の入力エラーなし 170 $this->tpl_mainpage = 'shopping/deliv_date.tpl'; 171 $this->tpl_title = "お届け日時指定"; 172 break; 173 } else { 174 // ユーザユニークIDの取得 175 $uniqid = $objSiteSess->getUniqId(); 176 // 受注一時テーブルからの情報を格納 177 $this->lfSetOrderTempData($uniqid); 178 } 179 break; 143 180 case 'confirm': 144 181 // 入力値の変換 … … 161 198 // 受注一時テーブルからの情報を格納 162 199 $this->lfSetOrderTempData($uniqid); 200 if (Net_UserAgent_Mobile::isMobile() === true && !isset($this->arrErr['payment_id'])) { 201 // 支払い方法の入力エラーなし 202 $this->tpl_mainpage = 'shopping/deliv_date.tpl'; 203 $this->tpl_title = "お届け日時指定"; 204 } 163 205 } 164 206 break; … … 184 226 $this->img_show = $this->lfGetImgShow($this->arrPayment); 185 227 // FIXME お届け日一覧の取得 186 $this->arrDelivDate = $this->lfGetDelivDate();187 188 $this->arrForm = $this->objFormParam->getFormParamList();189 }190 191 /**192 * モバイルページを初期化する.193 *194 * @return void195 */196 function mobileInit() {197 $this->init();198 }199 200 /**201 * Page のプロセス(モバイル).202 *203 * @return void204 */205 function mobileProcess() {206 parent::mobileProcess();207 $this->mobileAction();208 $this->sendResponse();209 }210 211 /**212 * Page のプロセス(モバイル).213 *214 * @return void215 */216 function mobileAction() {217 $objSiteSess = new SC_SiteSession();218 $objCartSess = new SC_CartSession();219 $this->objCustomer = new SC_Customer();220 $objDb = new SC_Helper_DB_Ex();221 222 // パラメータ管理クラス223 $this->objFormParam = new SC_FormParam();224 // パラメータ情報の初期化225 $this->lfInitParam();226 // POST値の取得227 $this->objFormParam->setParam($_POST);228 229 // ユーザユニークIDの取得と購入状態の正当性をチェック230 $uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);231 // ユニークIDを引き継ぐ232 $this->tpl_uniqid = $uniqid;233 234 //ダウンロード商品判定235 $this->cartdown = $objDb->chkCartDown($objCartSess);236 237 // 会員ログインチェック238 if($this->objCustomer->isLoginSuccess(true)) {239 $this->tpl_login = '1';240 $this->tpl_user_point = $this->objCustomer->getValue('point');241 }242 243 // 一時受注テーブルの読込244 $arrOrderTemp = $objDb->sfGetOrderTemp($uniqid);245 //不正遷移チェック(正常に受注情報が格納されていない場合は一旦カート画面まで戻す)246 if (!$arrOrderTemp) {247 $this->objDisplay->redirect($this->getLocation(MOBILE_CART_URL_PATH));248 exit;249 }250 251 // 金額の取得 (購入途中で売り切れた場合にはこの関数内にてその商品の数量が0になる)252 $objDb->sfTotalCart($this, $objCartSess);253 if (strlen($this->tpl_message) >= 1) {254 SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true);255 }256 257 $this->arrData = $objDb->sfTotalConfirm(array(), $this, $objCartSess);258 259 if (!isset($_POST['mode'])) $_POST['mode'] = "";260 261 // 戻るボタンの処理262 if (!empty($_POST['return'])) {263 switch ($_POST['mode']) {264 case 'confirm':265 $_POST['mode'] = 'payment';266 break;267 default:268 // 正常な推移であることを記録しておく269 $objSiteSess->setRegistFlag();270 if ($this->cartdown == 2) {271 // ダウンロード商品のみの場合はカート画面へ戻る272 $this->objDisplay->redirect($this->getLocation(MOBILE_CART_URL_PATH));273 } else {274 $this->objDisplay->redirect(MOBILE_SHOPPING_URL);275 }276 exit;277 }278 }279 280 // ダウンロード商品のみで、モードがお届け日時指定の場合はモードを変更281 if ($this->cartdown == 2 && $_POST['mode'] == 'deliv_date') {282 $_POST['mode'] = 'confirm';283 }284 285 switch($_POST['mode']) {286 // 支払い方法指定 → お届け日時指定287 case 'deliv_date':288 // 入力値の変換289 $this->objFormParam->convParam();290 $this->arrErr = $this->lfCheckError($this->arrData);291 if (!isset($this->arrErr['payment_id'])) {292 // 支払い方法の入力エラーなし293 $this->tpl_mainpage = 'shopping/deliv_date.tpl';294 $this->tpl_title = "お届け日時指定";295 break;296 } else {297 // ユーザユニークIDの取得298 $uniqid = $objSiteSess->getUniqId();299 // 受注一時テーブルからの情報を格納300 $this->lfSetOrderTempData($uniqid);301 }302 break;303 case 'confirm':304 // 入力値の変換305 $this->objFormParam->convParam();306 $this->arrErr = $this->lfCheckError($this->arrData);307 // 入力エラーなし308 if(count($this->arrErr) == 0) {309 // DBへのデータ登録310 $this->lfRegistData($uniqid);311 // 正常に登録されたことを記録しておく312 $objSiteSess->setRegistFlag();313 // 確認ページへ移動314 $this->objDisplay->redirect($this->getLocation(MOBILE_SHOPPING_CONFIRM_URL_PATH));315 exit;316 }else{317 // ユーザユニークIDの取得318 $uniqid = $objSiteSess->getUniqId();319 // 受注一時テーブルからの情報を格納320 $this->lfSetOrderTempData($uniqid);321 if (!isset($this->arrErr['payment_id'])) {322 // 支払い方法の入力エラーなし323 $this->tpl_mainpage = 'shopping/deliv_date.tpl';324 $this->tpl_title = "お届け日時指定";325 }326 }327 break;328 // 前のページに戻る329 case 'return':330 // 非会員の場合331 // 正常な推移であることを記録しておく332 $objSiteSess->setRegistFlag();333 $this->objDisplay->redirect(MOBILE_SHOPPING_URL);334 exit;335 break;336 // 支払い方法が変更された場合337 case 'payment':338 // ここのbreakは、意味があるので外さないで下さい。339 break;340 default:341 // 受注一時テーブルからの情報を格納342 $this->lfSetOrderTempData($uniqid);343 break;344 }345 346 // 購入金額の取得得347 $total_inctax = $objCartSess->getAllProductsTotal();348 // 支払い方法の取得349 //$this->arrPayment = $this->lfGetPayment($total_inctax);350 // お届け時間の取得351 $arrRet = $objDb->sfGetDelivTime($this->objFormParam->getValue('payment_id'));352 $this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');353 354 // お届け日一覧の取得355 228 $this->arrDelivDate = $this->lfGetDelivDate(); 356 229
Note: See TracChangeset
for help on using the changeset viewer.