Ignore:
Timestamp:
2011/02/19 20:24:28 (15 years ago)
Author:
ume
Message:

#973 [管理画面]商品管理 CSV処理の修正 ※ チェックボックスにチェックを入れた時の値の受け渡しができていない。(受注管理も同様)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php

    r19999 r20207  
    170170        fwrite($this->fpOutput, $line); 
    171171        return true; 
    172     } 
    173  
    174     // CSVを送信する。(商品) 
    175     function sfDownloadProductsCsv($where, $arrval, $order, $is_download = false) { 
    176         // 実行時間を制限しない 
    177         @set_time_limit(0); 
    178  
    179         // CSV出力タイトル行の作成 
    180         $arrOutput = SC_Utils_Ex::sfSwapArray($this->sfGetCsvOutput(1, 'status = ' . CSV_COLUMN_STATUS_FLG_ENABLE)); 
    181         if (count($arrOutput) <= 0) return false; // 失敗終了 
    182         $arrOutputCols = $arrOutput['col']; 
    183  
    184         $objQuery =& SC_Query::getSingletonInstance(); 
    185         $objQuery->setOrder($order); 
    186          
    187         $objProduct = new SC_Product(); 
    188         $cols = SC_Utils_Ex::sfGetCommaList($arrOutputCols, true); 
    189         // このWhereを足さないと無効な規格も出力される。現行仕様と合わせる為追加。 
    190         $inner_where = 'dtb_products_class.del_flg = 0'; 
    191         $sql = $objQuery->getSql($cols, $objProduct->prdclsSQL($inner_where),$where); 
    192         $header = $this->sfArrayToCSV($arrOutput['disp_name']); 
    193         $header = mb_convert_encoding($header, 'SJIS-Win'); 
    194         $header .= "\r\n"; 
    195          
    196         //テンポラリファイル作成 
    197         // TODO: パフォーマンス向上には、ストリームを使うようにすると良い 
    198         //  環境要件がバージョン5.1以上になったら使うように変えても良いかと 
    199         //  fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+'); 
    200         $tmp_filename = tempnam(CSV_TEMP_REALDIR, 'product_csv'); 
    201         $this->fpOutput = fopen($tmp_filename, "w+"); 
    202  
    203         fwrite($this->fpOutput, $header); 
    204  
    205         $objQuery->doCallbackAll(array(&$this, 'cbOutputProductCSV'), $sql, $arrval); 
    206  
    207         fclose($this->fpOutput); 
    208  
    209         if($is_download) { 
    210             // CSVを送信する。 
    211             $this->lfDownloadCSVFile($tmp_filename,"product_"); 
    212             $res = true; 
    213         }else{ 
    214             $res = SC_Utils_Ex::sfReadFile($tmp_filename); 
    215         } 
    216          
    217         //テンポラリファイル削除 
    218         unlink($tmp_filename); 
    219         return $res; 
    220172    } 
    221173 
Note: See TracChangeset for help on using the changeset viewer.