- Timestamp:
- 2009/11/29 13:35:37 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/class/pages/mypage/LC_Page_Mypage_History.php
r18276 r18399 54 54 $masterData = new SC_DB_MasterData_Ex(); 55 55 $this->arrMAILTEMPLATE = $masterData->getMasterData("mtb_mail_template"); 56 $this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank")); 56 57 } 57 58 … … 71 72 $objLayout->sfGetPageLayout($this, false, "mypage/index.php"); 72 73 74 // FIXME 他の画面と同様のバリデーションを行なう 75 if (!SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 76 SC_Utils_Ex::sfDispException(); 77 } 78 79 $orderId = $_GET['order_id']; 80 73 81 //不正アクセス判定 74 82 $from = "dtb_order"; 75 83 $where = "del_flg = 0 AND customer_id = ? AND order_id = ? "; 76 $arrval = array($objCustomer->getValue('customer_id'), $ _GET['order_id']);84 $arrval = array($objCustomer->getValue('customer_id'), $orderId); 77 85 //DBに情報があるか判定 78 86 $cnt = $objQuery->count($from, $where, $arrval); … … 80 88 if (!$objCustomer->isLoginSuccess() || $cnt == 0){ 81 89 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 82 } else { 83 //受注詳細データの取得 84 $this->arrDisp = $this->lfGetOrderData($_GET['order_id']); 85 // 支払い方法の取得 86 $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method"); 87 // お届け時間の取得 88 $arrRet = $objDb->sfGetDelivTime($this->arrDisp['payment_id']); 89 $this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time'); 90 91 //マイページトップ顧客情報表示用 92 $this->CustomerName1 = $objCustomer->getvalue('name01'); 93 $this->CustomerName2 = $objCustomer->getvalue('name02'); 94 $this->CustomerPoint = $objCustomer->getvalue('point'); 95 } 96 97 if(SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 98 $col = "send_date, subject, template_id, send_id"; 99 $where = "order_id = ?"; 100 $objQuery->setorder("send_date DESC"); 101 $this->arrMailHistory = $objQuery->select($col, "dtb_mail_history", $where, array($_GET['order_id'])); 102 } 103 104 $masterData = new SC_DB_MasterData_Ex(); 105 $this->arrPref = $masterData->getMasterData("mtb_pref", 106 array("pref_id", "pref_name", "rank")); 90 } 91 92 //受注詳細データの取得 93 $this->arrDisp = $this->lfGetOrderData($orderId); 94 // 支払い方法の取得 95 $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method"); 96 // お届け時間の取得 97 $arrRet = $objDb->sfGetDelivTime($this->arrDisp['payment_id']); 98 $this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time'); 99 100 //マイページトップ顧客情報表示用 101 $this->CustomerName1 = $objCustomer->getvalue('name01'); 102 $this->CustomerName2 = $objCustomer->getvalue('name02'); 103 $this->CustomerPoint = $objCustomer->getvalue('point'); 104 105 // 受注商品明細の取得 106 $this->tpl_arrOrderDetail = $this->lfGetOrderDetail($orderId); 107 108 // 受注メール送信履歴の取得 109 $this->tpl_arrMailHistory = $this->lfGetMailHistory($orderId); 110 107 111 $objView->assignobj($this); 108 112 $objView->display(SITE_FRAME); … … 192 196 } 193 197 194 //受注詳細データの取得 195 function lfGetOrderData($order_id) { 196 //注文番号が数字であれば 197 if(SC_Utils_Ex::sfIsInt($order_id)) { 198 // DBから受注情報を読み込む 199 $objQuery = new SC_Query(); 200 $col = "order_id, create_date, payment_id, subtotal, tax, use_point, add_point, discount, "; 201 $col .= "deliv_fee, charge, payment_total, deliv_name01, deliv_name02, deliv_kana01, deliv_kana02, "; 202 $col .= "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_time_id, deliv_date "; 203 $from = "dtb_order"; 204 $where = "order_id = ?"; 205 $arrRet = $objQuery->select($col, $from, $where, array($order_id)); 206 $arrOrder = $arrRet[0]; 207 // 受注詳細データの取得 208 $arrRet = $this->lfGetOrderDetail($order_id); 209 $arrOrderDetail = SC_Utils_Ex::sfSwapArray($arrRet); 210 $arrData = array_merge($arrOrder, $arrOrderDetail); 211 } 212 return $arrData; 213 } 214 215 // 受注詳細データの取得 216 function lfGetOrderDetail($order_id) { 198 /** 199 * 受注の取得 200 * 201 * @param integer $orderId 注文番号 202 * @return array 受注の内容 203 */ 204 function lfGetOrderData($orderId) { 205 // DBから受注情報を読み込む 206 $objQuery = new SC_Query(); 207 $col = "order_id, create_date, payment_id, subtotal, tax, use_point, add_point, discount, "; 208 $col .= "deliv_fee, charge, payment_total, deliv_name01, deliv_name02, deliv_kana01, deliv_kana02, "; 209 $col .= "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_time_id, deliv_date "; 210 $from = "dtb_order"; 211 $where = "order_id = ?"; 212 $arrRet = $objQuery->select($col, $from, $where, array($orderId)); 213 return $arrRet[0]; 214 } 215 216 /** 217 * 受注商品明細の取得 218 * 219 * @param integer $orderId 注文番号 220 * @return array 受注商品明細の内容 221 */ 222 function lfGetOrderDetail($orderId) { 217 223 $objQuery = new SC_Query(); 218 224 $col = "product_id, product_code, product_name, classcategory_name1, classcategory_name2, price, quantity, point_rate"; 225 $col .= ",CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = dtb_order_detail.product_id AND del_flg = 0) THEN '1' ELSE '0' END AS enable"; 219 226 $where = "order_id = ?"; 220 227 $objQuery->setorder("classcategory_id1, classcategory_id2"); 221 $arrRet = $objQuery->select($col, "dtb_order_detail", $where, array($order _id));228 $arrRet = $objQuery->select($col, "dtb_order_detail", $where, array($orderId)); 222 229 return $arrRet; 230 } 231 232 /** 233 * 受注メール送信履歴の取得 234 * 235 * @param integer $orderId 注文番号 236 * @return array 受注メール送信履歴の内容 237 */ 238 function lfGetMailHistory($orderId) { 239 $objQuery = new SC_Query(); 240 $col = 'send_date, subject, template_id, send_id'; 241 $where = 'order_id = ?'; 242 $objQuery->setorder('send_date DESC'); 243 $this->arrMailHistory = $objQuery->select($col, 'dtb_mail_history', $where, array($orderId)); 223 244 } 224 245 }
Note: See TracChangeset
for help on using the changeset viewer.