[Svn-src-all:1233] [version-2_5-dev 20122] #984([フロント]商品購入 リファクタリング)

nanasess admin @ mail.ec-cube.net
2011年 2月 9日 (水) 16:59:26 JST


Subversion committed to /home/svn/open 20122
http://svn.ec-cube.net/open_trac/changeset/20122
┌────────────────────────────┐
│更新者 :  nanasess                                     │
│更新日時:  2011-02-09 16:59:25 +0900 (水, 09  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#984([フロント]商品購入 リファクタリング)
 * /shopping/complete.php
#1002(携帯アドレスが登録されていないユーザーが携帯アドレス登録画面に遷移しない)
 * typo 修正


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/Smarty/templates/default/shopping/confirm.tpl
U   branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/confirm.tpl
U   branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/confirm.tpl
U   branches/version-2_5-dev/data/class/SC_Customer.php
U   branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php
U   branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

変更: branches/version-2_5-dev/data/Smarty/templates/default/shopping/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/default/shopping/confirm.tpl	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/Smarty/templates/default/shopping/confirm.tpl	2011-02-09 07:59:25 UTC (rev 20122)
@@ -49,7 +49,7 @@
         <h2 class="title"><!--{$tpl_title|h}--></h2>
 
         <p>下記ご注文内容で送信してもよろしいでしょうか?<br />
-            よろしければ、「<!--{if $payment_type != ""}-->次へ<!--{else}-->ご注文完了ページへ<!--{/if}-->」ボタンをクリックしてください。</p>
+            よろしければ、「<!--{if $use_module}-->次へ<!--{else}-->ご注文完了ページへ<!--{/if}-->」ボタンをクリックしてください。</p>
 
         <form name="form1" id="form1" method="post" action="?">
             <input type="hidden" name="mode" value="confirm" />
@@ -57,7 +57,7 @@
 
             <div class="tblareabtn">
                 <a href="./payment.php" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_back_on.gif',back03)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_back.gif',back03)"><img src="<!--{$TPL_URLPATH}-->img/button/btn_back.gif" width="150" height="30" alt="戻る" border="0" name="back03-top" id="back03-top" /></a>&nbsp;
-                <!--{if $payment_type != ""}-->
+                <!--{if $use_module}-->
                 <input type="image" onclick="return fnCheckSubmit();" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next.gif',this)" src="<!--{$TPL_URLPATH}-->img/button/btn_next.gif" alt="次へ" class="box150" name="next-top" id="next-top" />
                 <!--{else}-->
                 <input type="image" onclick="return fnCheckSubmit();" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_order_complete_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_order_complete.gif',this)" src="<!--{$TPL_URLPATH}-->img/button/btn_order_complete.gif" alt="ご注文完了ページへ" class="box150" name="next-top" id="next-top" />                <!--{/if}-->
@@ -71,7 +71,7 @@
                     <th>数量</th>
                     <th>小計</th>
                 </tr>
-                <!--{foreach from=$cartItems item=item}-->
+                <!--{foreach from=$arrCartItems item=item}-->
                 <tr>
                     <td class="phototd">
                         <a
@@ -109,21 +109,21 @@
                     <tr>
                         <th colspan="4" class="resulttd">値引き(ポイントご使用時)</th>
                         <td class="pricetd">
-                        <!--{assign var=discount value=`$arrData.use_point*$smarty.const.POINT_VALUE`}-->
+                        <!--{assign var=discount value=`$arrForm.use_point*$smarty.const.POINT_VALUE`}-->
                          -<!--{$discount|number_format|default:0}-->円</td>
                     </tr>
                 <!--{/if}-->
                 <tr>
                     <th colspan="4" class="resulttd">送料</th>
-                    <td class="pricetd"><!--{$arrData.deliv_fee|number_format}-->円</td>
+                    <td class="pricetd"><!--{$arrForm.deliv_fee|number_format}-->円</td>
                 </tr>
                 <tr>
                     <th colspan="4" class="resulttd">手数料</th>
-                    <td class="pricetd"><!--{$arrData.charge|number_format}-->円</td>
+                    <td class="pricetd"><!--{$arrForm.charge|number_format}-->円</td>
                 </tr>
                 <tr>
                     <th colspan="4" class="resulttd">合計</th>
-                    <td class="pricetd"><em><!--{$arrData.payment_total|number_format}-->円</em></td>
+                    <td class="pricetd"><em><!--{$arrForm.payment_total|number_format}-->円</em></td>
                 </tr>
             </table>
 
@@ -136,20 +136,20 @@
                     </tr>
                     <tr>
                         <th>ご使用ポイント</th>
-                        <td>-<!--{$arrData.use_point|number_format|default:0}-->Pt</td>
+                        <td>-<!--{$arrForm.use_point|number_format|default:0}-->Pt</td>
                     </tr>
-                    <!--{if $arrData.birth_point > 0}-->
+                    <!--{if $arrForm.birth_point > 0}-->
                     <tr>
                         <th>お誕生月ポイント</th>
-                        <td>+<!--{$arrData.birth_point|number_format|default:0}-->Pt</td>
+                        <td>+<!--{$arrForm.birth_point|number_format|default:0}-->Pt</td>
                     </tr>
                     <!--{/if}-->
                     <tr>
                         <th>今回加算予定のポイント</th>
-                        <td>+<!--{$arrData.add_point|number_format|default:0}-->Pt</td>
+                        <td>+<!--{$arrForm.add_point|number_format|default:0}-->Pt</td>
                     </tr>
                     <tr>
-                    <!--{assign var=total_point value=`$tpl_user_point-$arrData.use_point+$arrData.add_point`}-->
+                    <!--{assign var=total_point value=`$tpl_user_point-$arrForm.use_point+$arrForm.add_point`}-->
                         <th>加算後のポイント</th>
                         <td><!--{$total_point|number_format}-->Pt</td>
                     </tr>
@@ -160,9 +160,9 @@
             <!--お届け先ここから-->
             <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け先を表示しない) *}-->
             <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
-            <!--{foreach item=shippingItem from=$shipping name=shippingItem}-->
-            <h3>▼お届け先<!--{if $isMultiple}--><!--{$smarty.foreach.shippingItem.iteration}--><!--{/if}--></h3>
-           <!--{if $isMultiple}-->
+            <!--{foreach item=shippingItem from=$arrShipping name=shippingItem}-->
+            <h3>▼お届け先<!--{if $is_multiple}--><!--{$smarty.foreach.shippingItem.iteration}--><!--{/if}--></h3>
+           <!--{if $is_multiple}-->
             <table summary="ご注文内容確認">
               <tr>
                 <th>商品写真</th>
@@ -248,22 +248,22 @@
                 <tbody>
                 <tr>
                     <th>配送方法</th>
-                    <td><!--{$arrDeliv[$arrData.deliv_id]|h}--></td>
+                    <td><!--{$arrDeliv[$arrForm.deliv_id]|h}--></td>
                 </tr>
                 <tr>
                     <th>お支払方法</th>
-                    <td><!--{$arrData.payment_method|h}--></td>
+                    <td><!--{$arrForm.payment_method|h}--></td>
                 </tr>
                 <tr>
                     <th>その他お問い合わせ</th>
-                    <td><!--{$arrData.message|h|nl2br}--></td>
+                    <td><!--{$arrForm.message|h|nl2br}--></td>
                 </tr>
                 </tbody>
             </table>
 
             <div class="tblareabtn">
                 <a href="./payment.php" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_back_on.gif',back03)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_back.gif',back03)"><img src="<!--{$TPL_URLPATH}-->img/button/btn_back.gif" width="150" height="30" alt="戻る" border="0" name="back03" id="back03" /></a>&nbsp;
-                <!--{if $payment_type != ""}-->
+                <!--{if $use_module}-->
                 <input type="image" onclick="return fnCheckSubmit();" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_next.gif',this)" src="<!--{$TPL_URLPATH}-->img/button/btn_next.gif" alt="次へ" class="box150" name="next" id="next" />
                 <!--{else}-->
                 <input type="image" onclick="return fnCheckSubmit();" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_order_complete_on.gif',this)" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_order_complete.gif',this)" src="<!--{$TPL_URLPATH}-->img/button/btn_order_complete.gif" alt="ご注文完了ページへ" class="box150" name="next" id="next" />

変更: branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/confirm.tpl	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/confirm.tpl	2011-02-09 07:59:25 UTC (rev 20122)
@@ -30,7 +30,7 @@
 <br>
 
 【ご注文内容】<br>
-<!--{foreach from=$cartItems item=item}-->
+<!--{foreach from=$arrCartItems item=item}-->
 <!--{$item.productsClass.name|h}--><br>
 <!--{if $item.productsClass.classcategory_name1 != ""}--><!--{$item.productsClass.class_name1}-->:<!--{$item.productsClass.classcategory_name1}--><br><!--{/if}-->
 <!--{if $item.productsClass.classcategory_name2 != ""}--><!--{$item.productsClass.class_name2}-->:<!--{$item.productsClass.classcategory_name2}--><br><!--{/if}-->
@@ -43,13 +43,13 @@
 【購入金額】<br>
 商品合計:<!--{$tpl_total_inctax[$cartKey]|number_format}-->円<br>
 <!--{if $smarty.const.USE_POINT !== false}-->
-<!--{assign var=discount value=`$arrData.use_point*$smarty.const.POINT_VALUE`}-->
+<!--{assign var=discount value=`$arrForm.use_point*$smarty.const.POINT_VALUE`}-->
 ポイント値引き:-<!--{$discount|number_format|default:0}-->円<br>
 <!--{/if}-->
-送料:<!--{$arrData.deliv_fee|number_format}-->円<br>
-<!--{if $arrData.charge > 0}-->手数料:<!--{$arrData.charge|number_format}-->円<br><!--{/if}-->
-合計:<!--{$arrData.payment_total|number_format}-->円<br>
-(内消費税:<!--{$arrData.tax|number_format}-->円)<br>
+送料:<!--{$arrForm.deliv_fee|number_format}-->円<br>
+<!--{if $arrForm.charge > 0}-->手数料:<!--{$arrForm.charge|number_format}-->円<br><!--{/if}-->
+合計:<!--{$arrForm.payment_total|number_format}-->円<br>
+(内消費税:<!--{$arrForm.tax|number_format}-->円)<br>
 
 <br>
 
@@ -57,10 +57,10 @@
 <!--{if $tpl_login == 1 && $smarty.const.USE_POINT !== false}-->
 【ポイント確認】<br>
 ご注文前のポイント:<!--{$tpl_user_point|number_format|default:0}-->Pt<br>
-ご使用ポイント:-<!--{$arrData.use_point|number_format|default:0}-->Pt<br>
-<!--{if $arrData.birth_point > 0}-->お誕生月ポイント:+<!--{$arrData.birth_point|number_format|default:0}-->Pt<br><!--{/if}-->
-今回加算予定のポイント:+<!--{$arrData.add_point|number_format|default:0}-->Pt<br>
-<!--{assign var=total_point value=`$tpl_user_point-$arrData.use_point+$arrData.add_point`}-->
+ご使用ポイント:-<!--{$arrForm.use_point|number_format|default:0}-->Pt<br>
+<!--{if $arrForm.birth_point > 0}-->お誕生月ポイント:+<!--{$arrForm.birth_point|number_format|default:0}-->Pt<br><!--{/if}-->
+今回加算予定のポイント:+<!--{$arrForm.add_point|number_format|default:0}-->Pt<br>
+<!--{assign var=total_point value=`$tpl_user_point-$arrForm.use_point+$arrForm.add_point`}-->
 加算後のポイント:<!--{$total_point|number_format}-->Pt<br>
 
 <br>
@@ -69,8 +69,8 @@
 <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け先を表示しない) *}-->
 <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
 【お届け先】<br>
-<!--{foreach item=shippingItem from=$shipping name=shippingItem}-->
-<!--{if $isMultiple}-->
+<!--{foreach item=shippingItem from=$arrShipping name=shippingItem}-->
+<!--{if $is_multiple}-->
     ▼お届け先<!--{$smarty.foreach.shippingItem.iteration}--><br>
     <!--{* 複数お届け先の場合、お届け先毎の商品を表示 *}-->
     <!--{foreach item=item from=$shippingItem.shipment_item}-->
@@ -97,18 +97,18 @@
 <!--{/if}-->
 
 【配送方法】<br>
-<!--{$arrDeliv[$arrData.deliv_id]|h}--><br>
+<!--{$arrDeliv[$arrForm.deliv_id]|h}--><br>
 
 <br>
 
 【お支払い方法】<br>
-<!--{$arrData.payment_method|h}--><br>
+<!--{$arrForm.payment_method|h}--><br>
 
 <br>
 
-<!--{if $arrData.message != ""}-->
+<!--{if $arrForm.message != ""}-->
 【その他お問い合わせ】<br>
-<!--{$arrData.message|h|nl2br}--><br>
+<!--{$arrForm.message|h|nl2br}--><br>
 <br>
 <!--{/if}-->
 

変更: branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/confirm.tpl	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/confirm.tpl	2011-02-09 07:59:25 UTC (rev 20122)
@@ -46,7 +46,7 @@
          <h2 class="title"><!--{$tpl_title|h}--></h2>
 
         <p>下記ご注文内容で送信してもよろしいでしょうか?<br />
-            よろしければ、「<!--{if $payment_type != ""}-->次へ<!--{else}-->ご注文完了ページへ<!--{/if}-->」ボタンをクリックしてください。</p>
+            よろしければ、「<!--{if $use_module}-->次へ<!--{else}-->ご注文完了ページへ<!--{/if}-->」ボタンをクリックしてください。</p>
 
         <form name="form1" id="form1" method="post" action="?">
             <input type="hidden" name="mode" value="confirm" />
@@ -59,7 +59,7 @@
                     <th>数量</th>
                     <th>小計</th>
                 </tr>
-                <!--{foreach from=$cartItems item=item}-->
+                <!--{foreach from=$arrCartItems item=item}-->
                 <tr>
                     <td class="phototd">
                         <a
@@ -97,21 +97,21 @@
                     <tr>
                         <th colspan="4" class="resulttd">値引き(ポイントご使用時)</th>
                         <td class="pricetd">
-                        <!--{assign var=discount value=`$arrData.use_point*$smarty.const.POINT_VALUE`}-->
+                        <!--{assign var=discount value=`$arrForm.use_point*$smarty.const.POINT_VALUE`}-->
                          -<!--{$discount|number_format|default:0}-->円</td>
                     </tr>
                 <!--{/if}-->
                 <tr>
                     <th colspan="4" class="resulttd">送料</th>
-                    <td class="pricetd"><!--{$arrData.deliv_fee|number_format}-->円</td>
+                    <td class="pricetd"><!--{$arrForm.deliv_fee|number_format}-->円</td>
                 </tr>
                 <tr>
                     <th colspan="4" class="resulttd">手数料</th>
-                    <td class="pricetd"><!--{$arrData.charge|number_format}-->円</td>
+                    <td class="pricetd"><!--{$arrForm.charge|number_format}-->円</td>
                 </tr>
                 <tr>
                     <th colspan="4" class="resulttd">合計</th>
-                    <td class="pricetd"><em><!--{$arrData.payment_total|number_format}-->円</em></td>
+                    <td class="pricetd"><em><!--{$arrForm.payment_total|number_format}-->円</em></td>
                 </tr>
             </table>
 
@@ -124,20 +124,20 @@
                     </tr>
                     <tr>
                         <th>ご使用ポイント</th>
-                        <td>-<!--{$arrData.use_point|number_format|default:0}-->Pt</td>
+                        <td>-<!--{$arrForm.use_point|number_format|default:0}-->Pt</td>
                     </tr>
-                    <!--{if $arrData.birth_point > 0}-->
+                    <!--{if $arrForm.birth_point > 0}-->
                     <tr>
                         <th>お誕生月ポイント</th>
-                        <td>+<!--{$arrData.birth_point|number_format|default:0}-->Pt</td>
+                        <td>+<!--{$arrForm.birth_point|number_format|default:0}-->Pt</td>
                     </tr>
                     <!--{/if}-->
                     <tr>
                         <th>今回加算予定のポイント</th>
-                        <td>+<!--{$arrData.add_point|number_format|default:0}-->Pt</td>
+                        <td>+<!--{$arrForm.add_point|number_format|default:0}-->Pt</td>
                     </tr>
                     <tr>
-                    <!--{assign var=total_point value=`$tpl_user_point-$arrData.use_point+$arrData.add_point`}-->
+                    <!--{assign var=total_point value=`$tpl_user_point-$arrForm.use_point+$arrForm.add_point`}-->
                         <th>加算後のポイント</th>
                         <td><!--{$total_point|number_format}-->Pt</td>
                     </tr>
@@ -148,9 +148,9 @@
             <!--お届け先ここから-->
             <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け先を表示しない) *}-->
             <!--{if $cartKey != $smarty.const.PRODUCT_TYPE_DOWNLOAD}-->
-            <!--{foreach item=shippingItem from=$shipping name=shippingItem}-->
-            <h3>▼お届け先<!--{if $isMultiple}--><!--{$smarty.foreach.shippingItem.iteration}--><!--{/if}--></h3>
-           <!--{if $isMultiple}-->
+            <!--{foreach item=shippingItem from=$arrShipping name=shippingItem}-->
+            <h3>▼お届け先<!--{if $is_multiple}--><!--{$smarty.foreach.shippingItem.iteration}--><!--{/if}--></h3>
+           <!--{if $is_multiple}-->
             <table summary="ご注文内容確認">
               <tr>
                 <th>商品写真</th>
@@ -240,27 +240,23 @@
                 <tbody>
                 <tr>
                     <th>配送方法</th>
-                    <td><!--{$arrDeliv[$arrData.deliv_id]|h}--></td>
+                    <td><!--{$arrDeliv[$arrForm.deliv_id]|h}--></td>
                 </tr>
                 <tr>
                     <th>お支払方法</th>
-                    <td><!--{$arrData.payment_method|h}--></td>
+                    <td><!--{$arrForm.payment_method|h}--></td>
                 </tr>
                 <tr>
                     <th>その他お問い合わせ</th>
-                    <td><!--{$arrData.message|h|nl2br}--></td>
+                    <td><!--{$arrForm.message|h|nl2br}--></td>
                 </tr>
                 </tbody>
             </table>
 
-            <!--{if 'sfTSPrintOrderBox'|function_exists}-->
-                <!--{'sfTSPrintOrderBox'|call_user_func}-->
-            <!--{/if}-->
-
             <div class="tblareabtn">
             <a href="./payment.php" class="spbtn spbtn-medeum">
                     戻る</a>&nbsp;
-                <!--{if $payment_type != ""}-->
+                <!--{if $use_module}-->
                  <input type="submit" value="次へ" class="spbtn spbtn-shopping" width="130" height="30" alt="次へ" name="next" id="next" />
                 <!--{else}-->
                  <input type="submit" value="ご注文完了ページへ" class="spbtn spbtn-shopping" width="130" height="30" alt="ご注文完了ページへ" name="next" id="next" />

変更: branches/version-2_5-dev/data/class/SC_Customer.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_Customer.php	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/class/SC_Customer.php	2011-02-09 07:59:25 UTC (rev 20122)
@@ -250,7 +250,10 @@
 
     // パラメータがNULLかどうかの判定
     function hasValue($keyname) {
-        return isset($_SESSION['customer'][$keyname]);
+        if (isset($_SESSION['customer'][$keyname])) {
+            return !SC_Utils_Ex::isBlank($_SESSION['customer'][$keyname]);
+        }
+        return false;
     }
 
     // 誕生日月であるかどうかの判定

変更: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php	2011-02-09 07:59:25 UTC (rev 20122)
@@ -128,8 +128,8 @@
                                   $objFormParam->getValue('login_pass'))) {
 
                 // モバイルサイトで携帯アドレスの登録が無い場合
-                if($this->hasEmailMobile($objCustomer)) {
-                    SC_Response_Ex::sendRedirect('../entry/email_mobile.php');
+                if(!$this->hasEmailMobile($objCustomer)) {
+                    SC_Response_Ex::sendRedirectFromUrlPath('entry/email_mobile.php');
                     exit;
                 }
                 SC_Response_Ex::sendRedirect(
@@ -469,9 +469,8 @@
      * @return boolean ログインに成功した場合 true; 失敗した場合 false
      */
     function doLogin(&$objCustomer, $login_email, $login_pass) {
-
         switch (SC_Display::detectDevice()) {
-        case DEVICE_TYPE_MOBILLE:
+        case DEVICE_TYPE_MOBILE:
             if(!$objCustomer->getCustomerDataFromMobilePhoneIdPass($login_pass) &&
                !$objCustomer->getCustomerDataFromEmailPass($login_pass, $login_email, true)) {
                 return false;
@@ -502,10 +501,10 @@
      */
     function hasEmailMobile(&$objCustomer) {
         switch (SC_Display::detectDevice()) {
-        case DEVICE_TYPE_MOBILLE:
+        case DEVICE_TYPE_MOBILE:
             $objMobile = new SC_Helper_Mobile_Ex();
             if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) {
-                if (!$objCustomer->hasValue('email_mobile')) {
+                if ($objCustomer->hasValue('email_mobile')) {
                     return true;
                 }
             }

変更: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	2011-02-09 05:47:06 UTC (rev 20121)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Confirm.php	2011-02-09 07:59:25 UTC (rev 20122)
@@ -77,7 +77,7 @@
         $objDb = new SC_Helper_DB_Ex();
         $objPurchase = new SC_Helper_Purchase_Ex();
 
-        $this->isMultiple = $objPurchase->isMultiple();
+        $this->is_multiple = $objPurchase->isMultiple();
 
         // 前のページで正しく登録手続きが行われた記録があるか判定
         if (!$objSiteSess->isPrePage()) {
@@ -85,21 +85,21 @@
         }
 
         // ユーザユニークIDの取得と購入状態の正当性をチェック
-        $uniqid = $objSiteSess->getUniqId();
-        $objPurchase->verifyChangeCart($uniqid, $objCartSess);
-        $this->tpl_uniqid = $uniqid;
+        $this->tpl_uniqid = $objSiteSess->getUniqId();
+        $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
 
         $this->cartKey = $objCartSess->getKey();
 
         // カート内商品のチェック
         $this->tpl_message = $objCartSess->checkProducts($this->cartKey);
-        if (strlen($this->tpl_message) >= 1) {
+        if (!SC_Utils_Ex::isBlank($this->tpl_message)) {
             SC_Response_Ex::sendRedirect(CART_URLPATH);
             exit;
         }
 
         // カートの商品を取得
-        $this->cartItems = $objCartSess->getCartList($this->cartKey);
+        $this->arrShipping = $objPurchase->getShippingTemp();
+        $this->arrCartItems = $objCartSess->getCartList($this->cartKey);
         // 合計金額
         $this->tpl_total_inctax[$this->cartKey] = $objCartSess->getAllProductsTotal($this->cartKey);
         // 税額
@@ -107,13 +107,16 @@
         // ポイント合計
         $this->tpl_total_point[$this->cartKey] = $objCartSess->getAllProductsPoint($this->cartKey);
 
-        // TODO リファクタリング
         // 一時受注テーブルの読込
-        $tmpData = $objPurchase->getOrderTemp($uniqid);
+        $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
 
         // カート集計を元に最終計算
-        // FIXME 使用ポイント, 手数料の扱い
-        $arrData = array_merge($tmpData, $objCartSess->calculate($this->cartKey, $objCustomer, $tmpData['use_point'], $objPurchase->getShippingPref(), $tmpData['charge'], $tmpData['discount']));
+        $arrCalcResults = $objCartSess->calculate($this->cartKey, $objCustomer,
+                                                  $arrOrderTemp['use_point'],
+                                                  $objPurchase->getShippingPref(),
+                                                  $arrOrderTemp['charge'],
+                                                  $arrOrderTemp['discount']);
+        $this->arrForm = array_merge($arrOrderTemp, $arrCalcResults);
 
         // 会員ログインチェック
         if($objCustomer->isLoginSuccess(true)) {
@@ -121,18 +124,9 @@
             $this->tpl_user_point = $objCustomer->getValue('point');
         }
 
-        // 決済区分を取得する
-        $payment_type = "";
-        if($objDb->sfColumnExists("dtb_payment", "memo01")){
-            // MEMO03に値が入っている場合には、モジュール追加されたものとみなす
-            $sql = "SELECT memo03 FROM dtb_payment WHERE payment_id = ?";
-            $arrPayment = $objQuery->getAll($sql, array($arrData['payment_id']));
-            $payment_type = $arrPayment[0]["memo03"];
-        }
-        $this->payment_type = $payment_type;
+        // 決済モジュールを使用するかどうか
+        $this->use_module = $this->useModule($this->arrForm['payment_id']);
 
-        $this->shipping = $objPurchase->getShippingTemp();
-
         switch($this->getMode()) {
         // 前のページに戻る
         case 'return':
@@ -142,24 +136,28 @@
             exit;
             break;
         case 'confirm':
-            // この時点で注文番号を確保しておく(クレジット、コンビニ決済で必要なため)
-            $arrData["order_id"] = $objQuery->nextval("dtb_order_order_id");
+            /*
+             * 決済モジュールで必要なため, 受注番号を取得
+             */
+            $this->arrForm["order_id"] = $objQuery->nextval("dtb_order_order_id");
 
             // 集計結果を受注一時テーブルに反映
-            $objPurchase->saveOrderTemp($uniqid, $arrData, $objCustomer);
+            $objPurchase->saveOrderTemp($this->tpl_uniqid, $this->arrForm,
+                                        $objCustomer);
+
             // 正常に登録されたことを記録しておく
             $objSiteSess->setRegistFlag();
 
-            // 決済方法により画面切替
-            if($payment_type != "") {
-                $_SESSION["payment_id"] = $arrData['payment_id'];
-
+            // 決済モジュールを使用する場合
+            if ($this->use_module) {
+                $_SESSION["payment_id"] = $this->arrForm['payment_id'];
                 $objPurchase->completeOrder(ORDER_PENDING);
                 SC_Response_Ex::sendRedirect(SHOPPING_MODULE_URLPATH);
-            }else{
-                // 受注を完了し, 購入完了ページへ
+            }
+            // 購入完了ページ
+            else {
                 $objPurchase->completeOrder(ORDER_NEW);
-                $objPurchase->sendOrderMail($arrData["order_id"]);
+                $objPurchase->sendOrderMail($this->arrForm["order_id"]);
                 SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
             }
             exit;
@@ -167,7 +165,6 @@
         default:
             break;
         }
-        $this->arrData = $arrData;
     }
 
     /**
@@ -178,5 +175,20 @@
     function destroy() {
         parent::destroy();
     }
+
+    /**
+     * 決済モジュールを使用するかどうか.
+     *
+     * dtb_payment.memo03 に値が入っている場合は決済モジュールと見なす.
+     *
+     * @param integer $payment_id 支払い方法ID
+     * @return boolean 決済モジュールを使用する支払い方法の場合 true
+     */
+    function useModule($payment_id) {
+        $objQuery =& SC_Query::getSingletonInstance();
+        $memo03 = $objQuery->get('memo03', 'dtb_payment', 'payment_id = ?',
+                                 array($payment_id));
+        return !SC_Utils_Ex::isBlank($memo03);
+    }
 }
 ?>




Svn-src-all メーリングリストの案内