source: branches/feature-module-update/html/shopping/confirm.php @ 15080

Revision 15080, 4.3 KB checked in by nanasess, 15 years ago (diff)

svn properties 設定

  • svn:mime-type - application/x-httpd-php; charset=UTF-8
  • svn:keywords - Id
  • Property svn:keywords set to Id
  • Property svn:mime-type set to application/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8require_once("../require.php");
9
10class LC_Page {
11    var $arrSession;
12    var $tpl_mode;
13    var $tpl_total_deliv_fee;
14    function LC_Page() {
15        $this->tpl_mainpage = 'shopping/confirm.tpl';
16        $this->tpl_css = URL_DIR.'css/layout/shopping/confirm.css';
17        $this->tpl_title = "ご入力内容のご確認";
18        global $arrPref;
19        $this->arrPref = $arrPref;
20        global $arrSex;
21        $this->arrSex = $arrSex;
22        global $arrMAILMAGATYPE;
23        $this->arrMAILMAGATYPE = $arrMAILMAGATYPE;
24        global $arrReminder;
25        $this->arrReminder = $arrReminder;
26        /*
27         session_start時のno-cacheヘッダーを抑制することで
28         「戻る」ボタン使用時の有効期限切れ表示を抑制する。
29         private-no-expire:クライアントのキャッシュを許可する。
30        */
31        session_cache_limiter('private-no-expire');     
32
33    }
34}
35
36$objPage = new LC_Page();
37$objView = new SC_SiteView();
38$objCartSess = new SC_CartSession();
39$objSiteInfo = $objView->objSiteInfo;
40$objSiteSess = new SC_SiteSession();
41$objCampaignSess = new SC_CampaignSession();
42$objCustomer = new SC_Customer();
43$arrInfo = $objSiteInfo->data;
44$objQuery = new SC_Query();
45
46// 前のページで正しく登録手続きが行われた記録があるか判定
47sfIsPrePage($objSiteSess);
48
49// ユーザユニークIDの取得と購入状態の正当性をチェック
50$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess);
51$objPage->tpl_uniqid = $uniqid;
52
53// カート集計処理
54$objPage = sfTotalCart($objPage, $objCartSess, $arrInfo);
55// 一時受注テーブルの読込
56$arrData = sfGetOrderTemp($uniqid);
57// カート集計を元に最終計算
58$arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo, $objCustomer, $objCampaignSess);
59// キャンペーンからの遷移で送料が無料だった場合の処理
60if($objCampaignSess->getIsCampaign()) {
61    $deliv_free_flg = $objQuery->get("dtb_campaign", "deliv_free_flg", "campaign_id = ?", array($objCampaignSess->getCampaignId()));
62    // 送料無料が設定されていた場合
63    if($deliv_free_flg) {
64        $arrData['payment_total'] -= $arrData['deliv_fee'];
65        $arrData['deliv_fee'] = 0;
66    }
67}
68
69
70// カート内の商品の売り切れチェック
71$objCartSess->chkSoldOut($objCartSess->getCartList());
72
73// 会員ログインチェック
74if($objCustomer->isLoginSuccess()) {
75    $objPage->tpl_login = '1';
76    $objPage->tpl_user_point = $objCustomer->getValue('point');
77}
78
79// 決済区分を取得する
80$payment_type = "";
81if(sfColumnExists("dtb_payment", "memo01")){
82    // MEMO03に値が入っている場合には、モジュール追加されたものとみなす
83    $sql = "SELECT memo03 FROM dtb_payment WHERE payment_id = ?";
84    $arrPayment = $objQuery->getall($sql, array($arrData['payment_id']));
85    $payment_type = $arrPayment[0]["memo03"];
86}
87$objPage->payment_type = $payment_type;
88
89
90switch($_POST['mode']) {
91// 前のページに戻る
92case 'return':
93    // 正常な推移であることを記録しておく
94    $objSiteSess->setRegistFlag();
95    header("Location: " . URL_SHOP_PAYMENT);
96    exit;
97    break;
98case 'confirm':
99    // この時点でオーダーIDを確保しておく(クレジット、コンビニ決済で必要なため)
100    // postgresqlとmysqlとで処理を分ける
101    if (DB_TYPE == "pgsql") {
102        $order_id = $objQuery->nextval("dtb_order","order_id");
103    }elseif (DB_TYPE == "mysql") {
104        $order_id = $objQuery->get_auto_increment("dtb_order");
105    }
106    $arrData["order_id"] = $order_id;
107   
108    // セッション情報を保持
109    $arrData['session'] = serialize($_SESSION);
110   
111    // 集計結果を受注一時テーブルに反映
112    sfRegistTempOrder($uniqid, $arrData);
113    // 正常に登録されたことを記録しておく
114    $objSiteSess->setRegistFlag();
115   
116    // 決済方法により画面切替
117    if($payment_type != "") {
118        $_SESSION["payment_id"] = $arrData['payment_id'];
119        header("Location: " . URL_SHOP_MODULE);
120    }else{
121        header("Location: " . URL_SHOP_COMPLETE);
122    }
123    break;
124default:
125    break;
126}
127
128$objPage->arrData = $arrData;
129$objPage->arrInfo = $arrInfo;
130$objView->assignobj($objPage);
131// フレームを選択(キャンペーンページから遷移なら変更)
132$objCampaignSess->pageView($objView);
133//--------------------------------------------------------------------------------------------------------------------------
134?>
Note: See TracBrowser for help on using the repository browser.