Ignore:
Timestamp:
2010/08/20 18:06:32 (16 years ago)
Author:
nanasess
bzr:base-revision:
[email protected]
bzr:committer:
Kentaro Ohkouchi <[email protected]>
bzr:file-ids:

data/class/SC_CustomerList.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_CustomerList.php
data/class/batch/SC_Batch_Daily.php 15600@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fbatch%2FSC_Batch_Daily.php
data/class/db/SC_DB_DBFactory.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2FSC_DB_DBFactory.php
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_MYSQL.php
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_PGSQL.php
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/pages/admin/LC_Page_Admin_Home.php 15287@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2FLC_Page_Admin_Home.php
data/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.php 16321@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fmail%2FLC_Page_Admin_Mail_Sendmail.php
data/class/pages/admin/order/LC_Page_Admin_Order.php 15584@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order.php
data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php 17293@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fcomu-ver2%2Fdata%2Fclass%2Fpages%2Fadmin%2Forder%2FLC_Page_Admin_Order_ProductSelect.php
data/class/pages/admin/products/LC_Page_Admin_Products.php 15342@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products.php
data/class/pages/admin/products/LC_Page_Admin_Products_ProductSelect.php 15557@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_ProductSelect.php
data/class/pages/mypage/LC_Page_Mypage_DownLoad.php 18777@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Fversion-2_5-dev%2Fdata%2Fclass%2Fpages%2Fmypage%2FLC_Page_Mypage_DownLoad.php
data/class/util/SC_Utils.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Futil%2FSC_Utils.php
test/class/db/SC_DB_DBFactory_Test.php 15242@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Ftest%2Fclass%2Fdb%2FSC_DB_DBFactory_Test.php
bzr:mapping-version:
v4
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
[email protected]
bzr:revno:
2272
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-parents:

data/class/SC_CustomerList.php [email protected]
data/class/batch/SC_Batch_Daily.php [email protected]
data/class/db/SC_DB_DBFactory.php [email protected]
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php [email protected]
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php [email protected]
data/class/helper/SC_Helper_DB.php [email protected]
data/class/pages/admin/LC_Page_Admin_Home.php [email protected]
data/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.php [email protected]
data/class/pages/admin/order/LC_Page_Admin_Order.php [email protected]
data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php [email protected]
data/class/pages/admin/products/LC_Page_Admin_Products.php [email protected]
data/class/pages/admin/products/LC_Page_Admin_Products_ProductSelect.php [email protected]
data/class/pages/mypage/LC_Page_Mypage_DownLoad.php svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18777
data/class/util/SC_Utils.php [email protected]
test/class/db/SC_DB_DBFactory_Test.php [email protected]
bzr:timestamp:
2010-08-20 18:06:26.950999975 +0900
bzr:user-agent:
bzr2.1.2+bzr-svn1.0.2
svn:original-date:
2010-08-20T09:06:26.951000Z
Message:

DB_TYPE で条件分岐している箇所の抽象化(#801)

  • DB_TYPE で条件分岐している箇所の修正
  • SC_DB_DBFactory に関数を追加
    • getOrderYesterdaySql()
    • getOrderMonthSql()
    • getReviewYesterdaySql()
    • getSendHistoryWhereStartdateSql()
    • concatColumn()
  • SC_Utils::sfManualEscape() の実装を SC_Query::quote() に変更
Location:
branches/version-2_5-dev/data/class/pages/admin
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/LC_Page_Admin_Home.php

    r18772 r18789  
    132132    function lfGetOrderYesterday(&$objQuery, $method){ 
    133133        if ( $method == 'SUM' or $method == 'COUNT'){ 
    134             // postgresql と mysql とでSQLをわける 
    135             if (DB_TYPE == "pgsql") { 
    136                 $sql = "SELECT ".$method."(total) FROM dtb_order 
    137                          WHERE del_flg = 0 AND to_char(create_date,'YYYY/MM/DD') = to_char(now() - interval '1 days','YYYY/MM/DD') AND status <> " . ORDER_CANCEL; 
    138             }else if (DB_TYPE == "mysql") { 
    139                 $sql = "SELECT ".$method."(total) FROM dtb_order 
    140                          WHERE del_flg = 0 AND cast(create_date as date) = DATE_ADD(current_date, interval -1 day) AND status <> " . ORDER_CANCEL; 
    141             } 
     134            $dbFactory = SC_DB_DBFactory::getInstance(); 
     135            $sql = $dbFactory->getOrderYesterdaySql($method); 
    142136            $return = $objQuery->getOne($sql); 
    143137        } 
    … …  
    150144 
    151145        if ( $method == 'SUM' or $method == 'COUNT'){ 
    152         // postgresql と mysql とでSQLをわける 
    153         if (DB_TYPE == "pgsql") { 
    154             $sql = "SELECT ".$method."(total) FROM dtb_order 
    155                      WHERE del_flg = 0 AND to_char(create_date,'YYYY/MM') = ? 
    156                      AND to_char(create_date,'YYYY/MM/DD') <> to_char(now(),'YYYY/MM/DD') AND status <> " . ORDER_CANCEL; 
    157         }else if (DB_TYPE == "mysql") { 
    158             $sql = "SELECT ".$method."(total) FROM dtb_order 
    159                      WHERE del_flg = 0 AND date_format(create_date, '%Y/%m') = ? 
    160                      AND date_format(create_date, '%Y/%m/%d') <> date_format(now(), '%Y/%m/%d') AND status <> " . ORDER_CANCEL; 
    161         } 
     146            $dbFactory = SC_DB_DBFactory::getInstance(); 
     147            $sql = $dbFactory->getOrderMonthSql($method); 
    162148            $return = $objQuery->getOne($sql, array($month)); 
    163149        } 
    … …  
    175161 
    176162    function lfGetReviewYesterday(&$objQuery){ 
    177         // postgresql と mysql とでSQLをわける 
    178         if (DB_TYPE == "pgsql") { 
    179             $sql = "SELECT COUNT(*) FROM dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id 
    180                      WHERE A.del_flg=0 AND B.del_flg = 0 AND to_char(A.create_date, 'YYYY/MM/DD') = to_char(now() - interval '1 days','YYYY/MM/DD') 
    181                      AND to_char(A.create_date,'YYYY/MM/DD') != to_char(now(),'YYYY/MM/DD')"; 
    182         }else if (DB_TYPE == "mysql") { 
    183             $sql = "SELECT COUNT(*) FROM dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id 
    184                      WHERE A.del_flg = 0 AND B.del_flg = 0 AND cast(A.create_date as date) = DATE_ADD(current_date, interval -1 day) 
    185                      AND cast(A.create_date as date) != current_date"; 
    186         } 
     163        $dbFactory = SC_DB_DBFactory::getInstance(); 
     164        $sql = $dbFactory->getReviewYesterdaySql(); 
    187165        $return = $objQuery->getOne($sql); 
    188166        return $return; 
  • branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.php

    r18770 r18789  
    8383        } else { 
    8484            $where .= ' AND end_date IS NULL'; 
    85             // postgresql と mysql とでSQLをわける 
    86             if (DB_TYPE == "pgsql") { 
    87                 $where .= "start_date BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes'"; 
    88             } else if (DB_TYPE == "mysql") { 
    89                 $where .= "start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute)"; 
    90             } 
     85            $dbFactory = SC_DB_DBFactory::getInstance(); 
     86            $where .= $dbFactory->getSendHistoryWhereStartdateSql(); 
    9187            // 30分毎にCronが送信時間データ確認 
    9288        } 
  • branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order.php

    r18772 r18789  
    139139                        $val = SC_Utils_Ex::sfManualEscape($val); 
    140140 
     141                        $dbFactory = SC_DB_DBFactory::getInstance(); 
    141142                        switch ($key) { 
    142143 
    143144                            case 'search_product_name': 
    144                                 if(DB_TYPE == "pgsql"){ 
    145 //                                    $val = mb_convert_encoding($val,"UTF-8",mb_detect_encoding($val)); 
    146145                                    $where .= " AND (SELECT COUNT(*) FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name ILIKE ?) > 0"; 
    147146                                    $nonsp_val = mb_ereg_replace("[  ]+","",$val); 
    148147                                    $arrval[] = "%$nonsp_val%"; 
    149                                 }elseif(DB_TYPE == "mysql"){ 
    150                                     $where .= " AND (SELECT COUNT(*) FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_name LIKE ?) > 0"; 
    151                                     $nonsp_val = mb_ereg_replace("[  ]+","",$val); 
    152                                     $arrval[] = "%$nonsp_val%"; 
    153                                 } 
    154148                                break; 
    155149                            case 'search_order_name': 
    156                                 if(DB_TYPE == "pgsql"){ 
    157                                     $where .= " AND order_name01||order_name02 ILIKE ?"; 
    158                                 }elseif(DB_TYPE == "mysql"){ 
    159                                     $where .= " AND concat(order_name01,order_name02) ILIKE ?"; 
    160                                 } 
     150                                $where .= " AND " . $dbFactory->concatColumn(array("order_name01", "order_name02")) . " ILIKE ?"; 
    161151                                $nonsp_val = mb_ereg_replace("[  ]+","",$val); 
    162152                                $arrval[] = "%$nonsp_val%"; 
    163153                                break; 
    164154                            case 'search_order_kana': 
    165                                 if(DB_TYPE == "pgsql"){ 
    166                                     $where .= " AND order_kana01||order_kana02 ILIKE ?"; 
    167                                 }elseif(DB_TYPE == "mysql"){ 
    168                                     $where .= " AND concat(order_kana01,order_kana02) ILIKE ?"; 
    169                                 } 
     155                                $where .= " AND " . $dbFactory->concatColumn(array("order_kana01", "order_kana02")) . " ILIKE ?"; 
    170156                                $nonsp_val = mb_ereg_replace("[  ]+","",$val); 
    171157                                $arrval[] = "%$nonsp_val%"; 
    … …  
    198184                                break; 
    199185                            case 'search_order_tel': 
    200                                 if(DB_TYPE == "pgsql"){ 
    201                                     $where .= " AND (order_tel01 || order_tel02 || order_tel03 ILIKE ?)"; 
    202                                 }elseif(DB_TYPE == "mysql"){ 
    203                                     $where .= " AND concat(order_tel01,order_tel02,order_tel03) ILIKE ?"; 
    204                                 } 
     186                                $where .= " AND (" . $dbFactory->concatColumn(array("order_tel01", "order_tel02", "order_tel03")) . " ILIKE ?)"; 
    205187                                $nonmark_val = ereg_replace("[()-]+","",$val); 
    206188                                $arrval[] = "%$nonmark_val%"; 
    … …  
    277259 
    278260                    $order = "update_date DESC"; 
    279  
    280261                    switch($_POST['mode']) { 
    281262                        case 'csv': 
  • branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php

    r18772 r18789  
    149149 
    150150            // 取得範囲の指定(開始行番号、行数のセット) 
    151             if(DB_TYPE != "mysql") $objQuery->setLimitOffset($page_max, $startno); 
     151            $objQuery->setLimitOffset($page_max, $startno); 
    152152            // 表示順序 
    153153            $objQuery->setOrder($order); 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products.php

    r18701 r18789  
    298298 
    299299                        // 取得範囲の指定(開始行番号、行数のセット) 
    300                         //                    if(DB_TYPE != "mysql") $objQuery->setLimitOffset($page_max, $startno); 
    301300                        $objQuery->setLimitOffset($page_max, $startno); 
    302301                        // 表示順序 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductSelect.php

    r18701 r18789  
    131131 
    132132            // 取得範囲の指定(開始行番号、行数のセット) 
    133             if(DB_TYPE != "mysql") $objQuery->setLimitOffset($page_max, $startno); 
     133            $objQuery->setLimitOffset($page_max, $startno); 
    134134            // 表示順序 
    135135            $objQuery->setOrder($order); 
Note: See TracChangeset for help on using the changeset viewer.