[Svn-src-all:1255] [version-2_5-dev 20144] LC_Page_Mypage_History リファクタリング
kimoto
admin @ mail.ec-cube.net
2011年 2月 11日 (金) 18:57:37 JST
Subversion committed to /home/svn/open 20144
http://svn.ec-cube.net/open_trac/changeset/20144
┌────────────────────────────┐
│更新者 : kimoto │
│更新日時: 2011-02-11 18:57:37 +0900 (金, 11 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
LC_Page_Mypage_History リファクタリング
*lfGetShippingDataをSC_Helper_DBへ移動
*lfGetOrderDetailもSC_Helper_DBへ移動して管理側とsqlを統一すべき
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/Smarty/templates/default/mypage/history.tpl
U branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/history.tpl
U branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/history.tpl
U branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php
U branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php
変更: branches/version-2_5-dev/data/Smarty/templates/default/mypage/history.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/default/mypage/history.tpl 2011-02-11 09:57:29 UTC (rev 20143)
+++ branches/version-2_5-dev/data/Smarty/templates/default/mypage/history.tpl 2011-02-11 09:57:37 UTC (rev 20144)
@@ -28,19 +28,19 @@
<div id="mycontentsarea">
<h3><!--{$tpl_subtitle|h}--></h3>
<p class="myconditionarea">
- <strong>購入日時: </strong><!--{$arrDisp.create_date|sfDispDBDate}--><br />
- <strong>注文番号: </strong><!--{$arrDisp.order_id}--><br />
- <strong>お支払い方法: </strong><!--{$arrPayment[$arrDisp.payment_id]|h}-->
- <!--{if $arrDisp.deliv_time_id != ""}--><br />
- <strong>お届け時間: </strong><!--{$arrDelivTime[$arrDisp.deliv_time_id]|h}-->
+ <strong>購入日時: </strong><!--{$tpl_arrOrderData.create_date|sfDispDBDate}--><br />
+ <strong>注文番号: </strong><!--{$tpl_arrOrderData.order_id}--><br />
+ <strong>お支払い方法: </strong><!--{$arrPayment[$tpl_arrOrderData.payment_id]|h}-->
+ <!--{if $tpl_arrOrderData.deliv_time_id != ""}--><br />
+ <strong>お届け時間: </strong><!--{$arrDelivTime[$tpl_arrOrderData.deliv_time_id]|h}-->
<!--{/if}-->
- <!--{if $arrDisp.deliv_date != ""}--><br />
- <strong>お届け日: </strong><!--{$arrDisp.deliv_date|h}-->
+ <!--{if $tpl_arrOrderData.deliv_date != ""}--><br />
+ <strong>お届け日: </strong><!--{$tpl_arrOrderData.deliv_date|h}-->
<!--{/if}-->
</p>
<form action="order.php" method="post">
- <input type="hidden" name="order_id" value="<!--{$arrDisp.order_id}-->">
+ <input type="hidden" name="order_id" value="<!--{$tpl_arrOrderData.order_id}-->">
<input type="submit" name="submit" value="再注文">
</form>
@@ -60,7 +60,7 @@
<td>
<!--{if $orderDetail.product_type_id == PRODUCT_TYPE_DOWNLOAD}-->
<!--{if $orderDetail.price == "0" || ( $orderDetail.status >= "4" && $orderDetail.effective == "1" )}-->
- <a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$arrDisp.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a>
+ <a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$tpl_arrOrderData.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a>
<!--{elseif $orderDetail.payment_date == "" || $orderDetail.status < "4"}-->
ダウンロード商品<BR />(入金確認中)
<!--{elseif $orderDetail.effective != "1"}-->
@@ -79,9 +79,9 @@
<!--{/foreach}-->
<tr>
<th colspan="5" class="resulttd">小計</th>
- <td class="pricetd"><!--{$arrDisp.subtotal|number_format}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData.subtotal|number_format}-->円</td>
</tr>
- <!--{assign var=point_discount value="`$arrDisp.use_point*$smarty.const.POINT_VALUE`"}-->
+ <!--{assign var=point_discount value="`$tpl_arrOrderData.use_point*$smarty.const.POINT_VALUE`"}-->
<!--{if $point_discount > 0}-->
<tr>
<th colspan="5" class="resulttd">ポイント値引き</th>
@@ -89,24 +89,24 @@
</tr>
<!--{/if}-->
<!--{assign var=key value="discount"}-->
- <!--{if $arrDisp[$key] != "" && $arrDisp[$key] > 0}-->
+ <!--{if $tpl_arrOrderData[$key] != "" && $tpl_arrOrderData[$key] > 0}-->
<tr>
<th colspan="5" class="resulttd">値引き</th>
- <td class="pricetd"><!--{$arrDisp[$key]|number_format}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData[$key]|number_format}-->円</td>
</tr>
<!--{/if}-->
<tr>
<th colspan="5" class="resulttd">送料</th>
- <td class="pricetd"><!--{assign var=key value="deliv_fee"}--><!--{$arrDisp[$key]|number_format|h}-->円</td>
+ <td class="pricetd"><!--{assign var=key value="deliv_fee"}--><!--{$tpl_arrOrderData[$key]|number_format|h}-->円</td>
</tr>
<tr>
<th colspan="5" class="resulttd">手数料</th>
<!--{assign var=key value="charge"}-->
- <td class="pricetd"><!--{$arrDisp[$key]|number_format|h}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData[$key]|number_format|h}-->円</td>
</tr>
<tr>
<th colspan="5" class="resulttd">合計</th>
- <td class="pricetd"><em><!--{$arrDisp.payment_total|number_format}-->円</em></td>
+ <td class="pricetd"><em><!--{$tpl_arrOrderData.payment_total|number_format}-->円</em></td>
</tr>
</table>
@@ -115,11 +115,11 @@
<table summary="使用ポイント">
<tr>
<th>ご使用ポイント</th>
- <td class="pricetd"><!--{assign var=key value="use_point"}--><!--{$arrDisp[$key]|number_format|default:0}--> pt</td>
+ <td class="pricetd"><!--{assign var=key value="use_point"}--><!--{$tpl_arrOrderData[$key]|number_format|default:0}--> pt</td>
</tr>
<tr>
<th>今回加算されるポイント</th>
- <td class="pricetd"><!--{$arrDisp.add_point|number_format|default:0}--> pt</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData.add_point|number_format|default:0}--> pt</td>
</tr>
</table>
<!--{/if}-->
変更: branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/history.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/history.tpl 2011-02-11 09:57:29 UTC (rev 20143)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/mypage/history.tpl 2011-02-11 09:57:37 UTC (rev 20144)
@@ -21,18 +21,18 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
*}-->
-購入日時:<!--{$arrDisp.create_date|sfDispDBDate}--><br />
-注文番号:<!--{$arrDisp.order_id}--><br />
-お支払い方法:<!--{$arrPayment[$arrDisp.payment_id]|h}-->
-<!--{if $arrDisp.deliv_time_id != ""}--><br />
-お届け時間:<!--{$arrDelivTime[$arrDisp.deliv_time_id]|h}-->
+購入日時:<!--{$tpl_arrOrderData.create_date|sfDispDBDate}--><br />
+注文番号:<!--{$tpl_arrOrderData.order_id}--><br />
+お支払い方法:<!--{$arrPayment[$tpl_arrOrderData.payment_id]|h}-->
+<!--{if $tpl_arrOrderData.deliv_time_id != ""}--><br />
+お届け時間:<!--{$arrDelivTime[$tpl_arrOrderData.deliv_time_id]|h}-->
<!--{/if}-->
-<!--{if $arrDisp.deliv_date != ""}--><br />
-お届け日:<!--{$arrDisp.deliv_date|h}-->
+<!--{if $tpl_arrOrderData.deliv_date != ""}--><br />
+お届け日:<!--{$tpl_arrOrderData.deliv_date|h}-->
<!--{/if}-->
<form action="order.php" method="post">
- <input type="hidden" name="order_id" value="<!--{$arrDisp.order_id}-->">
+ <input type="hidden" name="order_id" value="<!--{$tpl_arrOrderData.order_id}-->">
<input type="submit" name="submit" value="再注文">
</form>
@@ -44,7 +44,7 @@
商品種別:
<!--{if $orderDetail.product_type_id == PRODUCT_TYPE_DOWNLOAD}-->
<!--{if $orderDetail.price == "0" || ( $orderDetail.status >= "4" && $orderDetail.effective == "1" )}-->
-<a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$arrDisp.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a><br>
+<a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$tpl_arrOrderData.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a><br>
<!--{elseif $orderDetail.payment_date == "" || $orderDetail.status < "4"}-->
ダウンロード商品<br>(入金確認中)<br>
<!--{elseif $orderDetail.effective != "1"}-->
@@ -61,26 +61,26 @@
小計:<!--{$price|sfCalcIncTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|sfMultiply:$quantity|number_format}-->円<br>
<!--{/foreach}-->
<hr>
-小計:<!--{$arrDisp.subtotal|number_format}-->円<br>
-<!--{assign var=point_discount value="`$arrDisp.use_point*$smarty.const.POINT_VALUE`"}-->
+小計:<!--{$tpl_arrOrderData.subtotal|number_format}-->円<br>
+<!--{assign var=point_discount value="`$tpl_arrOrderData.use_point*$smarty.const.POINT_VALUE`"}-->
<!--{if $point_discount > 0}-->
ポイント値引き:<!--{$point_discount|number_format}-->円<br>
<!--{/if}-->
<!--{assign var=key value="discount"}-->
-<!--{if $arrDisp[$key] != "" && $arrDisp[$key] > 0}-->
-値引き:<!--{$arrDisp[$key]|number_format}-->円<br>
+<!--{if $tpl_arrOrderData[$key] != "" && $tpl_arrOrderData[$key] > 0}-->
+値引き:<!--{$tpl_arrOrderData[$key]|number_format}-->円<br>
<!--{/if}-->
-送料:<!--{assign var=key value="deliv_fee"}--><!--{$arrDisp[$key]|number_format|h}-->円<br>
+送料:<!--{assign var=key value="deliv_fee"}--><!--{$tpl_arrOrderData[$key]|number_format|h}-->円<br>
手数料:
<!--{assign var=key value="charge"}-->
-<!--{$arrDisp[$key]|number_format|h}-->円<br>
-合計:<!--{$arrDisp.payment_total|number_format}-->円<br>
+<!--{$tpl_arrOrderData[$key]|number_format|h}-->円<br>
+合計:<!--{$tpl_arrOrderData.payment_total|number_format}-->円<br>
<hr>
<!-- 使用ポイントここから -->
<!--{if $smarty.const.USE_POINT !== false}-->
■使用ポイント<br>
-ご使用ポイント:<!--{assign var=key value="use_point"}--><!--{$arrDisp[$key]|number_format|default:0}--> pt<br>
-今回加算されるポイント:<!--{$arrDisp.add_point|number_format|default:0}--> pt<br>
+ご使用ポイント:<!--{assign var=key value="use_point"}--><!--{$tpl_arrOrderData[$key]|number_format|default:0}--> pt<br>
+今回加算されるポイント:<!--{$tpl_arrOrderData.add_point|number_format|default:0}--> pt<br>
<hr>
<!--{/if}-->
<!-- 使用ポイントここまで -->
変更: branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/history.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/history.tpl 2011-02-11 09:57:29 UTC (rev 20143)
+++ branches/version-2_5-dev/data/Smarty/templates/sphone/mypage/history.tpl 2011-02-11 09:57:37 UTC (rev 20144)
@@ -28,19 +28,19 @@
<div id="mycontentsarea">
<h3><!--{$tpl_subtitle|h}--></h3>
<p class="myconditionarea">
- <strong>購入日時: </strong><!--{$arrDisp.create_date|sfDispDBDate}--><br />
- <strong>注文番号: </strong><!--{$arrDisp.order_id}--><br />
- <strong>お支払い方法: </strong><!--{$arrPayment[$arrDisp.payment_id]|h}-->
- <!--{if $arrDisp.deliv_time_id != ""}--><br />
- <strong>お届け時間: </strong><!--{$arrDelivTime[$arrDisp.deliv_time_id]|h}-->
+ <strong>購入日時: </strong><!--{$tpl_arrOrderData.create_date|sfDispDBDate}--><br />
+ <strong>注文番号: </strong><!--{$tpl_arrOrderData.order_id}--><br />
+ <strong>お支払い方法: </strong><!--{$arrPayment[$tpl_arrOrderData.payment_id]|h}-->
+ <!--{if $tpl_arrOrderData.deliv_time_id != ""}--><br />
+ <strong>お届け時間: </strong><!--{$arrDelivTime[$tpl_arrOrderData.deliv_time_id]|h}-->
<!--{/if}-->
- <!--{if $arrDisp.deliv_date != ""}--><br />
- <strong>お届け日: </strong><!--{$arrDisp.deliv_date|h}-->
+ <!--{if $tpl_arrOrderData.deliv_date != ""}--><br />
+ <strong>お届け日: </strong><!--{$tpl_arrOrderData.deliv_date|h}-->
<!--{/if}-->
</p>
<form action="order.php" method="post">
- <input type="hidden" name="order_id" value="<!--{$arrDisp.order_id}-->">
+ <input type="hidden" name="order_id" value="<!--{$tpl_arrOrderData.order_id}-->">
<input type="submit" name="submit" value="再注文">
</form>
@@ -60,7 +60,7 @@
<td>
<!--{if $orderDetail.product_type_id == PRODUCT_TYPE_DOWNLOAD}-->
<!--{if $orderDetail.price == "0" || ( $orderDetail.status >= "4" && $orderDetail.effective == "1" )}-->
- <a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$arrDisp.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a>
+ <a target="_self" href="<!--{$smarty.const.ROOT_URLPATH}-->mypage/download.php?order_id=<!--{$tpl_arrOrderData.order_id}-->&product_id=<!--{$orderDetail.product_id}-->&product_class_id=<!--{$orderDetail.product_class_id}-->">ダウンロード</a>
<!--{elseif $orderDetail.payment_date == "" || $orderDetail.status < "4"}-->
ダウンロード商品<BR />(入金確認中)
<!--{elseif $orderDetail.effective != "1"}-->
@@ -79,9 +79,9 @@
<!--{/foreach}-->
<tr>
<th colspan="5" class="resulttd">小計</th>
- <td class="pricetd"><!--{$arrDisp.subtotal|number_format}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData.subtotal|number_format}-->円</td>
</tr>
- <!--{assign var=point_discount value="`$arrDisp.use_point*$smarty.const.POINT_VALUE`"}-->
+ <!--{assign var=point_discount value="`$tpl_arrOrderData.use_point*$smarty.const.POINT_VALUE`"}-->
<!--{if $point_discount > 0}-->
<tr>
<th colspan="5" class="resulttd">ポイント値引き</th>
@@ -89,24 +89,24 @@
</tr>
<!--{/if}-->
<!--{assign var=key value="discount"}-->
- <!--{if $arrDisp[$key] != "" && $arrDisp[$key] > 0}-->
+ <!--{if $tpl_arrOrderData[$key] != "" && $tpl_arrOrderData[$key] > 0}-->
<tr>
<th colspan="5" class="resulttd">値引き</th>
- <td class="pricetd"><!--{$arrDisp[$key]|number_format}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData[$key]|number_format}-->円</td>
</tr>
<!--{/if}-->
<tr>
<th colspan="5" class="resulttd">送料</th>
- <td class="pricetd"><!--{assign var=key value="deliv_fee"}--><!--{$arrDisp[$key]|number_format|h}-->円</td>
+ <td class="pricetd"><!--{assign var=key value="deliv_fee"}--><!--{$tpl_arrOrderData[$key]|number_format|h}-->円</td>
</tr>
<tr>
<th colspan="5" class="resulttd">手数料</th>
<!--{assign var=key value="charge"}-->
- <td class="pricetd"><!--{$arrDisp[$key]|number_format|h}-->円</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData[$key]|number_format|h}-->円</td>
</tr>
<tr>
<th colspan="5" class="resulttd">合計</th>
- <td class="pricetd"><em><!--{$arrDisp.payment_total|number_format}-->円</em></td>
+ <td class="pricetd"><em><!--{$tpl_arrOrderData.payment_total|number_format}-->円</em></td>
</tr>
</table>
@@ -115,11 +115,11 @@
<table summary="使用ポイント">
<tr>
<th>ご使用ポイント</th>
- <td class="pricetd"><!--{assign var=key value="use_point"}--><!--{$arrDisp[$key]|number_format|default:0}--> pt</td>
+ <td class="pricetd"><!--{assign var=key value="use_point"}--><!--{$tpl_arrOrderData[$key]|number_format|default:0}--> pt</td>
</tr>
<tr>
<th>今回加算されるポイント</th>
- <td class="pricetd"><!--{$arrDisp.add_point|number_format|default:0}--> pt</td>
+ <td class="pricetd"><!--{$tpl_arrOrderData.add_point|number_format|default:0}--> pt</td>
</tr>
</table>
<!--{/if}-->
変更: branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php 2011-02-11 09:57:29 UTC (rev 20143)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php 2011-02-11 09:57:37 UTC (rev 20144)
@@ -454,9 +454,9 @@
}
return array($point, $rollback_point);
}
-
+
/**
* カテゴリツリーの取得を行う.
*
@@ -868,25 +868,25 @@
/**
* カテゴリ数の登録を行う.
- *
*
+ *
* @param SC_Query $objQuery SC_Query インスタンス
* @param boolean $is_force_all_count 全カテゴリの集計を強制する場合 true
* @return void
*/
function sfCountCategory($objQuery = NULL, $is_force_all_count = false){
$objProduct = new SC_Product();
-
+
if($objQuery == NULL) {
$objQuery =& SC_Query::getSingletonInstance();
}
-
+
$is_out_trans = false;
if(!$objQuery->inTransaction()){
$objQuery->begin();
$is_out_trans = true;
}
-
+
//共通のfrom/where文の構築
$sql_where = 'alldtl.del_flg = 0 AND alldtl.status = 1';
// 在庫無し商品の非表示
@@ -896,11 +896,11 @@
}else{
$from = " dtb_products as alldtl ";
}
-
+
//dtb_category_countの構成
// 各カテゴリに所属する商品の数を集計。集計対象には子カテゴリを含まない。
// 2.5で消える予定だったが復活させます。DELETE処理は無くしました。
-
+
//まずテーブル内容の元を取得
if(!$is_force_all_count) {
$arrCategoryCountOld = $objQuery->select('category_id,product_count','dtb_category_count');
@@ -921,10 +921,10 @@
__EOS__;
$arrCategoryCountNew = $objQuery->getAll($sql);
- // 各カテゴリに所属する商品の数を集計。集計対象には子カテゴリを「含む」。
+ // 各カテゴリに所属する商品の数を集計。集計対象には子カテゴリを「含む」。
//差分を取得して、更新対象カテゴリだけを確認する。
- //各カテゴリ毎のデータ値において以前との差を見る
+ //各カテゴリ毎のデータ値において以前との差を見る
//古いデータの構造入れ替え
$arrOld = array();
foreach($arrCategoryCountOld as $item){
@@ -949,7 +949,7 @@
$arrDiffCategory_id[] = $cid;
}
}
-
+
//対象IDが無ければ終了
if(count($arrDiffCategory_id) == 0){
if($is_out_trans) {
@@ -960,7 +960,7 @@
//差分対象カテゴリIDの重複を除去
$arrDiffCategory_id = array_unique($arrDiffCategory_id);
-
+
//dtb_category_countの更新 差分のあったカテゴリだけ更新する。
foreach($arrDiffCategory_id as $cid) {
$sqlval = array();
@@ -976,7 +976,7 @@
$objQuery->insert('dtb_category_count', $sqlval);
}
}
-
+
//差分があったIDとその親カテゴリIDのリストを取得する
$arrTgtCategory_id = array();
foreach ($arrDiffCategory_id as $parent_category_id) {
@@ -986,7 +986,7 @@
$arrTgtCategory_id[] = $pid;
}
}
-
+
//重複を取り除く
$arrTgtCategory_id = array_unique($arrTgtCategory_id);
@@ -2076,5 +2076,32 @@
$this->sfRegistTempOrder($uniqid, $sqlval);
}
+
+
+ /**
+ * 配送情報の取得.
+ * TODO リファクタリング
+ */
+ function sfGetShippingData($orderId) {
+ $objQuery =& SC_Query::getSingletonInstance();
+ $objProduct = new SC_Product();
+ $objQuery->setOrder('shipping_id');
+ $arrRet = $objQuery->select("*", "dtb_shipping", "order_id = ?", array($orderId));
+
+ foreach (array_keys($arrRet) as $key) {
+ $objQuery->setOrder('shipping_id');
+ $arrItems = $objQuery->select("*", "dtb_shipment_item", "order_id = ? AND shipping_id = ?",
+ array($orderId, $arrRet[$key]['shipping_id']));
+ foreach ($arrItems as $itemKey => $arrDetail) {
+ foreach ($arrDetail as $detailKey => $detailVal) {
+ $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']][$detailKey] = $detailVal;
+ }
+
+ $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']]['productsClass'] =& $objProduct->getDetailAndProductsClass($arrDetail['product_class_id']);
+ }
+ }
+ return $arrRet;
+ }
+
}
?>
変更: branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php 2011-02-11 09:57:29 UTC (rev 20143)
+++ branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_History.php 2011-02-11 09:57:37 UTC (rev 20144)
@@ -22,7 +22,7 @@
*/
// {{{ requires
-require_once(CLASS_REALDIR . "pages/LC_Page.php");
+require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php");
/**
* 購入履歴 のページクラス.
@@ -31,7 +31,7 @@
* @author LOCKON CO.,LTD.
* @version $Id$
*/
-class LC_Page_Mypage_History extends LC_Page {
+class LC_Page_Mypage_History extends LC_Page_AbstractMypage {
// }}}
// {{{ functions
@@ -43,14 +43,13 @@
*/
function init() {
parent::init();
- $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';
- $this->tpl_mainno = 'mypage';
- $this->tpl_mypageno = 'index';
- $this->tpl_subtitle = '購入履歴詳細';
+ $this->tpl_mypageno = 'index';
+ $this->tpl_subtitle = '購入履歴詳細';
$this->httpCacheControl('nocache');
- $masterData = new SC_DB_MasterData_Ex();
- $this->arrMAILTEMPLATE = $masterData->getMasterData("mtb_mail_template");
- $this->arrPref = $masterData->getMasterData('mtb_pref');
+
+ $masterData = new SC_DB_MasterData_Ex();
+ $this->arrMAILTEMPLATE = $masterData->getMasterData("mtb_mail_template");
+ $this->arrPref = $masterData->getMasterData('mtb_pref');
}
/**
@@ -60,8 +59,6 @@
*/
function process() {
parent::process();
- $this->action();
- $this->sendResponse();
}
/**
@@ -70,49 +67,36 @@
* @return void
*/
function action() {
- $objQuery = new SC_Query();
- $objCustomer = new SC_Customer();
- $objDb = new SC_Helper_DB_Ex();
+ $objQuery = new SC_Query();
+ $objCustomer = new SC_Customer();
+ $objDb = new SC_Helper_DB_Ex();
- // FIXME 他の画面と同様のバリデーションを行なう
if (!SC_Utils_Ex::sfIsInt($_GET['order_id'])) {
- SC_Utils_Ex::sfDispException();
+ SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
- $orderId = $_GET['order_id'];
+ $order_id = $_GET['order_id'];
+ $arrOrderData = $this->lfGetOrderData($objCustomer->getValue('customer_id'), $order_id);
- //不正アクセス判定
- $from = "dtb_order";
- $where = "del_flg = 0 AND customer_id = ? AND order_id = ? ";
- $arrval = array($objCustomer->getValue('customer_id'), $orderId);
- //DBに情報があるか判定
- $cnt = $objQuery->count($from, $where, $arrval);
- //ログインしていない、またはDBに情報が無い場合
- if (!$objCustomer->isLoginSuccess(true) || $cnt == 0){
+ if (empty($arrOrderData)){
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
//受注詳細データの取得
- $this->arrDisp = $this->lfGetOrderData($orderId);
- $this->arrShipping = $this->lfGetShippingData($orderId);
- $this->isMultiple = count($this->arrShipping) > 1;
+ $this->tpl_arrOrderData = $arrOrderData[0];
+
+ $this->arrShipping = $objDb->sfGetShippingData($order_id);
+ $this->isMultiple = count($this->arrShipping) > 1;
// 支払い方法の取得
- $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
+ $this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
// お届け時間の取得
- $arrRet = $objDb->sfGetDelivTime($this->arrDisp['payment_id']);
- $this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');
-
- //マイページトップ顧客情報表示用
- $this->tpl_login = true;
- $this->CustomerName1 = $objCustomer->getvalue('name01');
- $this->CustomerName2 = $objCustomer->getvalue('name02');
- $this->CustomerPoint = $objCustomer->getvalue('point');
-
+ $this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($objDb->sfGetDelivTime($this->tpl_arrOrderData['payment_id']),
+ 'time_id',
+ 'deliv_time');
// 受注商品明細の取得
- $this->tpl_arrOrderDetail = $this->lfGetOrderDetail($orderId);
-
+ $this->tpl_arrOrderDetail = $this->lfGetOrderDetail($order_id);
// 受注メール送信履歴の取得
- $this->tpl_arrMailHistory = $this->lfGetMailHistory($orderId);
+ $this->tpl_arrMailHistory = $this->lfGetMailHistory($order_id);
}
@@ -131,77 +115,59 @@
* @param integer $orderId 注文番号
* @return array 受注の内容
*/
- function lfGetOrderData($orderId) {
+ function lfGetOrderData($customer_id, $order_id) {
// DBから受注情報を読み込む
- $objQuery = new SC_Query();
- /*
- $col = "order_id, create_date, payment_id, subtotal, tax, use_point, add_point, discount, ";
- $col .= "deliv_fee, charge, payment_total, deliv_name01, deliv_name02, deliv_kana01, deliv_kana02, ";
- $col .= "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_time_id, deliv_date ";
- */
- $from = "dtb_order";
- $where = "order_id = ?";
- $arrRet = $objQuery->select("*", $from, $where, array($orderId));
- return $arrRet[0];
+ $objQuery =& SC_Query::getSingletonInstance();
+ $from = "dtb_order";
+ $where = "del_flg = 0 AND customer_id = ? AND order_id = ?";
+ return $objQuery->select("*", $from, $where, array($customer_id, $order_id));
}
/**
- * 配送情報の取得.
- * TODO リファクタリング
- */
- function lfGetShippingData($orderId) {
- $objQuery =& SC_Query::getSingletonInstance();
- $objProduct = new SC_Product();
- $objQuery->setOrder('shipping_id');
- $arrRet = $objQuery->select("*", "dtb_shipping", "order_id = ?", array($orderId));
- foreach (array_keys($arrRet) as $key) {
- $objQuery->setOrder('shipping_id');
- $arrItems = $objQuery->select("*", "dtb_shipment_item", "order_id = ? AND shipping_id = ?",
- array($orderId, $arrRet[$key]['shipping_id']));
- foreach ($arrItems as $itemKey => $arrDetail) {
- foreach ($arrDetail as $detailKey => $detailVal) {
- $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']][$detailKey] = $detailVal;
- }
-
- $arrRet[$key]['shipment_item'][$arrDetail['product_class_id']]['productsClass'] =& $objProduct->getDetailAndProductsClass($arrDetail['product_class_id']);
- }
- }
- return $arrRet;
- }
-
- /**
* 受注商品明細の取得
*
* @param integer $orderId 注文番号
* @return array 受注商品明細の内容
*/
- function lfGetOrderDetail($orderId) {
- $objQuery = new SC_Query();
- $dbFactory = SC_DB_DBFactory_Ex::getInstance();
+ function lfGetOrderDetail($order_id) {
+ $objQuery =& SC_Query::getSingletonInstance();
+ $dbFactory = SC_DB_DBFactory_Ex::getInstance();
- $col = "od.product_id AS product_id, od.product_code AS product_code, od.product_name AS product_name, od.classcategory_name1 AS classcategory_name1,";
- $col .= "od.classcategory_name2 AS classcategory_name2, od.price AS price, od.quantity AS quantity, od.point_rate AS point_rate";
- $col .= ",CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = od.product_id AND del_flg = 0 AND status = 1) THEN '1' ELSE '0' END AS enable";
- $col .= ",o.status AS status, pc.product_type_id AS product_type_id, o.payment_date AS payment_date, od.product_class_id as product_class_id, ";
- $col .= $dbFactory->getDownloadableDaysWhereSql();
- $col .= " AS effective";
- $where = "p.product_id = od.product_id AND pc.product_id = od.product_id AND pc.product_class_id = od.product_class_id AND od.order_id = o.order_id AND od.order_id = ?";
- $arrRet = $objQuery->select($col, "dtb_products p, dtb_products_class pc, dtb_order_detail od, dtb_order o", $where,array($orderId));
- return $arrRet;
+ $col = "
+ od.product_id AS product_id,
+ od.product_code AS product_code,
+ od.product_name AS product_name,
+ od.classcategory_name1 AS classcategory_name1,
+ od.classcategory_name2 AS classcategory_name2,
+ od.price AS price,
+ od.quantity AS quantity,
+ od.point_rate AS point_rate
+ ,CASE WHEN EXISTS(SELECT * FROM dtb_products WHERE product_id = od.product_id AND del_flg = 0 AND status = 1) THEN '1' ELSE '0' END AS enable
+ ,o.status AS status,
+ pc.product_type_id AS product_type_id,
+ o.payment_date AS payment_date,
+ od.product_class_id as product_class_id,
+ ".$dbFactory->getDownloadableDaysWhereSql()."
+ AS effective";
+
+ $from = "dtb_products p, dtb_products_class pc, dtb_order_detail od, dtb_order o";
+ $where = "p.product_id = od.product_id AND pc.product_id = od.product_id AND pc.product_class_id = od.product_class_id AND od.order_id = o.order_id AND od.order_id = ?";
+
+ return $objQuery->select($col, $from, $where, array($order_id));
}
/**
* 受注メール送信履歴の取得
*
- * @param integer $orderId 注文番号
+ * @param integer $order_id 注文番号
* @return array 受注メール送信履歴の内容
*/
- function lfGetMailHistory($orderId) {
- $objQuery = new SC_Query();
- $col = 'send_date, subject, template_id, send_id';
- $where = 'order_id = ?';
+ function lfGetMailHistory($order_id) {
+ $objQuery =& SC_Query::getSingletonInstance();
+ $col = 'send_date, subject, template_id, send_id';
+ $where = 'order_id = ?';
$objQuery->setOrder('send_date DESC');
- $this->arrMailHistory = $objQuery->select($col, 'dtb_mail_history', $where, array($orderId));
+ return $objQuery->select($col, 'dtb_mail_history', $where, array($order_id));
}
}
?>
Svn-src-all メーリングリストの案内