Ignore:
Timestamp:
2011/03/03 12:02:18 (13 years ago)
Author:
nanasess
bzr:base-revision:
ohkouchi@loop-az.jp-20110302111225-7nt684mmays9jmmw
bzr:committer:
Kentaro Ohkouchi <ohkouchi@loop-az.jp>
bzr:file-ids:

data/class/pages/shopping/LC_Page_Shopping_Confirm.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Confirm.php
data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php lc_page_shopping_loa-20101025071457-rpmc2g2y1ik9lyow-1
data/class/pages/upgrade/helper/LC_Upgrade_Helper_Json.php 16839@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fupgrade%2Fhelper%2FLC_Upgrade_Helper_Json.php
test/class/page/shopping/LC_Page_Shopping_LoadPaymentModule_Test.php lc_page_shopping_loa-20101025071501-16934ygv2y12gz92-1
bzr:mapping-version:
v4
bzr:merge:

ohkouchi@loop-az.jp-20110303030004-43u2fhzy6y0i15nf
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
ohkouchi@loop-az.jp-20110303030214-5ztlfgyzhqa3cncl
bzr:revno:
3194
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/class/pages/shopping/LC_Page_Shopping_Confirm.php ohkouchi@loop-az.jp-20110303030004-43u2fhzy6y0i15nf
data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php ohkouchi@loop-az.jp-20110303030004-43u2fhzy6y0i15nf
test/class/page/shopping/LC_Page_Shopping_LoadPaymentModule_Test.php ohkouchi@loop-az.jp-20110303030004-43u2fhzy6y0i15nf
bzr:timestamp:
2011-03-03 12:02:14.236999989 +0900
bzr:user-agent:
bzr2.2.1+bzr-svn1.0.4
svn:original-date:
2011-03-03T03:02:14.237000Z
Message:

#842(決済モジュールから load_payment_module へ戻った場合の挙動の改善)

  • 受注フローの変更に伴い, LC_Page_Shopping_LoadPaymentModule.php を修正
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php

    r20448 r20467  
    2828 * 決済モジュールの呼び出しを行うクラス. 
    2929 * 
     30 * 決済フローの妥当性検証は, トランザクションID等を使用して, 決済モジュール側で 
     31 * 行う必要がある. 
     32 * 
    3033 * @package Page 
    3134 * @author Kentaro Ohkouchi 
     
    5255     */ 
    5356    function process() { 
    54         $objSiteSess = new SC_SiteSession_Ex(); 
    55         $objCartSess = new SC_CartSession_Ex(); 
    56         $objPurchase = new SC_Helper_Purchase_Ex(); 
    5757 
    58         if (!$objSiteSess->isPrePage()) { 
    59             SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, $objSiteSess); 
    60         } 
    61  
    62         $uniqid = $objSiteSess->getUniqId(); 
    63         $objPurchase->verifyChangeCart($uniqid, $objCartSess); 
    64  
    65         $payment_id = $this->getPaymentId(); 
    66         if ($payment_id === false) { 
     58        $order_id = $this->getOrderId(); 
     59        if ($order_id === false) { 
    6760            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 
    6861            return; 
    6962        } 
    7063 
    71         $module_path = $this->getModulePath($payment_id); 
     64        $module_path = $this->getModulePath($order_id); 
    7265        if ($module_path === false) { 
    7366            SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, "", true, 
     
    7669        } 
    7770        require_once($module_path); 
    78     } 
    79  
    80     /** 
    81      * モバイルページを初期化する. 
    82      * 
    83      * @return void 
    84      */ 
    85     function mobileInit() { 
    86         $this->init(); 
    87     } 
    88  
    89     /** 
    90      * Page のプロセス(モバイル). 
    91      * 
    92      * @return void 
    93      */ 
    94     function mobileProcess() { 
    95         $this->process(); 
    9671    } 
    9772 
     
    10681 
    10782    /** 
    108      * 支払い方法IDをキーにして, 決済モジュールのパスを取得する. 
     83     * 受注IDをキーにして, 決済モジュールのパスを取得する. 
    10984     * 
    11085     * 決済モジュールが取得できた場合は, require 可能な決済モジュールのパスを返す. 
    111      * 支払い方法IDが無効な場合, 取得したパスにファイルが存在しない場合は false 
     86     * 受注IDが無効な場合, 取得したパスにファイルが存在しない場合は false 
    11287     * 
    113      * @param integer $payment_id 支払い方法ID 
     88     * @param integer $order_id 受注ID 
    11489     * @return string|boolean 成功した場合は決済モジュールのパス; 
    11590     *                        失敗した場合 false 
    11691     */ 
    117     function getModulePath($payment_id) { 
     92    function getModulePath($order_id) { 
    11893        $objQuery =& SC_Query::getSingletonInstance(); 
    11994        $sql = <<< __EOS__ 
    12095            SELECT module_path 
    121               FROM dtb_payment 
    122              WHERE payment_id = ? 
     96              FROM dtb_payment T1 
     97              JOIN dtb_order T2 
     98                ON T1.payment_id = T2.payment_id 
     99             WHERE order_id = ? 
    123100__EOS__; 
    124         $module_path = $objQuery->getOne($sql, array($payment_id)); 
     101        $module_path = $objQuery->getOne($sql, array($order_id)); 
    125102        if (file_exists($module_path)) { 
    126103            return $module_path; 
     
    130107 
    131108    /** 
    132      * 支払い方法ID を取得する. 
     109     * 受注ID を取得する. 
    133110     * 
    134      * 以下の順序で支払い方法IDを取得する. 
     111     * 以下の順序で受注IDを取得する. 
    135112     * 
    136      * 1. $_SESSION['payment_id'] 
    137      * 2. $_POST['payment_id'] 
    138      * 3. $_GET['payment_id'] 
     113     * 1. $_SESSION['order_id'] 
     114     * 2. $_POST['order_id'] 
     115     * 3. $_GET['order_id'] 
    139116     * 
    140      * 支払い方法IDが取得できない場合は false を返す. 
     117     * 受注IDが取得できない場合は false を返す. 
    141118     * 
    142119     * @access private 
    143      * @return integer|boolean 支払い方法の取得に成功した場合は支払い方法IDを返す; 
     120     * @return integer|boolean 受注IDの取得に成功した場合は受注IDを返す; 
    144121     *                         失敗した場合は, false を返す. 
    145122     */ 
    146     function getPaymentId() { 
    147         if (isset($_SESSION['payment_id']) 
    148             && !SC_Utils_Ex::isBlank($_SESSION['payment_id'])) { 
    149             return $_SESSION['payment_id']; 
     123    function getOrderId() { 
     124        if (isset($_SESSION['order_id']) 
     125            && !SC_Utils_Ex::isBlank($_SESSION['order_id']) 
     126            && SC_Utils_Ex::sfIsInt($_SESSION['order_id'])) { 
     127            return $_SESSION['order_id']; 
    150128        } 
    151129 
    152         if (isset($_POST['payment_id']) 
    153             && !SC_Utils_Ex::isBlank($_POST['payment_id'])) { 
    154             return $_POST['payment_id']; 
     130        if (isset($_POST['order_id']) 
     131            && !SC_Utils_Ex::isBlank($_POST['order_id']) 
     132            && SC_Utils_Ex::sfIsInt($_POST['order_id'])) { 
     133            return $_POST['order_id']; 
    155134        } 
    156135 
    157         if (isset($_GET['payment_id']) 
    158             && !SC_Utils_Ex::isBlank($_GET['payment_id'])) { 
    159             return $_GET['payment_id']; 
     136        if (isset($_GET['order_id']) 
     137            && !SC_Utils_Ex::isBlank($_GET['order_id']) 
     138            && SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 
     139            return $_GET['order_id']; 
    160140        } 
    161  
    162141        return false; 
    163142    } 
Note: See TracChangeset for help on using the changeset viewer.