Changeset 20467
- Timestamp:
- 2011/03/03 12:02:18 (13 years ago)
- 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
- Location:
- branches/version-2_5-dev
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
r20448 r20467 151 151 // 決済モジュールを使用する場合 152 152 if ($this->use_module) { 153 $_SESSION[" payment_id"] = $this->arrForm['payment_id'];153 $_SESSION["order_id"] = $this->arrForm['order_id']; 154 154 $objPurchase->completeOrder(ORDER_PENDING); 155 155 SC_Response_Ex::sendRedirect(SHOPPING_MODULE_URLPATH); -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_LoadPaymentModule.php
r20448 r20467 28 28 * 決済モジュールの呼び出しを行うクラス. 29 29 * 30 * 決済フローの妥当性検証は, トランザクションID等を使用して, 決済モジュール側で 31 * 行う必要がある. 32 * 30 33 * @package Page 31 34 * @author Kentaro Ohkouchi … … 52 55 */ 53 56 function process() { 54 $objSiteSess = new SC_SiteSession_Ex();55 $objCartSess = new SC_CartSession_Ex();56 $objPurchase = new SC_Helper_Purchase_Ex();57 57 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) { 67 60 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 68 61 return; 69 62 } 70 63 71 $module_path = $this->getModulePath($ payment_id);64 $module_path = $this->getModulePath($order_id); 72 65 if ($module_path === false) { 73 66 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, "", true, … … 76 69 } 77 70 require_once($module_path); 78 }79 80 /**81 * モバイルページを初期化する.82 *83 * @return void84 */85 function mobileInit() {86 $this->init();87 }88 89 /**90 * Page のプロセス(モバイル).91 *92 * @return void93 */94 function mobileProcess() {95 $this->process();96 71 } 97 72 … … 106 81 107 82 /** 108 * 支払い方法IDをキーにして, 決済モジュールのパスを取得する.83 * 受注IDをキーにして, 決済モジュールのパスを取得する. 109 84 * 110 85 * 決済モジュールが取得できた場合は, require 可能な決済モジュールのパスを返す. 111 * 支払い方法IDが無効な場合, 取得したパスにファイルが存在しない場合は false86 * 受注IDが無効な場合, 取得したパスにファイルが存在しない場合は false 112 87 * 113 * @param integer $ payment_id 支払い方法ID88 * @param integer $order_id 受注ID 114 89 * @return string|boolean 成功した場合は決済モジュールのパス; 115 90 * 失敗した場合 false 116 91 */ 117 function getModulePath($ payment_id) {92 function getModulePath($order_id) { 118 93 $objQuery =& SC_Query::getSingletonInstance(); 119 94 $sql = <<< __EOS__ 120 95 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 = ? 123 100 __EOS__; 124 $module_path = $objQuery->getOne($sql, array($ payment_id));101 $module_path = $objQuery->getOne($sql, array($order_id)); 125 102 if (file_exists($module_path)) { 126 103 return $module_path; … … 130 107 131 108 /** 132 * 支払い方法ID を取得する.109 * 受注ID を取得する. 133 110 * 134 * 以下の順序で 支払い方法IDを取得する.111 * 以下の順序で受注IDを取得する. 135 112 * 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'] 139 116 * 140 * 支払い方法IDが取得できない場合は false を返す.117 * 受注IDが取得できない場合は false を返す. 141 118 * 142 119 * @access private 143 * @return integer|boolean 支払い方法の取得に成功した場合は支払い方法IDを返す;120 * @return integer|boolean 受注IDの取得に成功した場合は受注IDを返す; 144 121 * 失敗した場合は, false を返す. 145 122 */ 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']; 150 128 } 151 129 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']; 155 134 } 156 135 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']; 160 140 } 161 162 141 return false; 163 142 } -
branches/version-2_5-dev/test/class/page/shopping/LC_Page_Shopping_LoadPaymentModule_Test.php
r20116 r20467 46 46 } 47 47 48 function testGet PaymentIdBySession() {49 $_SESSION[' payment_id'] = 1;50 $_GET[' payment_id'] = 2;51 $_POST[' payment_id'] = 3;48 function testGetOrderIdBySession() { 49 $_SESSION['order_id'] = 1; 50 $_GET['order_id'] = 2; 51 $_POST['order_id'] = 3; 52 52 53 $this->expected = $_SESSION[' payment_id'];54 $this->actual = $this->objPage->get PaymentId();53 $this->expected = $_SESSION['order_id']; 54 $this->actual = $this->objPage->getOrderId(); 55 55 56 56 $this->verify(); 57 57 } 58 58 59 function testGet PaymentIdByPOST() {60 $_GET[' payment_id'] = 1;61 $_POST[' payment_id'] = 1;59 function testGetOrderIdByPOST() { 60 $_GET['order_id'] = 1; 61 $_POST['order_id'] = 1; 62 62 63 $this->expected = $_POST[' payment_id'];64 $this->actual = $this->objPage->get PaymentId();63 $this->expected = $_POST['order_id']; 64 $this->actual = $this->objPage->getOrderId(); 65 65 66 66 $this->verify(); 67 67 } 68 68 69 function testGet PaymentIdByGET() {70 $_GET[' payment_id'] = 2;69 function testGetOrderIdByGET() { 70 $_GET['order_id'] = 2; 71 71 72 $this->expected = $_GET[' payment_id'];73 $this->actual = $this->objPage->get PaymentId();72 $this->expected = $_GET['order_id']; 73 $this->actual = $this->objPage->getOrderId(); 74 74 75 75 $this->verify(); 76 76 } 77 77 78 function testGet PaymentIdIsNull() {79 $this->assertFalse($this->objPage->get PaymentId());78 function testGetOrderIdIsNull() { 79 $this->assertFalse($this->objPage->getOrderId()); 80 80 } 81 81 82 82 function testGetModulePath() { 83 $order_id = 10000; 83 84 $payment_id = 10000; 84 85 $module_path = __FILE__; 85 $this->setPayment($ payment_id, $module_path);86 $this->setPayment($order_id, $payment_id, $module_path); 86 87 87 88 $this->expected = __FILE__; 88 $this->actual = $this->objPage->getModulePath($ payment_id);89 $this->actual = $this->objPage->getModulePath($order_id); 89 90 90 91 $this->verify(); … … 92 93 93 94 function testGetModulePathIsFailure() { 95 $order_id = 10000; 94 96 $payment_id = 10000; 95 97 $module_path = "aaa"; 96 $this->setPayment($ payment_id, $module_path);98 $this->setPayment($order_id, $payment_id, $module_path); 97 99 98 $this->actual = $this->objPage->getModulePath($ payment_id);100 $this->actual = $this->objPage->getModulePath($order_id); 99 101 100 102 $this->assertFalse($this->actual); … … 106 108 } 107 109 108 function setPayment($payment_id, $module_path) { 109 $this->objQuery->insert("dtb_payment", array('payment_id' => $payment_id, 110 function setPayment($order_id, $payment_id, $module_path) { 111 $this->objQuery->insert('dtb_order', array('order_id' => $order_id, 112 'customer_id' => (int) 0, 113 'payment_id' => $payment_id, 114 'create_date' => 'now()', 115 'update_date' => 'now()')); 116 117 $this->objQuery->insert("dtb_payment", array('payment_id' => $order_id, 110 118 'module_path' => $module_path, 111 'creator_id' => 1)); 119 'creator_id' => 1, 120 'create_date' => 'now()', 121 'update_date' => 'now()')); 112 122 } 113 123 }
Note: See TracChangeset
for help on using the changeset viewer.