/** * ログイン済みの場合の遷移先を取得する. * * 商品種別IDが, ダウンロード商品の場合は, 会員情報を受注一時情報に保存し, * 支払方法選択画面のパスを返す. * それ以外は, お届け先選択画面のパスを返す. * * @param integer $product_type_id 商品種別ID * @param string $uniqid 受注一時テーブルのユニークID * @param Customer $objCustomer Customer インスタンス * @param PurchaseHelper $objPurchase PurchaseHelper インスタンス * @param SiteSession $objSiteSess SiteSession インスタンス * @return string 遷移先のパス */ public function getNextLocation($product_type_id, $uniqid, Customer &$objCustomer, &$objPurchase, SiteSession &$objSiteSess, &$objCartSess) { $objPurchase->setDefaultPurchase($uniqid, $product_type_id, $objCustomer, $objCartSess); switch ($product_type_id) { case PRODUCT_TYPE_DOWNLOAD: $objPurchase->unsetAllShippingTemp(true); $objPurchase->saveOrderTemp($uniqid, array(), $objCustomer); break; case PRODUCT_TYPE_NORMAL: default: break; } $objSiteSess->setRegistFlag(); return 'confirm.php'; }
/** * カートを購入モードに設定 * * @param SiteSession $objSiteSess * @param CartSession $objCartSess * @return void */ public function lfSetCurrentCart(&$objSiteSess, &$objCartSess, $cartKey) { // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); $pre_uniqid = $objSiteSess->getUniqId(); // 注文一時IDの発行 $objSiteSess->setUniqId(); $uniqid = $objSiteSess->getUniqId(); // エラーリトライなどで既にuniqidが存在する場合は、設定を引き継ぐ if ($pre_uniqid != '') { $this->lfUpdateOrderTempid($pre_uniqid, $uniqid); } // カートを購入モードに設定 $objCartSess->registerKey($cartKey); $objCartSess->saveCurrentCart($uniqid, $cartKey); }