Changeset 20112 for branches/version-2_5-dev/data/class
- Timestamp:
- 2011/02/08 00:39:38 (15 years ago)
- bzr:base-revision:
- [email protected]
- bzr:committer:
- Kentaro Ohkouchi <[email protected]>
- bzr:file-ids:
data/Smarty/templates/default/shopping/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Fconfirm.tpl
data/Smarty/templates/default/shopping/payment.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fshopping%2Fpayment.tpl
data/Smarty/templates/mobile/shopping/confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fmobile%2Fshopping%2Fconfirm.tpl
data/Smarty/templates/mobile/shopping/payment.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fmobile%2Fshopping%2Fpayment.tpl
data/Smarty/templates/mobile/shopping/select_deliv.tpl select_deliv.tpl-20110207152600-lm5bjhtot5ipow7j-1
data/Smarty/templates/sphone/shopping/confirm.tpl confirm.tpl-20101209134550-lsv02w9wikfx9cj3-35
data/Smarty/templates/sphone/shopping/payment.tpl payment.tpl-20101209134550-lsv02w9wikfx9cj3-40
data/class/SC_CartSession.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_CartSession.php
data/class/helper/SC_Helper_Purchase.php sc_helper_purchase.p-20101020100530-jyaoa7ch9pdfjqzp-1
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_Payment.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Payment.php
html/install/sql/create_table_mysql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_mysql.sql
html/install/sql/create_table_pgsql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_pgsql.sql- bzr:mapping-version:
- v4
- bzr:merge:
[email protected]- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- [email protected]
- bzr:revno:
- 2840
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-revisions:
data/Smarty/templates/default/shopping/confirm.tpl [email protected]
data/Smarty/templates/default/shopping/payment.tpl [email protected]
data/Smarty/templates/mobile/shopping/confirm.tpl [email protected]
data/Smarty/templates/mobile/shopping/payment.tpl [email protected]
data/Smarty/templates/mobile/shopping/select_deliv.tpl [email protected]
data/Smarty/templates/sphone/shopping/confirm.tpl [email protected]
data/Smarty/templates/sphone/shopping/payment.tpl [email protected]
data/class/SC_CartSession.php [email protected]
data/class/helper/SC_Helper_Purchase.php [email protected]
data/class/pages/shopping/LC_Page_Shopping_Confirm.php [email protected]
data/class/pages/shopping/LC_Page_Shopping_Payment.php [email protected]
html/install/sql/create_table_mysql.sql [email protected]
html/install/sql/create_table_pgsql.sql [email protected]- bzr:timestamp:
- 2011-02-08 00:39:32.996000051 +0900
- bzr:user-agent:
- bzr2.2.1+bzr-svn1.0.4
- svn:original-date:
- 2011-02-07T15:39:32.996000Z
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 4 edited
-
SC_CartSession.php (modified) (2 diffs)
-
helper/SC_Helper_Purchase.php (modified) (2 diffs)
-
pages/shopping/LC_Page_Shopping_Confirm.php (modified) (2 diffs)
-
pages/shopping/LC_Page_Shopping_Payment.php (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_CartSession.php
r20038 r20112 433 433 * エラーメッセージを返す. 434 434 * 435 * 1. 削除/非表示商品のチェック 436 * 2. 商品購入制限数のチェック 437 * 3. 在庫数チェック 435 * 1. 商品種別に関連づけられた配送業者の存在チェック 436 * 2. 削除/非表示商品のチェック 437 * 3. 商品購入制限数のチェック 438 * 4. 在庫数チェック 438 439 * 439 440 * @param string $key 商品種別ID … … 449 450 $item =& $items[$key]; 450 451 $product =& $item['productsClass']; 452 453 /* 454 * 配送業者のチェック 455 */ 456 $arrDeliv = SC_Helper_Purchase_Ex::getDeliv($productTypeId); 457 if (SC_Utils_Ex::isBlank($arrDeliv)) { 458 $tpl_message .= "※「" . $product['name'] . "」はまだ配送の準備ができておりません。恐れ入りますがお問い合わせページよりお問い合わせください。\n"; 459 } 460 451 461 /* 452 462 * 表示/非表示商品のチェック -
branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
r20111 r20112 461 461 462 462 /** 463 * 商品種別ID からお届け時間の配列を取得する. 464 */ 465 function getDelivTime($productTypeId) { 466 $objQuery =& SC_Query::getSingletonInstance(); 467 $from = <<< __EOS__ 468 dtb_deliv T1 469 JOIN dtb_delivtime T2 470 ON T1.deliv_id = T2. deliv_id 471 __EOS__; 472 $objQuery->setOrder("time_id"); 473 $results = $objQuery->select("time_id, deliv_time", $from, 474 "product_type_id = ?", array($productTypeId)); 475 $arrDelivTime = array(); 476 foreach ($results as $val) { 477 $arrDelivTime[$val['time_id']] = $val['deliv_time']; 478 } 479 return $arrDelivTime; 463 * 配送業者IDからお届け時間の配列を取得する. 464 * 465 * @param integer $deliv_id 配送業者ID 466 * @return array お届け時間の配列 467 */ 468 function getDelivTime($deliv_id) { 469 $objQuery =& SC_Query::getSingletonInstance(); 470 $objQuery->setOrder('time_id'); 471 $results = $objQuery->select('time_id, deliv_time', 472 'dtb_delivtime', 473 'deliv_id = ?', array($deliv_id)); 474 $arrDelivTime = array(); 475 foreach ($results as $val) { 476 $arrDelivTime[$val['time_id']] = $val['deliv_time']; 477 } 478 return $arrDelivTime; 480 479 } 481 480 482 481 /** 483 482 * 商品種別ID から配送業者を取得する. 484 */ 485 function getDeliv($productTypeId) { 486 $objQuery =& SC_Query::getSingletonInstance(); 487 return $objQuery->select("*", "dtb_deliv", "product_type_id = ?", 488 array($productTypeId)); 489 } 490 491 /** 492 * 配送業者ID から, 有効な支払方法を取得する. 483 * 484 * @param integer $product_type_id 商品種別ID 485 * @return array 配送業者の配列 486 */ 487 function getDeliv($product_type_id) { 488 $objQuery =& SC_Query::getSingletonInstance(); 489 $objQuery->setOrder('rank'); 490 return $objQuery->select('*', 'dtb_deliv', 'product_type_id = ?', 491 array($product_type_id)); 492 } 493 494 /** 495 * 配送業者ID から, 有効な支払方法IDを取得する. 493 496 * 494 497 * @param integer $deliv_id 配送業者ID … … 497 500 function getPayments($deliv_id) { 498 501 $objQuery =& SC_Query::getSingletonInstance(); 499 $from = <<< __EOS__ 500 dtb_deliv T1 501 LEFT JOIN dtb_payment_options T2 502 ON T1.deliv_id = T2.deliv_id 503 __EOS__; 504 $objQuery->setOrder('T2.rank'); 505 return $objQuery->getCol('payment_id', $from, 'T1.deliv_id = ?', 502 $objQuery->setOrder('rank'); 503 return $objQuery->getCol('payment_id', 'dtb_payment_options', 504 'deliv_id = ?', 506 505 array($deliv_id), MDB2_FETCHMODE_ORDERED); 507 506 } -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
r20041 r20112 50 50 $this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type"); 51 51 $this->arrReminder = $masterData->getMasterData("mtb_reminder"); 52 $this->arrDeliv = SC_Helper_DB_Ex::sfGetIDValueList("dtb_deliv", "deliv_id", "service_name"); 52 53 $this->httpCacheControl('nocache'); 53 54 } … … 94 95 $this->tpl_message = $objCartSess->checkProducts($this->cartKey); 95 96 if (strlen($this->tpl_message) >= 1) { 96 SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true); 97 SC_Response_Ex::sendRedirect(CART_URLPATH); 98 exit; 97 99 } 98 100 -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
r20069 r20112 79 79 $objPurchase = new SC_Helper_Purchase_Ex(); 80 80 $this->objCustomer = new SC_Customer(); 81 82 $this->shipping =& $objPurchase->getShippingTemp();83 $this->isMultiple = $objPurchase->isMultiple();84 85 // パラメータ管理クラス86 81 $this->objFormParam = new SC_FormParam(); 87 // パラメータ情報の初期化 88 $this->lfInitParam(); 89 // POST値の取得 90 $this->objFormParam->setParam($_POST); 91 92 $uniqid = $objSiteSess->getUniqId(); 93 $objPurchase->verifyChangeCart($uniqid, $objCartSess); 94 95 // ユニークIDを引き継ぐ 96 $this->tpl_uniqid = $uniqid; 82 83 $this->arrShipping =& $objPurchase->getShippingTemp(); 84 $this->is_multiple = $objPurchase->isMultiple(); 85 $this->tpl_uniqid = $objSiteSess->getUniqId(); 86 $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess); 97 87 98 88 $this->cartKey = $objCartSess->getKey(); 99 89 100 // 配送時間を取得 101 $this->arrDelivTime = $objPurchase->getDelivTime($this->cartKey); 90 // 配送業者を取得 91 $this->arrDeliv = $objPurchase->getDeliv($this->cartKey); 92 if (count($this->arrDeliv) == 1) { 93 $this->is_single_deliv = true; 94 $deliv_id = $this->arrDeliv[0]['deliv_id']; 95 } else { 96 $this->is_single_deliv = false; 97 } 102 98 103 99 // 会員ログインチェック … … 117 113 118 114 // 一時受注テーブルの読込 119 $arrOrderTemp = $objPurchase->getOrderTemp($ uniqid);115 $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid); 120 116 //不正遷移チェック(正常に受注情報が格納されていない場合は一旦カート画面まで戻す) 121 117 if (!$arrOrderTemp) { … … 129 125 130 126 if (strlen($this->tpl_message) >= 1) { 131 SC_Utils_Ex::sfDispSiteError(SOLD_OUT, '', true); 127 SC_Response_Ex::sendRedirect(CART_URLPATH); 128 exit; 132 129 } 133 130 // FIXME 使用ポイント, 手数料の扱い … … 137 134 $total_inctax = $objCartSess->getAllProductsTotal($this->cartKey); 138 135 139 // FIXME 支払い方法の取得 140 $arrDeliv = $objPurchase->getDeliv($this->cartKey); 141 $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $arrDeliv[0]['deliv_id']); 136 // お届け日一覧の取得 137 $this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $this->cartKey); 142 138 143 139 switch($this->getMode()) { 140 case 'select_deliv': 141 $this->objFormParam->convParam(); 142 $this->lfInitParam(true); 143 $this->objFormParam->setParam($_POST); 144 $arrErr = $this->objFormParam->checkError(); 145 if (SC_Utils_Ex::isBlank($arrErr)) { 146 $deliv_id = $this->objFormParam->getValue('deliv_id'); 147 $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 148 $this->img_show = $this->lfGetImgShow($this->arrPayment); 149 // 配送時間を取得 150 $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 151 $arrSelectDeliv = array('error' => false, 152 'arrPayment' => $this->arrPayment, 153 'arrDelivTime' => $this->arrDelivTime, 154 'img_show' => $this->img_show); 155 } else { 156 $arrSelectDeliv = array('error' => true); 157 } 158 159 if (SC_Display::detectDevice() != DEVICE_TYPE_MOBILE) { 160 $objJson = new Services_JSON(); 161 echo $objJson->encode($arrSelectDeliv); 162 exit; 163 } 164 break; 165 144 166 case 'confirm': 167 // パラメータ情報の初期化 168 $this->lfInitParam(); 169 // POST値の取得 170 $this->objFormParam->setParam($_POST); 145 171 // 入力値の変換 146 172 $this->objFormParam->convParam(); 173 $deliv_id = $this->objFormParam->getValue('deliv_id'); 174 $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 175 $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 147 176 $this->arrErr = $this->lfCheckError($this->arrData, $this->arrPayment); 148 177 // 入力エラーなし … … 151 180 foreach (array_keys($_SESSION['shipping']) as $key) { 152 181 $timeId = $this->objFormParam->getValue('deliv_time_id' . $key); 182 153 183 /* TODO 154 184 * SC_Purchase::getShippingTemp() で取得して, 155 185 * リファレンスで代入すると, セッションに添字を追加できない? 156 186 */ 187 $_SESSION['shipping'][$key]['deliv_id'] = $deliv_id; 157 188 $_SESSION['shipping'][$key]['time_id'] = $timeId; 158 189 $_SESSION['shipping'][$key]['shipping_time'] = $this->arrDelivTime[$timeId]; 159 190 $_SESSION['shipping'][$key]['shipping_date'] = $this->objFormParam->getValue('deliv_date' . $key); 160 191 } 161 $this->lfRegistData($ uniqid, $objPurchase);192 $this->lfRegistData($this->tpl_uniqid, $objPurchase); 162 193 163 194 // 正常に登録されたことを記録しておく … … 167 198 exit; 168 199 }else{ 169 // ユーザユニークIDの取得170 $uniqid = $objSiteSess->getUniqId();171 200 // 受注一時テーブルからの情報を格納 172 $this->objFormParam->setParam($objPurchase->getOrderTemp($uniqid)); 201 $this->img_show = $this->lfGetImgShow($this->arrPayment); 202 $this->objFormParam->setParam($objPurchase->getOrderTemp($this->tpl_uniqid)); 173 203 } 174 204 break; 175 205 // 前のページに戻る 176 206 case 'return': 177 // 非会員の場合 207 178 208 // 正常な推移であることを記録しておく 179 209 $objSiteSess->setRegistFlag(); … … 183 213 184 214 default: 185 // 受注一時テーブルからの情報を格納 215 216 // 前のページから戻ってきた場合の初期値を設定 217 $this->lfInitParam(); 186 218 $this->objFormParam->setParam($arrOrderTemp); 219 $this->objFormParam->convParam(); 220 221 if (!$this->is_single_deliv) { 222 $deliv_id = $this->objFormParam->getValue('deliv_id'); 223 } 224 225 if (!SC_Utils_Ex::isBlank($deliv_id)) { 226 $this->objFormParam->setValue('deliv_id', $deliv_id); 227 $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $deliv_id); 228 // XXX セッションからデフォルト値を取得する必要あり 229 $this->arrDelivTime = $objPurchase->getDelivTime($deliv_id); 230 $this->img_show = $this->lfGetImgShow($this->arrPayment); 231 } 187 232 break; 188 233 } 189 234 190 // 支払い方法の画像があるなしを取得($img_show true:ある false:なし) 191 $this->img_show = $this->lfGetImgShow($this->arrPayment); 192 // お届け日一覧の取得 193 $this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $this->cartKey); 235 // モバイル用 ポストバック処理 236 if (SC_Display::detectDevice() == DEVICE_TYPE_MOBILE) { 237 switch($this->getMode()) { 238 case 'select_deliv': 239 $this->tpl_mainpage = 'shopping/payment.tpl'; 240 break; 241 242 case 'confirm': 243 case 'return': 244 default: 245 if ($this->is_single_deliv) { 246 $this->tpl_mainpage = 'shopping/payment.tpl'; 247 } else { 248 $this->tpl_mainpage = 'shopping/select_deliv.tpl'; 249 } 250 } 251 } 252 194 253 $this->arrForm = $this->objFormParam->getFormParamList(); 195 254 } … … 205 264 206 265 /* パラメータ情報の初期化 */ 207 function lfInitParam() { 208 $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 209 $this->objFormParam->addParam("ポイント", "use_point", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START")); 210 $this->objFormParam->addParam("その他お問い合わせ", "message", LTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 211 $this->objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2'); 212 213 for ($i = 0; $i < count($this->shipping); $i++) { 214 $this->objFormParam->addParam("お届け時間", "deliv_time_id" . $i, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 215 $this->objFormParam->addParam("お届け日", "deliv_date" . $i, STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 266 function lfInitParam($deliv_only = false) { 267 $this->objFormParam->addParam("配送業者", "deliv_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 268 269 if (!$deliv_only) { 270 $this->objFormParam->addParam("お支払い方法", "payment_id", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 271 $this->objFormParam->addParam("ポイント", "use_point", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK", "ZERO_START")); 272 $this->objFormParam->addParam("その他お問い合わせ", "message", LTEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 273 $this->objFormParam->addParam("ポイントを使用する", "point_check", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"), '2'); 274 275 for ($i = 0; $i < count($this->shipping); $i++) { 276 $this->objFormParam->addParam("お届け時間", "deliv_time_id" . $i, INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 277 $this->objFormParam->addParam("お届け日", "deliv_date" . $i, STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 278 } 216 279 } 217 280 }
Note: See TracChangeset
for help on using the changeset viewer.
