Changeset 21499


Ignore:
Timestamp:
2012/02/13 17:25:35 (12 years ago)
Author:
Seasoft
Message:

木構造を使用しないパッチ (3版) (for r21496)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/patches/no_tree.patch

    r21434 r21499  
    11Index: data/class/helper/SC_Helper_DB.php 
    22=================================================================== 
    3 --- data/class/helper/SC_Helper_DB.php  (revision 21433) 
     3--- data/class/helper/SC_Helper_DB.php  (revision 21496) 
    44+++ data/class/helper/SC_Helper_DB.php  (working copy) 
    55@@ -1437,7 +1437,7 @@ 
     
    1414Index: data/class/pages/admin/products/LC_Page_Admin_Products_Product.php 
    1515=================================================================== 
    16 --- data/class/pages/admin/products/LC_Page_Admin_Products_Product.php  (revision 21433) 
     16--- data/class/pages/admin/products/LC_Page_Admin_Products_Product.php  (revision 21496) 
    1717+++ data/class/pages/admin/products/LC_Page_Admin_Products_Product.php  (working copy) 
    1818@@ -1048,32 +1048,14 @@ 
    1919                     $objQuery->setOrder('product_class_id'); 
    20                      $arrProductsClass = $objQuery->select($col, $table, $where, array($arrList["copy_product_id"])); 
     20                     $arrProductsClass = $objQuery->select($col, $table, $where, array($arrList['copy_product_id'])); 
    2121  
    2222-                    // 複製元商品の規格組み合わせデータ登録 
     
    2626                     // 規格データ登録 
    2727                     $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    28                      foreach($arrProductsClass as $arrData) { 
     28                     foreach ($arrProductsClass as $arrData) { 
    2929-                        $sqlval = array(); 
    3030+                        $sqlval = $arrData; 
     
    6969- 
    7070-        // 規格組み合わせデータを複製登録 
    71 -        if($has_class2 == true) { 
     71-        if ($has_class2 == true) { 
    7272-            // 規格2を持っている場合、規格1の組み合わせデータも取得 
    7373-            $arrClassCombinationParent = $this->lfGetClassCombination($arrClassCombination, true); 
     
    9494-        $has_class2 = false; 
    9595- 
    96 -        foreach($arrClassCombination as $arrVal) { 
    97 -            if($arrVal['level'] == '2') { 
     96-        foreach ($arrClassCombination as $arrVal) { 
     97-            if ($arrVal['level'] == '2') { 
    9898-                $has_class2 = true; 
    9999-                break; 
     
    114114-        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    115115-        $key = 'class_combination_id'; 
    116 -        if($is_parent == true) { 
     116-        if ($is_parent == true) { 
    117117-            $key = 'parent_class_combination_id'; 
    118118-        } 
     
    120120-        $where = 'class_combination_id IN ('; 
    121121-        $arrParam = array(); 
    122 -        foreach($arrData as $arrVal) { 
    123 -            if(SC_Utils_Ex::isBlank($arrVal[$key]) == true) { 
     122-        foreach ($arrData as $arrVal) { 
     123-            if (SC_Utils_Ex::isBlank($arrVal[$key]) == true) { 
    124124-                continue; 
    125125-            } 
     
    145145- 
    146146-        // 親組み合わせIDの指定がある場合、指定された親組み合わせIDで複製登録 
    147 -        if(count($arrParentCombinationId) > 0) { 
    148 -            foreach($arrClassCombination as $key => $arrVal) { 
     147-        if (count($arrParentCombinationId) > 0) { 
     148-            foreach ($arrClassCombination as $key => $arrVal) { 
    149149-                $arrClassCombination[$key]['parent_class_combination_id'] = $arrParentCombinationId[$arrVal['parent_class_combination_id']]; 
    150150-            } 
    151151-        } 
    152152- 
    153 -        foreach($arrClassCombination as $arrVal) { 
     153-        foreach ($arrClassCombination as $arrVal) { 
    154154-            $sqlval = array(); 
    155155-            $sqlval['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id'); 
     
    171171Index: data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php 
    172172=================================================================== 
    173 --- data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php (revision 21433) 
     173--- data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php (revision 21496) 
    174174+++ data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php (working copy) 
    175175@@ -236,16 +236,18 @@ 
     
    235235         $arrBlank['del_flg'] = 1; 
    236236         $arrBlank['update_date'] = 'CURRENT_TIMESTAMP'; 
    237          $objQuery->update("dtb_products_class", $arrBlank, 
     237         $objQuery->update('dtb_products_class', $arrBlank, 
    238238-                          "product_id = ? AND class_combination_id IS NULL", 
    239239+                          "product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0", 
     
    274274-                                    $existsCombi['parent_class_combination_id'])); 
    275275-        } 
    276 -        $objQuery->update("dtb_products_class", array('del_flg' => 0), 
     276-        $objQuery->update('dtb_products_class', array('del_flg' => 0), 
    277277-                          "product_id = ? AND class_combination_id IS NULL", 
    278278-                          array($product_id)); 
    279 -        $objQuery->delete("dtb_products_class", 
     279-        $objQuery->delete('dtb_products_class', 
    280280-                          "product_id = ? AND class_combination_id IS NOT NULL", 
    281281-                          array($product_id)); 
     
    291291         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    292292         $col = "product_code, price01, price02, stock, stock_unlimited, sale_limit, deliv_fee, point_rate"; 
    293 -        return $objQuery->getRow($col, "dtb_products_class", "product_id = ? AND class_combination_id IS NULL", array($product_id)); 
     293-        return $objQuery->getRow($col, 'dtb_products_class', "product_id = ? AND class_combination_id IS NULL", array($product_id)); 
    294294+        $where = 'product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0'; 
    295 +        return $objQuery->getRow($col, "dtb_products_class", $where, array($product_id)); 
     295+        return $objQuery->getRow($col, 'dtb_products_class', $where, array($product_id)); 
    296296     } 
    297297  
     
    299299Index: data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php 
    300300=================================================================== 
    301 --- data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php    (revision 21433) 
     301--- data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php    (revision 21496) 
    302302+++ data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php    (working copy) 
    303 @@ -613,6 +613,7 @@ 
     303@@ -612,6 +612,7 @@ 
    304304      */ 
    305305     function lfCheckErrorDetail($item, $arrErr) { 
    306306         // 規格IDの存在チェック 
    307307+        // FIXME 規格分類ID自体のが有効かを主眼においたチェックをすべきと感じる。 
    308          if(!$this->lfIsDbRecord('dtb_products_class', 'product_class_id', $item)) { 
     308         if (!$this->lfIsDbRecord('dtb_products_class', 'product_class_id', $item)) { 
    309309             $arrErr['product_class_id'] = "※ 指定の商品規格IDは、登録されていません。"; 
    310310         } 
    311 @@ -628,17 +629,6 @@ 
     311@@ -627,17 +628,6 @@ 
    312312                 } 
    313313             } 
    314314         } 
    315315-        // 規格組合せIDの存在チェック 
    316 -//        if(!$this->lfIsDbRecord('dtb_class_combination', 'class_combination_id', $item)) { 
     316-//        if (!$this->lfIsDbRecord('dtb_class_combination', 'class_combination_id', $item)) { 
    317317-//      SC_Utils::sfIsRecord が del_flg が無いと使えない為、個別処理 
    318318-        if(array_search('class_combination_id', $this->arrFormKeyList) !== FALSE 
    319 -                and $item['class_combination_id'] != "" ) { 
     319-                and $item['class_combination_id'] != "") { 
    320320-            $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    321321-            $ret = $objQuery->get('class_combination_id', 'dtb_class_combination', 'class_combination_id = ?', array($item['class_combination_id'])); 
    322 -            if($ret == "") { 
     322-            if ($ret == "") { 
    323323-                $arrErr['class_combination_id'] = "※ 指定の規格組合せIDは、登録されていません。"; 
    324324-            } 
    325325-        } 
    326326         // 表示ステータスの存在チェック 
    327          if(!$this->lfIsArrayRecord($this->arrDISP, 'status', $item)) { 
     327         if (!$this->lfIsArrayRecord($this->arrDISP, 'status', $item)) { 
    328328             $arrErr['status'] = "※ 指定の表示ステータスは、登録されていません。"; 
    329329Index: data/class/SC_Product.php 
    330330=================================================================== 
    331 --- data/class/SC_Product.php   (revision 21433) 
     331--- data/class/SC_Product.php   (revision 21496) 
    332332+++ data/class/SC_Product.php   (working copy) 
    333333@@ -258,9 +258,9 @@ 
     
    455455  
    456456     /** 
    457 @@ -788,7 +735,7 @@ 
     457@@ -448,9 +395,8 @@ 
     458     function getProductsClass($productClassId) { 
     459         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     460         $objQuery->setWhere('product_class_id = ? AND T1.del_flg = 0'); 
     461-        $results = $this->getProductsClassByQuery($objQuery, $productClassId); 
     462-        $productsClass = $this->getProductsClassFull($results); 
     463-        return $productsClass[0]; 
     464+        $arrRes = $this->getProductsClassByQuery($objQuery, $productClassId); 
     465+        return $arrRes[0]; 
     466     } 
     467  
     468     /** 
     469@@ -474,17 +420,6 @@ 
     470     } 
     471  
     472     /** 
     473-     * 商品IDに紐づいた, 商品規格を階層ごとに取得する. 
     474-     * 
     475-     * @param array $productId 商品ID 
     476-     * @return array 階層ごとの商品規格の配列 
     477-     */ 
     478-    function getProductsClassLevelByProductId($productId) { 
     479-        $results = $this->getProductsClassByProductIds(array($productId)); 
     480-        return $this->getProductsClassLevel($results); 
     481-    } 
     482- 
     483-    /** 
     484      * 商品IDに紐づいた, 商品規格をすべての組み合わせごとに取得する. 
     485      * 
     486      * @param array $productId 商品ID 
     487@@ -492,51 +427,11 @@ 
     488      * @return array すべての組み合わせの商品規格の配列 
     489      */ 
     490     function getProductsClassFullByProductId($productId, $has_deleted = false) { 
     491-        $results = $this->getProductsClassByProductIds(array($productId), $has_deleted); 
     492-        return $this->getProductsClassFull($results); 
     493+        $arrRet = $this->getProductsClassByProductIds(array($productId), $has_deleted); 
     494+        return $arrRet; 
     495     } 
     496  
     497     /** 
     498-     * 商品規格の配列から, 商品規格を階層ごとに取得する. 
     499-     * 
     500-     * @access private 
     501-     * @param array $productsClassResults 商品規格の結果の配列 
     502-     * @return array 階層ごとの商品規格の配列 
     503-     */ 
     504-    function getProductsClassLevel($productsClassResults) { 
     505-        foreach ($productsClassResults as $row) { 
     506-            $productsClassLevel['level' . $row['level']][] = $row; 
     507-        } 
     508-        return $productsClassLevel; 
     509-    } 
     510- 
     511-    /** 
     512-     * 商品規格の配列から, 商品規格のすべての組み合わせを取得する. 
     513-     * 
     514-     * @access private 
     515-     * @param array $productsClassResults 商品規格の結果の配列 
     516-     * @ array 階層ごとの商品規格の配列 
     517-     */ 
     518-    function getProductsClassFull($productsClassResults) { 
     519-        $results = $this->getProductsClassLevel($productsClassResults); 
     520-        $productsClass = array(); 
     521-        if (SC_Utils_Ex::isBlank($results['level1']) 
     522-            && SC_Utils_Ex::isBlank($results['level2'])) { 
     523-            return $results['level']; 
     524-        } 
     525- 
     526-        foreach ($results['level1'] as $level1) { 
     527-            foreach ($results['level2'] as $level2) { 
     528-                if ($level2['parent_class_combination_id'] == $level1['class_combination_id']) { 
     529-                    $level1 = array_merge($level1, $level2); 
     530-                } 
     531-            } 
     532-            $productsClass[] = $level1; 
     533-        } 
     534-        return $productsClass; 
     535-    } 
     536- 
     537-    /** 
     538      * 商品IDをキーにした, 商品ステータスIDの配列を取得する. 
     539      * 
     540      * @param array 商品ID の配列 
     541@@ -786,7 +681,6 @@ 
    458542         ( 
    459543              SELECT dtb_products.*, 
    460544                     dtb_products_class.product_class_id, 
    461545-                    dtb_products_class.class_combination_id, 
    462 +                    'dummy' AS class_combination_id, 
    463546                     dtb_products_class.product_type_id, 
    464547                     dtb_products_class.product_code, 
    465548                     dtb_products_class.stock, 
    466 @@ -800,11 +747,13 @@ 
     549@@ -798,11 +692,10 @@ 
    467550                     dtb_products_class.point_rate, 
    468551                     dtb_products_class.down_filename, 
     
    473556-                    Tpcm.classcategory_id as parent_classcategory_id, 
    474557-                    Tpcm.level as parent_classlevel, 
    475 +                    'dummy' AS parent_class_combination_id, -- 削除 
    476558+                    dtb_products_class.classcategory_id1 AS classcategory_id, -- 削除 
    477559+                    dtb_products_class.classcategory_id1, 
    478 +                    'dummy' as classlevel, -- 削除 
    479560+                    dtb_products_class.classcategory_id2 AS parent_classcategory_id, -- 削除 
    480561+                    dtb_products_class.classcategory_id2, 
    481 +                    'dummy' as parent_classlevel, -- 削除 
    482562                     Tcc1.class_id as class_id, 
    483563                     Tcc1.name as classcategory_name, 
    484564                     Tcc2.class_id as parent_class_id, 
    485 @@ -812,14 +761,10 @@ 
     565@@ -810,14 +703,10 @@ 
    486566              FROM dtb_products 
    487567                  LEFT JOIN dtb_products_class 
     
    502582Index: html/install/index.php 
    503583=================================================================== 
    504 --- html/install/index.php  (revision 21430) 
     584--- html/install/index.php  (revision 21496) 
    505585+++ html/install/index.php  (working copy) 
    506 @@ -1053,7 +1053,6 @@ 
    507                   array("dtb_payment", "payment_id"), 
    508                   array("dtb_products_class", "product_class_id"), 
    509                   array("dtb_products", "product_id"), 
    510 -                 array("dtb_class_combination", "class_combination_id"), 
    511                   array("dtb_review", "review_id"), 
    512                   array("dtb_send_history", "send_id"), 
    513                   array("dtb_mailmaga_template", "template_id")); 
     586@@ -1045,7 +1045,6 @@ 
     587         array('dtb_payment', 'payment_id'), 
     588         array('dtb_products_class', 'product_class_id'), 
     589         array('dtb_products', 'product_id'), 
     590-        array('dtb_class_combination', 'class_combination_id'), 
     591         array('dtb_review', 'review_id'), 
     592         array('dtb_send_history', 'send_id'), 
     593         array('dtb_mailmaga_template', 'template_id'), 
    514594Index: html/install/sql/create_table_mysql.sql 
    515595=================================================================== 
    516 --- html/install/sql/create_table_mysql.sql (revision 21430) 
     596--- html/install/sql/create_table_mysql.sql (revision 21496) 
    517597+++ html/install/sql/create_table_mysql.sql (working copy) 
    518 @@ -315,7 +315,8 @@ 
     598@@ -304,7 +304,8 @@ 
    519599 CREATE TABLE dtb_products_class ( 
    520600     product_class_id int  NOT NULL, 
     
    526606     product_code text, 
    527607     stock numeric, 
    528 @@ -357,14 +358,6 @@ 
     608@@ -346,14 +347,6 @@ 
    529609     PRIMARY KEY (classcategory_id) 
    530610 ) ENGINE=InnoDB; 
     
    543623Index: html/install/sql/create_table_pgsql.sql 
    544624=================================================================== 
    545 --- html/install/sql/create_table_pgsql.sql (revision 21430) 
     625--- html/install/sql/create_table_pgsql.sql (revision 21496) 
    546626+++ html/install/sql/create_table_pgsql.sql (working copy) 
    547 @@ -315,7 +315,8 @@ 
     627@@ -304,7 +304,8 @@ 
    548628 CREATE TABLE dtb_products_class ( 
    549629     product_class_id int NOT NULL, 
     
    555635     product_code text, 
    556636     stock numeric, 
    557 @@ -357,14 +358,6 @@ 
     637@@ -346,14 +347,6 @@ 
    558638     PRIMARY KEY (classcategory_id) 
    559639 ); 
     
    572652Index: html/install/sql/drop_table.sql 
    573653=================================================================== 
    574 --- html/install/sql/drop_table.sql (revision 21430) 
     654--- html/install/sql/drop_table.sql (revision 21496) 
    575655+++ html/install/sql/drop_table.sql (working copy) 
    576656@@ -15,7 +15,6 @@ 
     
    584664Index: html/install/sql/insert_data.sql 
    585665=================================================================== 
    586 --- html/install/sql/insert_data.sql    (revision 21430) 
     666--- html/install/sql/insert_data.sql    (revision 21496) 
    587667+++ html/install/sql/insert_data.sql    (working copy) 
    588668@@ -236,8 +236,6 @@ 
     
    657737Index: test/createEcCubeData-v25.php 
    658738=================================================================== 
    659 --- test/createEcCubeData-v25.php   (revision 21430) 
     739--- test/createEcCubeData-v25.php   (revision 21496) 
    660740+++ test/createEcCubeData-v25.php   (working copy) 
    661741@@ -57,7 +57,7 @@ 
     
    706786+            $sqlval['main_large_image'] = "nabe500.jpg"; 
    707787             $sqlval['sub_comment1'] = "コメント"; 
    708              $sqlval['del_flg'] = (string) "0"; 
     788             $sqlval['del_flg'] = (string) '0'; 
    709789             $sqlval['creator_id'] = 2; 
    710790@@ -373,35 +372,23 @@ 
     
    718798-                $c1['class_combination_id'] = $this->objQuery->nextVal('dtb_class_combination_class_combination_id'); 
    719799-                $c1['level'] = 1; 
    720 -                $this->objQuery->insert("dtb_class_combination", $c1); 
     800-                $this->objQuery->insert('dtb_class_combination', $c1); 
    721801- 
    722802-                $c2['classcategory_id'] = $classCategory_id2; 
     
    724804-                $c2['parent_class_combination_id'] = $c1['class_combination_id']; 
    725805-                $c2['level'] = 2; 
    726 -                $this->objQuery->insert("dtb_class_combination", $c2); 
     806-                $this->objQuery->insert('dtb_class_combination', $c2); 
    727807- 
    728808-                $sqlval['product_class_id'] = 
     
    737817+                $sqlval['classcategory_id2'] = $classcategory_id2; 
    738818+                $sqlval['product_code'] = 'CODE_' . $product_id . '_' . $classcategory_id1 . '_' . $classcategory_id2; 
    739                  $this->objQuery->insert("dtb_products_class", $sqlval); 
     819                 $this->objQuery->insert('dtb_products_class', $sqlval); 
    740820  
    741821-                $count++; 
     
    751831+        $sqlval['product_code'] = 'CODE_' . $product_id; 
    752832         $sqlval['del_flg'] = 1; 
    753          $this->objQuery->insert("dtb_products_class", $sqlval); 
     833         $this->objQuery->insert('dtb_products_class', $sqlval); 
    754834  
    755835@@ -462,9 +449,9 @@ 
    756                           ,"43" 
    757                           ,"42" 
    758                           ,"41" 
     836                          ,'43' 
     837                          ,'42' 
     838                          ,'41' 
    759839-                         ,"43(27.0cm?27.5cm)" 
    760840-                         ,"42(26.5cm?27.0cm)" 
     
    765845                          ,"42(約27.5cm)" 
    766846                          ,"41(約26.5cm)" 
    767                           ,"W36" 
     847                          ,'W36' 
Note: See TracChangeset for help on using the changeset viewer.