- Timestamp:
- 2013/03/22 11:07:49 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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);
Note: See TracChangeset
for help on using the changeset viewer.
