[Svn-src-all:1514] [version-2_5-dev 20410] #1030 商品規格登録リファクタリング

adachi admin @ mail.ec-cube.net
2011年 2月 25日 (金) 20:30:43 JST


Subversion committed to /home/svn/open 20410
http://svn.ec-cube.net/open_trac/changeset/20410
┌────────────────────────────┐
│更新者 :  adachi                                       │
│更新日時:  2011-02-25 20:30:43 +0900 (金, 25  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#1030 商品規格登録リファクタリング
- $_POSTをactionメソッドに吸収

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   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
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	2011-02-25 10:12:58 UTC (rev 20409)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	2011-02-25 11:30:43 UTC (rev 20410)
@@ -57,15 +57,6 @@
         $this->arrProductType = $masterData->getMasterData("mtb_product_type");
     }
 
-    function lfInitDownFile() {
-    	$i = 1;
-        while (isset($_POST['classcategory_id1:' . $i])) {
-	        //ファイル系処理
-	        $this->objDownFile->addFile("ダウンロード販売用ファイル", 'down_realfilename'. ":" . $i, explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0);
-            $i++;
-        }
-    }
-
     /**
      * Page のプロセス.
      *
@@ -82,112 +73,147 @@
      * @return void
      */
     function action() {
-        $this->arrSearchHidden = $this->createSearchParams($_POST);
+        // 商品マスタの検索条件パラメータを初期化
+        $objFormParam = new SC_FormParam();
+        $this->initParam($objFormParam);
 
-        // FORMデータの引き継ぎ
-        $this->arrForm = $_POST;
+        // 規格行のPOSTパラメータを初期化
+        $count = $this->getRowMax($_POST);
+        $this->initRowParam($count, $objFormParam);
+        $objFormParam->setParam($_POST);
+        $objFormParam->convParam();
 
-        $this->tpl_product_id =
-            isset($_POST['product_id']) ? $_POST['product_id'] : "" ;
-        $this->tpl_pageno = isset($_POST['pageno']) ? $_POST['pageno'] : "";
+        $this->arrSearchHidden = $objFormParam->getSearchArray();
 
-        // Downファイル管理クラス
+        $this->tpl_product_id = $objFormParam->getValue('product_id');
+        $this->tpl_pageno = $objFormParam->getValue('pageno');
+
+        // Downファイル管理クラスを初期化
         $this->objDownFile = new SC_UploadFile(DOWN_TEMP_REALDIR, DOWN_SAVE_REALDIR);
-        $this->lfInitDownFile();
+        $this->initDownFile($count, $this->objDownFile);
+
+        $this->arrForm = $objFormParam->getHashArray();
+
         switch ($this->getMode()) {
+
+        // 編集実行
         case 'edit':
-            // 入力値の変換
-            $this->arrForm = $this->lfConvertParam($_POST);
             // エラーチェック
             $this->arrErr = $this->lfProductClassError($this->arrForm);
             if (empty($this->arrErr)){
             	$this->tpl_mainpage = 'products/product_class_confirm.tpl';
-                $this->lfProductConfirmPage(); // 確認ページ表示
+                $this->lfProductConfirmPage($this->arrForm); // 確認ページ表示
             } else {
-            	$this->doPreEdit(false ,true);
-		        // Hiddenからのデータを引き継ぐ
+            	$this->doPreEdit($objFormParam->getValue('product_id'), false ,true);
+                // Hiddenからのデータを引き継ぐ
 		        $this->objDownFile->setHiddenFileList($_POST);
 	            // HIDDEN用に配列を渡す。
 		        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
 		        // Form用に配列を渡す。
 		        $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile());
-                $this->doDisp();
+                $this->doDisp($objFormParam->getValue('product_id'),
+                              $objFormParam->getValue('select_class_id1'),
+                              $objFormParam->getValue('select_class_id2'));
             }
             break;
 
+        // 削除
         case 'delete':
-            $this->doDelete();
+            $this->doDelete($objFormParam->getValue('product_id'));
             break;
 
+        // 初期表示
         case 'pre_edit':
-            $this->doPreEdit();
+            $this->doPreEdit($objFormParam->getValue('product_id'));
             // HIDDEN用に配列を渡す。
 	        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
             break;
 
+        // 「表示する」ボタン押下時
         case 'disp':
-            $this->doDisp();
+            $this->doDisp($objFormParam->getValue('product_id'),
+                          $objFormParam->getValue('select_class_id1'),
+                          $objFormParam->getValue('select_class_id2'));
             break;
+
         // ダウンロード商品ファイルアップロード
         case 'upload_down':
-            $this->doPreEdit(true);
+            $product_id = $objFormParam->getValue('product_id');
+            $down_key   = $objFormParam->getValue('down_key');
+            // 編集画面用パラメータをセット
+            $this->doPreEdit($product_id, true);
 	        // Hiddenからのデータを引き継ぐ
 	        $this->objDownFile->setHiddenKikakuFileList($_POST);
             // ファイル存在チェック
-            $this->arrErr = array_merge((array)$this->arrErr, (array)$this->objDownFile->checkEXISTS($_POST['down_key']));
+            $this->arrErr = array_merge((array)$this->arrErr, (array)$this->objDownFile->checkEXISTS($down_key));
             // ファイル保存処理
-            $this->arrErr[$_POST['down_key']] = $this->objDownFile->makeTempDownFile($_POST['down_key']);
+            $this->arrErr[$down_key] = $this->objDownFile->makeTempDownFile($down_key);
             // HIDDEN用に配列を渡す。
 	        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
 	        // Form用に配列を渡す。
 	        $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile());
-            $this->doDisp();
+            // 規格の組み合わせ一覧を表示
+            $this->doDisp($product_id,
+                          $objFormParam->getValue('select_class_id1'),
+                          $objFormParam->getValue('select_class_id2'));
             break;
+
         // ダウンロードファイルの削除
         case 'delete_down':
-            $this->doPreEdit(true);
+            $product_id = $objFormParam->getValue('product_id');
+            $down_key   = $objFormParam->getValue('down_key');
+            // 編集画面用パラメータをセット
+            $this->doPreEdit($product_id, true);
 	        // Hiddenからのデータを引き継ぐ
 	        $this->objDownFile->setHiddenKikakuFileList($_POST);
 	        // ファイル削除処理
-            $this->objDownFile->deleteKikakuFile($_POST['down_key']);
+            $this->objDownFile->deleteKikakuFile($down_key);
             // HIDDEN用に配列を渡す。
 	        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
 	        // Form用に配列を渡す。
 	        $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile());
-            $this->doDisp();
+            // 規格の組み合わせ一覧を表示
+            $this->doDisp($product_id,
+                          $objFormParam->getValue('select_class_id1'),
+                          $objFormParam->getValue('select_class_id2'));
             break;
+
+        // 確認画面からの戻り
         case 'confirm_return':
-            // フォームパラメータの引き継ぎ
-            $this->arrForm = $_POST;
             // 規格の選択情報は引き継がない。
             $this->arrForm['select_class_id1'] = "";
             $this->arrForm['select_class_id2'] = "";
-            $this->doPreEdit(false,true);
+            $this->doPreEdit($objFormParam->getValue('product_id'), false, true);
 	        // Hiddenからのデータを引き継ぐ
 	        $this->objDownFile->setHiddenFileList($_POST);
             // HIDDEN用に配列を渡す。
 	        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
 	        // Form用に配列を渡す。
 	        $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile());
-            $this->doDisp();
+            $this->doDisp($objFormParam->getValue('product_id'),
+                          $objFormParam->getValue('select_class_id1'),
+                          $objFormParam->getValue('select_class_id2'));
             break;
         case 'complete':
             // 完了ページ設定
             $this->tpl_mainpage = 'products/product_class_complete.tpl';
             // ファイル情報の初期化
-            $this->lfInitDownFile();
 	        // Hiddenからのデータを引き継ぐ
 	        $this->objDownFile->setHiddenFileList($_POST);
             // 商品規格の登録
-            $this->registerProductClass($_POST, $_POST['product_id']);
+            $arrList = $objFormParam->getHashArray();
+            $this->registerProductClass($arrList, $objFormParam->getValue('product_id'));
             // 一時ファイルを本番ディレクトリに移動する
             $this->objDownFile->moveTempDownFile();
             break;
 
         default:
         }
+
+        // 規格プルダウンのリストを取得
         $this->arrClass = $this->getAllClass();
-        $this->arrForm['product_name'] = $this->getProductName($_POST['product_id']);
+        // 登録対象の商品名を取得
+        $this->arrForm['product_name'] = $this->getProductName($objFormParam->getValue('product_id'));
     }
 
     /**
@@ -198,8 +224,96 @@
     function destroy() {
         parent::destroy();
     }
+    /**
+     * パラメータ初期化
+     *
+     * @param <type> $objFormParam
+     */
+    function initParam(&$objFormParam) {
+        $objFormParam->addParam();
+        // 商品マスタ検索パラメータ引き継ぎ
+        $objFormParam->addParam("商品ID", "product_id", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("カテゴリID", "category_id", STEXT_LEN, "n", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("ページ送り番号","search_pageno", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("表示件数", "search_page_max", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("商品ID", "search_product_id", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("商品コード", "search_product_code", STEXT_LEN, "KVna", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("商品名", "search_name", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("カテゴリ", "search_category_id", STEXT_LEN, "n", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("種別", "search_status", INT_LEN, "n", array("MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("開始年", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("開始月", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("開始日", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("終了年", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("終了月", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("終了日", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("ステータス", "search_product_flag", INT_LEN, "n", array("MAX_LENGTH_CHECK"));
 
+        // 規格プルダウン
+        $objFormParam->addParam("規格1", "select_class_id1", null, null, array());
+        $objFormParam->addParam("規格2", "select_class_id2", null, null, array());
+        $objFormParam->addParam("規格1", "class_id1", null, null, array());
+        $objFormParam->addParam("規格2", "class_id2", null, null, array());
+
+        // ファイルアップロード用
+        $objFormParam->addParam("ファイルアップロード用キー", "down_key", null, null, array());
+    }
+
     /**
+     * 規格行ごとのパラメータを初期化する
+     *
+     * @param 行数 $count
+     * @param SC_FormParam $objFormParam
+     */
+    function initRowParam($count, &$objFormParam) {
+        for ($i = 1; $i < $count; $i++) {
+            $objFormParam->addParam("規格ID1", "classcategory_id1:$i", null, null, array());
+            $objFormParam->addParam("規格ID2", "classcategory_id2:$i", null, null, array());
+            $objFormParam->addParam("規格名", "name1:$i", null, null, array());
+            $objFormParam->addParam("企画名", "name2:$i", null, null, array());
+            $objFormParam->addParam("product_class_id", "product_class_id:$i", null, null, array());
+            $objFormParam->addParam("商品コード", "product_code:$i", STEXT_LEN, null, array("MAX_LENGTH_CHECK"));
+            $objFormParam->addParam("在庫数", "stock:$i", AMOUNT_LEN, null, array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam("在庫数", "stock_unlimited:$i", null, null, array());
+            $objFormParam->addParam(NORMAL_PRICE_TITLE, "price01:$i", PRICE_LEN, null, array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam(SALE_PRICE_TITLE, "price02:$i", PRICE_LEN, null, array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+            $objFormParam->addParam("商品種別", "product_type_id:$i", null, null, array());
+            $objFormParam->addParam("DLファイル名", "down_filename:$i", null, null, array());
+            $objFormParam->addParam("DLファイル名", "down_realfilename:$i", null, null, array());
+            $objFormParam->addParam("チェックボックス", "check:$i", null, null, array());
+        }
+    }
+
+    /**
+     * Downファイル管理クラスを初期化
+     *
+     * @param 行数 $count
+     * @param SC_FormParam $objDownFile
+     */
+    function initDownFile($count, &$objDownFile) {
+    	$i = 1;
+        for ($i = 1; $i < $count; $i++) {
+            $objDownFile->addFile("ダウンロード販売用ファイル", 'down_realfilename'. ":" . $i, explode(",", DOWNLOAD_EXTENSION), DOWN_SIZE, true, 0, 0);
+        }
+    }
+
+    /**
+     * 規格行の最大値を返す
+     *
+     * @param array $arrPost POSTパラメータ
+     * @return int 規格行の最大値
+     */
+    function getRowMax($arrPost) {
+        $i = 1;
+        foreach ($arrPost as $key => $value) {
+            if ($key == "classcategory_id1:$i") {
+                $i++;
+            }
+        }
+        return $i;
+    }
+
+    /**
      * 規格の登録または更新を行う.
      *
      * TODO dtb_class_combination は, dtb_product_categories に倣って,
@@ -309,7 +423,13 @@
         $objQuery->commit();
     }
 
-    // 規格選択エラーチェック
+    /**
+     * 規格選択エラーチェックを行う
+     *
+     * ※SC_FormParamで対応していないエラーチェックのため, SC_CheckErrorを使用している.
+     *
+     * @return array エラーの配列
+     */
     function lfClassError() {
         $objErr = new SC_CheckError();
         $objErr->doFunc(array("規格1", "select_class_id1"), array("EXIST_CHECK"));
@@ -383,7 +503,7 @@
                     }
                 }
             }
-            if(count($objErr->arrErr) > 0) {
+            if (count($objErr->arrErr) > 0) {
                 $objErr->arrErr["error:".$no] = $objErr->arrErr["product_type_id:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["product_code:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["price01:".$no];
@@ -392,23 +512,25 @@
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["stock:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["down_filename:".$no];
                 $objErr->arrErr["error:".$no] .= $objErr->arrErr["down_realfilename:".$no];
-
             }
             $no++;
         }
         return $objErr->arrErr;
     }
 
-    /* 確認ページ表示用 */
-    function lfProductConfirmPage() {
+    /**
+     * 確認ページを表示する
+     *
+     */
+    function lfProductConfirmPage($arrPost) {
         $objDb = new SC_Helper_DB_Ex();
         $this->arrForm['mode'] = 'complete';
         $this->arrClass = $objDb->sfGetIDValueList("dtb_class", 'class_id', 'name');
         $cnt = 0;
         $check = 0;
         $no = 1;
-        while($_POST["classcategory_id1:".$no] != "") {
-            if($_POST["check:".$no] != "") {
+        while ($arrPost["classcategory_id1:".$no] != "") {
+            if ($arrPost["check:".$no] != "") {
                 $check++;
             }
             $no++;
@@ -425,15 +547,14 @@
      * 2. 規格1, 規格2における規格分類のすべての組み合わせを取得し,
      *    該当商品の商品規格の内容を取得し, フォームに設定する.
      */
-    function doDisp() {
-        $this->arrForm['select_class_id1'] = $_POST['select_class_id1'];
-        $this->arrForm['select_class_id2'] = $_POST['select_class_id2'];
+    function doDisp($product_id, $select_class_id1, $select_class_id2) {
+        $this->arrForm['select_class_id1'] = $select_class_id1;
+        $this->arrForm['select_class_id2'] = $select_class_id2;
         $dispError = $this->lfClassError();
         if (SC_Utils_Ex::isBlank($dispError)) {
-            $this->arrClassCat = $this->getAllClassCategory($_POST['select_class_id1'], $_POST['select_class_id2']);
+            $this->arrClassCat = $this->getAllClassCategory($select_class_id1, $select_class_id2);
+            $productsClass = $this->getProductsClass($product_id);
 
-            $productsClass = $this->getProductsClass($_POST['product_id']);
-
             $total = count($this->arrClassCat);
             for ($i = 1; $i <= $total; $i++) {
                 foreach ($productsClass as $key => $val) {
@@ -446,43 +567,47 @@
     }
 
     /**
-     * 規格編集画面を表示する.
+     * 規格編集画面を表示する
+     *
+     * @param integer $product_id 商品ID
+     * @param bool $existsValue
+     * @param bool $usepostValue
      */
-    function doPreEdit($existsValue = true,$usepostValue = false) {
-        $existsProductsClass = $this->getProductsClassAndClasscategory($_POST['product_id']);
-        $productsClass = $this->getProductsClass($_POST['product_id']);
+    function doPreEdit($product_id, $existsValue = true, $usepostValue = false) {
+        $existsProductsClass = $this->getProductsClassAndClasscategory($product_id);
+        $productsClass = $this->getProductsClass($product_id);
         $this->arrForm["class_id1"] = $existsProductsClass[0]['class_id1'];
         $this->arrForm["class_id2"] = $existsProductsClass[0]['class_id2'];
         $this->arrForm['select_class_id1'] = $this->arrForm["class_id1"];
         $this->arrForm['select_class_id2'] = $this->arrForm["class_id2"];
         $this->arrClassCat = $this->getAllClassCategory($this->arrForm["class_id1"], $this->arrForm["class_id2"]);
-        $objProduct = new SC_Product();
+
         $total = count($this->arrClassCat);
-        // XXX $i = 1 にすれば ($i+1) は $i で良い?
+        $line  = '';
+
         for ($i = 0; $i < $total; $i++) {
+            $no = $i + 1;
             if ($existsValue) {
                 foreach ($productsClass as $key => $val) {
                     if(!$usepostValue){
-                        $this->arrForm[$key . ":" . ($i+1)] = $val;
+                        $this->arrForm[$key . ":" . $no] = $val;
                     }
                 }
             }
             foreach ($existsProductsClass[$i] as $key => $val) {
-                if(!$usepostValue){
-                    $this->arrForm[$key . ":" . ($i+1)] = $val;
+                if (!$usepostValue) {
+                    $this->arrForm[$key . ":" . $no] = $val;
                 }
-
                 switch ($key) {
                 case 'down':
-                    $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . ($i+1), 'down_realfilename'. ":" . ($i+1), explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0);
+                    $this->objDownFile->addFile("ダウンロード販売用ファイル". ":" . $no, 'down_realfilename'. ":" . $no, explode(",", DOWNLOAD_EXTENSION),DOWN_SIZE, true, 0, 0);
                     break;
-
                 default:
                 }
             }
-            if (!SC_Utils_Ex::isBlank($this->arrForm['product_id:' . ($i+1)])
-                && $this->arrForm["del_flg:" . ($i+1)] == 0) {
-                $line .= "'check:" . ($i+1) . "',";
+            if (!SC_Utils_Ex::isBlank($this->arrForm['product_id:' . $no])
+                && $this->arrForm["del_flg:" . $no] == 0) {
+                $line .= "'check:" . $no . "',";
             }
         }
 
@@ -494,24 +619,33 @@
         // DBデータからダウンロードファイル名の読込
         $this->objDownFile->setDBFileList($this->arrForm);
         // PostデータからダウンロードTempファイル名の読込
-        $this->objDownFile->setPostFileList($_POST,$this->arrForm);
+        $this->objDownFile->setPostFileList($_POST, $this->arrForm);
     }
 
-    function doDelete() {
+    /**
+     * 規格の削除を実行する
+     *
+     * @param $product_id
+     * @return void
+     */
+    function doDelete($product_id) {
         $objQuery =& SC_Query::getSingletonInstance();
 
         $objQuery->begin();
-        $val['del_flg'] = 0;
-        $objQuery->update("dtb_products_class", $val, "product_id = ? AND class_combination_id IS NULL", array($_POST['product_id']));
 
-        $val['del_flg'] = 1;
-        $objQuery->update("dtb_products_class", $val, "product_id = ? AND class_combination_id IS NOT NULL", array($_POST['product_id']));
+        $arrProductsClass = array();
+        $arrProductsClass['del_flg'] = 0;
+        $objQuery->update("dtb_products_class", $arrProductsClass, "product_id = ? AND class_combination_id IS NULL", array($product_id));
 
+        $arrProductsClass['del_flg'] = 1;
+        $objQuery->update("dtb_products_class", $arrProductsClass, "product_id = ? AND class_combination_id IS NOT NULL", array($product_id));
+
         $objQuery->commit();
 
         // 在庫無し商品の非表示対応
         if (NOSTOCK_HIDDEN === true) {
             // 件数カウントバッチ実行
+            $objDb = new SC_Helper_DB_Ex();
             $objDb->sfCountCategory($objQuery);
         }
     }
@@ -531,11 +665,13 @@
             . " T1.name AS name1, "
             . " T1.rank AS rank1 ";
 
+        $table = '';
+        $arrParams = array();
         if(SC_Utils_Ex::isBlank($class_id2)) {
             $table = "dtb_classcategory T1 ";
             $objQuery->setWhere("T1.class_id = ?");
             $objQuery->setOrder("T1.rank DESC");
-            $val = array($class_id1);
+            $arrParams = array($class_id1);
         } else {
             $col .= ","
                 . "T2.class_id AS class_id2,"
@@ -545,9 +681,9 @@
             $table = "dtb_classcategory AS T1, dtb_classcategory AS T2";
             $objQuery->setWhere("T1.class_id = ? AND T2.class_id = ?");
             $objQuery->setOrder("T1.rank DESC, T2.rank DESC");
-            $val = array($class_id1, $class_id2);
+            $arrParams = array($class_id1, $class_id2);
         }
-        return $objQuery->select($col, $table, "", $val);
+        return $objQuery->select($col, $table, "", $arrParams);
     }
 
     /**
@@ -615,10 +751,7 @@
      */
     function getProductsClass($product_id) {
         $objQuery =& SC_Query::getSingletonInstance();
-        $col = <<< __EOS__
-            product_id, product_code, price01, price02, stock,
-            stock_unlimited, point_rate
-__EOS__;
+        $col = "product_id, product_code, price01, price02, stock,  stock_unlimited, point_rate";
         return $objQuery->getRow($col, "dtb_products_class", "product_id = ?", array($product_id));
     }
 
@@ -633,4 +766,3 @@
         return $objProduct->getProductsClassFullByProductId($productId);
     }
 }
-?>




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