Ignore:
Timestamp:
2007/08/06 22:04:26 (15 years ago)
Author:
nanasess
Message:

LC_Page のクラス化対応
決済モジュールは, プラグインとして実装予定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/shopping/confirm.php

    r15080 r15223  
    66 */ 
    77 
     8// {{{ requires 
    89require_once("../require.php"); 
     10require_once(CLASS_PATH . "page_extends/shopping/LC_Page_Shopping_Confirm_Ex.php"); 
    911 
    10 class 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');      
     12// }}} 
     13// {{{ generate page 
    3214 
    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 // 前のページで正しく登録手続きが行われた記録があるか判定 
    47 sfIsPrePage($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 // キャンペーンからの遷移で送料が無料だった場合の処理 
    60 if($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 // 会員ログインチェック 
    74 if($objCustomer->isLoginSuccess()) { 
    75     $objPage->tpl_login = '1'; 
    76     $objPage->tpl_user_point = $objCustomer->getValue('point'); 
    77 } 
    78  
    79 // 決済区分を取得する 
    80 $payment_type = ""; 
    81 if(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  
    90 switch($_POST['mode']) { 
    91 // 前のページに戻る 
    92 case 'return': 
    93     // 正常な推移であることを記録しておく 
    94     $objSiteSess->setRegistFlag(); 
    95     header("Location: " . URL_SHOP_PAYMENT); 
    96     exit; 
    97     break; 
    98 case '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; 
    124 default: 
    125     break; 
    126 } 
    127  
    128 $objPage->arrData = $arrData; 
    129 $objPage->arrInfo = $arrInfo; 
    130 $objView->assignobj($objPage); 
    131 // フレームを選択(キャンペーンページから遷移なら変更) 
    132 $objCampaignSess->pageView($objView); 
    133 //-------------------------------------------------------------------------------------------------------------------------- 
     15$objPage = new LC_Page_Shopping_Confirm_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    13419?> 
Note: See TracChangeset for help on using the changeset viewer.