Changeset 22739
- Timestamp:
- 2013/03/22 11:07:49 (11 years ago)
- Location:
- branches/version-2_13-dev/data/class
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/SC_CustomerList.php
r22567 r22739 371 371 function getWhere() 372 372 { 373 return array( $this->where, $this->arrVal);373 return array(parent::getWhere(), $this->arrVal); 374 374 } 375 375 } -
branches/version-2_13-dev/data/class/SC_SelectSql.php
r22567 r22739 221 221 } 222 222 223 /** 224 * WHERE を取得する。 225 * 226 * ヘンテコセッター互換仕様。 227 * @param $with_where boolean 必要に応じて WHERE を前置するか 228 * @return string WHERE 229 */ 230 function getWhere($with_where = false) 231 { 232 $where = $this->where; 233 234 if (!$with_where) { 235 $where = preg_replace('/^\s*WHERE\s+/', '', $where); 236 } 237 238 return $where; 239 } 240 223 241 function setWhere($where) 224 242 { -
branches/version-2_13-dev/data/class/helper/SC_Helper_CSV.php
r22738 r22739 75 75 function sfDownloadCsv($csv_id, $where = '', $arrVal = array(), $order = '', $is_download = false) 76 76 { 77 $objQuery =& SC_Query_Ex::getSingletonInstance(); 78 77 79 // CSV出力タイトル行の作成 78 80 $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfGetCsvOutput($csv_id, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE)); … … 80 82 $arrOutputCols = $arrOutput['col']; 81 83 82 $objQuery =& SC_Query_Ex::getSingletonInstance();83 $objQuery->setOrder($order);84 84 $cols = SC_Utils_Ex::sfGetCommaList($arrOutputCols, true); 85 85 86 // TODO: 固有処理 なんかエレガントな処理にしたい87 86 // 商品の場合 88 87 if ($csv_id == 1) { 89 $objProduct = new SC_Product_Ex(); 90 // このWhereを足さないと無効な規格も出力される。現行仕様と合わせる為追加。 88 // この WHERE 句を足さないと無効な規格も出力される。現行仕様と合わせる為追加。 91 89 $inner_where = 'dtb_products_class.del_flg = 0'; 92 $from = $objProduct->prdclsSQL($inner_where); 93 $sql = $objQuery->getSql($cols, $from, $where); 94 } 95 // 商品以外の場合 96 else { 97 // 会員の場合 98 if ($csv_id == 2) { 99 $from = 'dtb_customer'; 100 } 101 // 注文の場合 102 else if ($csv_id == 3) { 103 $from = 'dtb_order'; 104 } 105 // レビューの場合 106 else if ($csv_id == 4) { 107 $from = 'dtb_review AS A INNER JOIN dtb_products AS B on A.product_id = B.product_id'; 108 } 109 // カテゴリの場合 110 else if ($csv_id == 5) { 111 $from = 'dtb_category'; 112 } 113 114 $sql = "SELECT $cols FROM $from $where"; 115 // 「getSqlを使っているcsv_id=1」以外で「order指定」がある場合は末尾に付与 116 // 全csv_idでgetSqlを使用して生成するよう統一する場合は当メソッドの呼び元も要修正 117 if ($csv_id != 1 && strlen($order) >= 1) { 118 $sql .= " ORDER BY $order"; 119 } 120 } 121 // 固有処理ここまで 90 $from = SC_Product_Ex::prdclsSQL($inner_where); 91 } 92 // 会員の場合 93 else if ($csv_id == 2) { 94 $from = 'dtb_customer'; 95 } 96 // 注文の場合 97 else if ($csv_id == 3) { 98 $from = 'dtb_order'; 99 } 100 // レビューの場合 101 else if ($csv_id == 4) { 102 $from = 'dtb_review AS A INNER JOIN dtb_products AS B on A.product_id = B.product_id'; 103 } 104 // カテゴリの場合 105 else if ($csv_id == 5) { 106 $from = 'dtb_category'; 107 } 108 109 $objQuery->setOrder($order); 110 $sql = $objQuery->getSql($cols, $from, $where); 122 111 123 112 return $this->sfDownloadCsvFromSql($sql, $arrVal, $this->arrSubnavi[$csv_id], $arrOutput['disp_name'], $is_download); -
branches/version-2_13-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php
r22569 r22739 230 230 { 231 231 $objSelect = new SC_CustomerList_Ex($arrParam, 'customer'); 232 $objCSV = new SC_Helper_CSV_Ex(); 233 232 234 $order = 'update_date DESC, customer_id DESC'; 233 235 234 $objCSV = new SC_Helper_CSV_Ex();235 236 list($where, $arrVal) = $objSelect->getWhere(); 236 237 return $objCSV->sfDownloadCsv('2', $where, $arrVal, $order, true); -
branches/version-2_13-dev/data/class/pages/admin/order/LC_Page_Admin_Order.php
r22567 r22739 440 440 function doOutputCSV($where, $arrVal, $order) 441 441 { 442 if ($where != '') {443 $where = " WHERE $where ";444 }445 446 442 $objCSV = new SC_Helper_CSV_Ex(); 447 443 $objCSV->sfDownloadCsv('3', $where, $arrVal, $order, true); -
branches/version-2_13-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Review.php
r22567 r22739 250 250 { 251 251 $objCSV = new SC_Helper_CSV_Ex(); 252 if ($where != '') {253 $where = 'WHERE ' . $where;254 }255 252 $objCSV->sfDownloadCsv('4', $where, $arrWhereVal, '', true); 256 253 }
Note: See TracChangeset
for help on using the changeset viewer.