[Svn-src-all:1181] [version-2_5-dev 20069] #990(配送設定・支払方法設定の仕様変更)

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


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

Log:
--------------------------------------------------------
#990(配送設定・支払方法設定の仕様変更)
 * 管理画面 -> 基本情報管理, 商品管理のみ対応


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/Smarty/templates/admin/basis/delivery_input.tpl
U   branches/version-2_5-dev/data/Smarty/templates/admin/products/confirm.tpl
U   branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl
U   branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl
U   branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl
U   branches/version-2_5-dev/data/class/SC_Product.php
U   branches/version-2_5-dev/data/class/SC_View.php
U   branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
U   branches/version-2_5-dev/data/class/pages/LC_Page_Index.php
U   branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php
U   branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
U   branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.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_Deliv.php
U   branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
U   branches/version-2_5-dev/html/install/sql/insert_data.sql

変更: branches/version-2_5-dev/data/Smarty/templates/admin/basis/delivery_input.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/basis/delivery_input.tpl	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/basis/delivery_input.tpl	2011-02-02 07:56:53 UTC (rev 20069)
@@ -84,10 +84,22 @@
   <table>
     <tr>
       <th>商品種別</th>
-      <td><span class="attention"><!--{$arrErr[$key]}--></span><!--{html_radios name=$key options=$arrProductType selected=$arrForm[$key].value}--></td>
+      <td><span class="attention"><!--{$arrErr[$key]}--></span><!--{html_radios name=$key options=$arrProductType selected=$arrForm[$key].value separator='&nbsp;&nbsp;'}--></td>
     </tr>
   </table>
 
+  <h2>取扱支払方法</h2>
+  <!--{assign var=key value="payment_ids"}-->
+  <table>
+    <tr>
+      <th>支払方法</th>
+      <td>
+        <span class="attention"><!--{$arrErr[$key]}--></span>
+        <!--{html_checkboxes name=$key options=$arrPayments selected=$arrForm[$key].value separator='&nbsp;&nbsp;'}-->
+      </td>
+    </tr>
+  </table>
+
   <!--{if $smarty.const.INPUT_DELIV_FEE}-->
   <h2>配送料登録</h2>
   <div class="btn">※全国一律送料 <input type="text" name="fee_all" class="box10" /> 円に設定する <a class="btn-normal" href="javascript:;" onclick="fnSetDelivFee(<!--{$smarty.const.DELIVFEE_MAX}-->); return false;"><span>反映</span></a></div>

変更: branches/version-2_5-dev/data/Smarty/templates/admin/products/confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/confirm.tpl	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/confirm.tpl	2011-02-02 07:56:53 UTC (rev 20069)
@@ -23,7 +23,7 @@
 *}-->
 <form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data">
   <!--{foreach key=key item=item from=$arrForm}-->
-    <!--{if $key == 'product_status' || $key == 'payment_ids'}-->
+    <!--{if $key == 'product_status'}-->
       <!--{foreach item=statusVal from=$item}-->
       <input type="hidden" name="<!--{$key}-->[]" value="<!--{$statusVal|h}-->" />
       <!--{/foreach}-->
@@ -113,14 +113,6 @@
       <!--{/if}-->
       </td>
     </tr>
-    <tr>
-      <th>支払方法</th>
-      <td>
-      <!--{foreach from=$arrForm.payment_ids item=payment_id}-->
-        <!--{$arrPayments[$payment_id]|h}-->&nbsp;
-      <!--{/foreach}-->
-      </td>
-    </tr>
     <!--{/if}-->
 
     <tr>

変更: branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl	2011-02-02 07:56:53 UTC (rev 20069)
@@ -182,13 +182,6 @@
         <input type="checkbox" name="stock_unlimited" value="1" <!--{if $arrForm.stock_unlimited == "1"}-->checked<!--{/if}--> onclick="fnCheckStockLimit('<!--{$smarty.const.DISABLED_RGB}-->');"/>無制限
       </td>
     </tr>
-    <tr>
-      <th>支払方法<span class="attention"> *</span></th>
-       <td>
-         <span class="attention"><!--{$arrErr.payment_ids}--></span>
-         <!--{html_checkboxes name="payment_ids" options=$arrPayments selected=$arrForm.payment_ids separator='&nbsp;&nbsp;'}-->
-       </td>
-    </tr>
     <!--{/if}-->
 
     <tr>

変更: branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl	2011-02-02 07:56:53 UTC (rev 20069)
@@ -113,7 +113,6 @@
       <th><!--{$smarty.const.NORMAL_PRICE_TITLE}-->(円)</th>
       <th><!--{$smarty.const.SALE_PRICE_TITLE}-->(円)<span class="attention">*</span></th>
       <th>商品種別<span class="attention">*</span></th>
-      <th><span class="attention">*</span> <input type="checkbox" name="allPaymentIds" id="allPaymentIds" onclick="fnAllCheck(this, 'input[name^=payment_ids]')" /><label for="allPaymentIds">支払方法</label></th>
       <th>ダウンロード<br>ファイル名<span class="red"><br>上限<!--{$smarty.const.STEXT_LEN}-->文字</span></th>
       <th>ダウンロード商品用<br>ファイル</th>
     </tr>
@@ -154,10 +153,6 @@
         <!--{assign var=key value="product_type_id:`$smarty.section.cnt.iteration`"}-->
         <!--{html_radios name=$key options=$arrProductType selected=$arrForm[$key] separator='<br />'}-->
       </td>
-      <td class="class-payment center">
-        <!--{assign var=key value="payment_ids:`$smarty.section.cnt.iteration`"}-->
-        <!--{html_checkboxes name=$key options=$arrPayments selected=$arrForm[$key] separator='<br />'}-->
-      </td>
       <td class="center">
         <!--{assign var=key value="down_filename:`$smarty.section.cnt.iteration`"}-->
         <span class="attention"><!--{$arrErr[$key]}--></span>

変更: branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl	2011-02-02 07:56:53 UTC (rev 20069)
@@ -24,13 +24,7 @@
 <h2>確認</h2>
 <form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data">
 <!--{foreach key=key item=item from=$arrForm}-->
-  <!--{if '/payment_ids:/'|preg_match:$key}-->
-    <!--{foreach item=paymentsVal from=$item}-->
-      <input type="hidden" name="<!--{$key}-->[]" value="<!--{$paymentsVal|h}-->" />
-    <!--{/foreach}-->
-  <!--{else}-->
     <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" />
-  <!--{/if}-->
 <!--{/foreach}-->
 
 <!--{foreach key=key item=item from=$arrHidden}-->
@@ -50,7 +44,6 @@
       <th><!--{$smarty.const.NORMAL_PRICE_TITLE}-->(円)</th>
       <th><!--{$smarty.const.SALE_PRICE_TITLE}-->(円)</th>
       <th>商品種別</th>
-      <th>支払方法</th>
       <th>ダウンロードファイル名</th>
       <th>ダウンロード商品用ファイルアップロード</th>
     </tr>
@@ -83,12 +76,6 @@
         <!--{$arrProductType[$product_type_id]|h}-->
       <!--{/foreach}-->
       </td>
-      <!--{assign var=key value="payment_ids:`$smarty.section.cnt.iteration`"}-->
-      <td>
-      <!--{foreach from=$arrForm[$key] item=payment_id}-->
-        <!--{$arrPayments[$payment_id]|h}-->&nbsp;
-      <!--{/foreach}-->
-      </td>
       <!--{assign var=key value="down_filename:`$smarty.section.cnt.iteration`"}-->
       <td class="right"><!--{$arrForm[$key]}--></td>
       <!--{assign var=key value="down_realfilename:`$smarty.section.cnt.iteration`"}-->

変更: branches/version-2_5-dev/data/class/SC_Product.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_Product.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/SC_Product.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -586,46 +586,6 @@
     }
 
     /**
-     * 引数の商品規格IDで有効な支払方法IDの配列を取得する.
-     *
-     * @param array $productClassIds 商品規格IDの配列
-     * @return array 支払方法IDの配列
-     */
-    function getEnablePaymentIds($productClassIds) {
-        $size = count($productClassIds);
-        $objQuery =& SC_Query::getSingletonInstance();
-        $objQuery->groupby = 'GROUP BY payment_id HAVING COUNT(payment_id) = ?';
-        $paymentIds = $objQuery->getCol('payment_id', 'dtb_payment_options',
-                                        'product_class_id IN (' . implode(', ', array_pad(array(), $size, '?')) . ')',
-                                        array_merge($productClassIds, array($size)),
-                                        MDB2_FETCHMODE_ORDERED);
-        return $paymentIds;
-    }
-
-    /**
-     * 商品規格に支払方法を設定する.
-     *
-     * TODO 現在は DELETE/INSERT だが, UPDATE を検討する.
-     *
-     * @param integer $productClassId 商品規格ID
-     * @param array 設定する支払方法IDの配列
-     * @return void
-     */
-    function setPaymentOptions($productClassId, $paymentIds) {
-        $val['product_class_id'] = $productClassId;
-
-        $objQuery =& SC_Query::getSingletonInstance();
-        $objQuery->delete('dtb_payment_options', 'product_class_id = ?', array($productClassId));
-        $rank = 1;
-        foreach ($paymentIds as $paymentId) {
-            $val['payment_id'] = $paymentId;
-            $val['rank'] = $rank;
-            $objQuery->insert('dtb_payment_options', $val);
-            $rank++;
-        }
-    }
-
-    /**
      * 商品詳細の SQL を取得する.
      *
      * @param string $where 商品詳細の WHERE 句

変更: branches/version-2_5-dev/data/class/SC_View.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_View.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/SC_View.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -65,7 +65,7 @@
         }
 
         // サイト情報を取得する
-        // XXX 要動作確認. 不要の可能性有り
+        // XXX LC_Page 配下で取得した方が良い
         if($siteinfo) {
             if(!defined('LOAD_SITEINFO')) {
                 $this->objSiteInfo = new SC_SiteInfo();

変更: branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -340,20 +340,18 @@
      * 購入金額に応じた支払方法を取得する.
      *
      * @param integer $total 購入金額
-     * @param array $productClassIds 購入する商品規格IDの配列
+     * @param integer $deliv_id 配送業者ID
      * @return array 購入金額に応じた支払方法の配列
      */
-    function getPayment($total, $productClassIds) {
-        // 有効な支払方法を取得
-        $objProduct = new SC_Product();
-        $paymentIds = $objProduct->getEnablePaymentIds($productClassIds);
+    function getPaymentsByPrice($total, $deliv_id) {
 
+        $arrPaymentIds = $this->getPayments($deliv_id);
         $objQuery =& SC_Query::getSingletonInstance();
 
         // 削除されていない支払方法を取得
-        $where = 'del_flg = 0 AND payment_id IN (' . implode(', ', array_pad(array(), count($paymentIds), '?')) . ')';
+        $where = 'del_flg = 0 AND payment_id IN (' . implode(', ', array_pad(array(), count($arrPaymentIds), '?')) . ')';
         $objQuery->setOrder("rank DESC");
-        $payments = $objQuery->select("payment_id, payment_method, rule, upper_rule, note, payment_image", "dtb_payment", $where, $paymentIds);
+        $payments = $objQuery->select("payment_id, payment_method, rule, upper_rule, note, payment_image", "dtb_payment", $where, $arrPaymentIds);
 
         foreach ($payments as $data) {
             // 下限と上限が設定されている
@@ -484,17 +482,33 @@
     }
 
     /**
-     * 商品種別ID から配送業者ID を取得する.
+     * 商品種別ID から配送業者を取得する.
      */
     function getDeliv($productTypeId) {
         $objQuery =& SC_Query::getSingletonInstance();
-        $result = $objQuery->get("deliv_id", "dtb_deliv", "product_type_id = ?",
+        return $objQuery->select("*", "dtb_deliv", "product_type_id = ?",
                                  array($productTypeId));
-        // XXX ダウンロード商品の場合の dtb_shipping の扱い
-        return is_null($result) ? 0 : $result;
     }
 
     /**
+     * 配送業者ID から, 有効な支払方法を取得する.
+     *
+     * @param integer $deliv_id 配送業者ID
+     * @return array 有効な支払方法IDの配列
+     */
+    function getPayments($deliv_id) {
+        $objQuery =& SC_Query::getSingletonInstance();
+        $from = <<< __EOS__
+                      dtb_deliv T1
+            LEFT JOIN dtb_payment_options T2
+                   ON T1.deliv_id = T2.deliv_id
+__EOS__;
+        $objQuery->setOrder('T2.rank');
+        return $objQuery->getCol('payment_id', $from, 'T1.deliv_id = ?',
+                                 array($deliv_id), MDB2_FETCHMODE_ORDERED);
+    }
+
+    /**
      * 配送情報を登録する.
      */
     function registerShipping($orderId, $params) {

変更: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -55,6 +55,7 @@
         $masterData = new SC_DB_MasterData_Ex();
         $this->arrPref = $masterData->getMasterData('mtb_pref');
         $this->arrProductType = $masterData->getMasterData("mtb_product_type");
+        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
         $this->tpl_subtitle = '配送業者設定';
         $this->mode = $this->getMode();
     }
@@ -133,6 +134,7 @@
                 $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
                 $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
                 $this->objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+                $this->objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
 
                 for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
                     $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
@@ -258,6 +260,18 @@
                 }
             }
         }
+
+        // TODO 支払方法登録
+        $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($_POST['deliv_id']));
+        $sqlval = array();
+        $i = 1;
+        foreach ($arrRet['payment_ids'] as $val) {
+            $sqlval['deliv_id'] = $deliv_id;
+            $sqlval['payment_id'] = $val;
+            $sqlval['rank'] = $i;
+            $objQuery->insert('dtb_payment_options', $sqlval);
+            $i++;
+        }
         $objQuery->commit();
         return $deliv_id;
     }
@@ -287,6 +301,16 @@
         $table = "dtb_delivfee";
         $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
         $this->objFormParam->setParamList($arrRet, 'fee');
+        // 支払方法
+        $col = 'payment_id';
+        $where = 'deliv_id = ? ORDER BY rank';
+        $table = 'dtb_payment_options';
+        $arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
+        $arrPaymentIds = array();
+        foreach ($arrRet as $val) {
+            $arrPaymentIds[] = $val['payment_id'];
+        }
+        $this->objFormParam->setValue('payment_ids', $arrPaymentIds);
     }
 
     /* 入力内容のチェック */

変更: branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -73,7 +73,6 @@
         $this->arrAllowedTag = $masterData->getMasterData("mtb_allowed_tag");
         $this->arrProductType = $masterData->getMasterData("mtb_product_type");
         $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList("dtb_maker", "maker_id", "name");
-        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
         $this->tpl_nonclass = true;
     }
 
@@ -142,7 +141,6 @@
                 $this->arrForm = $this->lfGetProduct($_POST['product_id']);
                 $productStatus= $objProduct->getProductStatus(array($_POST['product_id']));
                 $this->arrForm['product_status'] = $productStatus[$_POST['product_id']];
-                $this->arrForm['payment_ids'] = $objProduct->getEnablePaymentIds(array($this->arrForm['product_class_id']));
 
                 // DBデータから画像ファイル名の読込
                 $this->objUpFile->setDBFileList($this->arrForm);
@@ -683,11 +681,6 @@
                 $objErr->doFunc(array("在庫数", "stock", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
             }
 
-            // 支払方法チェック
-            if (empty($array['payment_ids'])) {
-                $objErr->arrErr['payment_ids'] = "※ 支払方法は、いずれかを選択してください。<br />";
-            }
-
             //ダウンロード商品チェック
             if($array['product_type_id'] == PRODUCT_TYPE_DOWNLOAD) {
                 $objErr->doFunc(array("ダウンロードファイル名", "down_filename", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
@@ -931,9 +924,6 @@
             $objQuery->update('dtb_products_class', $sqlval, "product_class_id = ?", array($sqlval['product_class_id']));
 
         }
-
-        $objProduct = new SC_Product();
-        $objProduct->setPaymentOptions($sqlval['product_class_id'], $arrList['payment_ids']);
     }
 
     /* ダウンロードファイル情報の初期化 */

変更: branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -55,7 +55,6 @@
         $this->tpl_subtitle = '商品登録(商品規格)';
         $masterData = new SC_DB_MasterData_Ex();
         $this->arrProductType = $masterData->getMasterData("mtb_product_type");
-        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
     }
 
     function lfInitDownFile() {
@@ -297,9 +296,6 @@
                 $objQuery->insert("dtb_products_class", $pVal);
             }
 
-            // 支払方法登録
-            $objProduct = new SC_Product();
-            $objProduct->setPaymentOptions($pVal['product_class_id'], $arrList['payment_ids:'.$i]);
             $i++;
         }
 
@@ -372,11 +368,6 @@
                     $objErr->arrErr['product_type_id:' . $no] = "※ 商品種別は、いずれかを選択してください。<br />";
                 }
 
-                // 支払方法チェック
-                if (empty($array['payment_ids:' . $no])) {
-                    $objErr->arrErr['payment_ids:' . $no] = "※ 支払方法は、いずれかを選択してください。<br />";
-                }
-
                 //ダウンロード商品チェック
                 if($array["product_type_id:".$no] == PRODUCT_TYPE_DOWNLOAD) {
                     $objErr->doFunc(array("ダウンロードファイル名", "down_filename:".$no, STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
@@ -396,7 +387,6 @@
             }
             if(count($objErr->arrErr) > 0) {
                 $objErr->arrErr["error:".$no] = $objErr->arrErr["product_type_id:".$no];
-                $objErr->arrErr["error:".$no] .= $objErr->arrErr["payment_ids:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["product_code:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["price01:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["price02:".$no];
@@ -489,9 +479,6 @@
                     $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . ($i+1), 'down_realfilename'. ":" . ($i+1), explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0);
                     break;
 
-                    case 'product_class_id':
-                        $this->arrForm["payment_ids:" . ($i+1)] = $objProduct->getEnablePaymentIds(array($val));
-                        break;
                 default:
                 }
             }

変更: 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-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -289,9 +289,9 @@
             $objPurchase->copyFromOrder($sqlval, $params);
         }
 
-        $deliv_id = $objPurchase->getDeliv($productTypeId);
-        $order_val = array('deliv_id' => $deliv_id);
-        $shipping_val = array('deliv_id' => $deliv_id);
+        $arrDeliv = $objPurchase->getDeliv($productTypeId);
+        $order_val = array('deliv_id' => $arrDeliv[0]['deliv_id']);
+        $shipping_val = array('deliv_id' => $arrDeliv[0]['deliv_id']);
 
         /*
          * order_* と shipping_* をそれぞれ $_SESSION['shipping'][$shipping_id]

変更: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Deliv.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -171,7 +171,8 @@
                 // 会員情報の住所を受注一時テーブルに書き込む
                 $objPurchase->copyFromCustomer($sqlval, $objCustomer, 'shipping');
                 // FIXME ダウンロード商品の場合は配送無し
-                $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
+                $arrDeliv = $objPurchase->getDeliv($this->cartKey);
+                $sqlval['deliv_id'] = $arrDeliv[0]['deliv_id'];
                 $objPurchase->saveShippingTemp($sqlval);
                 $objPurchase->saveOrderTemp($uniqid, $sqlval, $objCustomer);
                 // 正常に登録されたことを記録しておく
@@ -192,7 +193,8 @@
         // 会員登録住所に送る
         case 'customer_addr':
             $sqlval = array();
-            $sqlval['deliv_id'] = $objPurchase->getDeliv($this->cartKey);
+            $arrDeliv = $objPurchase->getDeliv($this->cartKey);
+            $sqlval['deliv_id'] = $arrDeliv[0]['deliv_id'];
             // 会員登録住所がチェックされている場合
             if ($_POST['deliv_check'] == '-1') {
                 // 会員情報の住所を受注一時テーブルに書き込む

変更: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	2011-02-02 07:56:53 UTC (rev 20069)
@@ -136,8 +136,9 @@
         // 購入金額の取得
         $total_inctax = $objCartSess->getAllProductsTotal($this->cartKey);
 
-        // 支払い方法の取得
-        $this->arrPayment = $objPurchase->getPayment($total_inctax, $objCartSess->getAllProductClassID($this->cartKey));
+        // FIXME 支払い方法の取得
+        $arrDeliv = $objPurchase->getDeliv($this->cartKey);
+        $this->arrPayment = $objPurchase->getPaymentsByPrice($total_inctax, $arrDeliv[0]['deliv_id']);
 
         switch($this->getMode()) {
         case 'confirm':

変更: branches/version-2_5-dev/html/install/sql/insert_data.sql
===================================================================
--- branches/version-2_5-dev/html/install/sql/insert_data.sql	2011-02-01 12:33:58 UTC (rev 20068)
+++ branches/version-2_5-dev/html/install/sql/insert_data.sql	2011-02-02 07:56:53 UTC (rev 20069)
@@ -297,6 +297,7 @@
 INSERT INTO dtb_csv (no, csv_id, col, disp_name, rank, rw_flg, status, create_date, update_date, mb_convert_kana_option, size_const_type, error_check_types) VALUES (199, 5, 'rank', '表示ランク', 5, 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'n', 'INT_LEN', 'NUM_CHECK,MAX_LENGTH_CHECK');
 
 INSERT INTO dtb_deliv (deliv_id, product_type_id, name, service_name, confirm_url, rank, status, del_flg, creator_id, create_date, update_date) VALUES (1, 1, 'サンプル業者', 'サンプル業者', NULL, 1, 1, 0, 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
+INSERT INTO dtb_deliv (deliv_id, product_type_id, name, service_name, confirm_url, rank, status, del_flg, creator_id, create_date, update_date) VALUES (2, 2, '配送無し(ダウンロード商品用)', 'なし', NULL, 1, 1, 0, 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
 
 INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (1, 1, 1000, 1);
 INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (1, 2, 1000, 2);
@@ -345,6 +346,53 @@
 INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (1, 45, 1000, 45);
 INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (1, 46, 1000, 46);
 INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (1, 47, 1000, 47);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 1, 0, 1);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 2, 0, 2);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 3, 0, 3);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 4, 0, 4);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 5, 0, 5);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 6, 0, 6);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 7, 0, 7);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 8, 0, 8);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 9, 0, 9);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 10, 0, 10);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 11, 0, 11);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 12, 0, 12);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 13, 0, 13);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 14, 0, 14);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 15, 0, 15);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 16, 0, 16);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 17, 0, 17);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 18, 0, 18);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 19, 0, 19);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 20, 0, 20);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 21, 0, 21);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 22, 0, 22);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 23, 0, 23);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 24, 0, 24);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 25, 0, 25);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 26, 0, 26);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 27, 0, 27);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 28, 0, 28);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 29, 0, 29);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 30, 0, 30);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 31, 0, 31);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 32, 0, 32);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 33, 0, 33);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 34, 0, 34);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 35, 0, 35);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 36, 0, 36);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 37, 0, 37);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 38, 0, 38);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 39, 0, 39);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 40, 0, 40);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 41, 0, 41);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 42, 0, 42);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 43, 0, 43);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 44, 0, 44);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 45, 0, 45);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 46, 0, 46);
+INSERT INTO dtb_delivfee (deliv_id, fee_id, fee, pref) VALUES (2, 47, 0, 47);
 
 INSERT INTO dtb_delivtime (deliv_id, time_id, deliv_time) VALUES (1, 1, '午前');
 INSERT INTO dtb_delivtime (deliv_id, time_id, deliv_time) VALUES (1, 2, '午後');




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