Changeset 20369


Ignore:
Timestamp:
2011/02/24 11:54:27 (10 years ago)
Author:
adachi
Message:

#1031 商品CSVアップロードリファクタリング

  • $this->objFormParamをローカル変数化
  • $this->objUpFileをローカル変数化
File:
1 edited

Legend:

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

    r20368 r20369  
    4343    var $objFormParam; 
    4444 
    45     /** SC_UploadFile インスタンス */ 
    46     var $objUpfile; 
    47  
    4845    /** TAGエラーチェックフィールド情報 */ 
    4946    var $arrTagCheckItem; 
     
    8380        $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList("dtb_maker", "maker_id", "name"); 
    8481        $this->arrPayments = SC_Helper_DB_Ex::sfGetIDValueList("dtb_payment", "payment_id", "payment_method"); 
     82        $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); 
    8583        $this->arrAllowedTag = $masterData->getMasterData("mtb_allowed_tag"); 
    8684        $this->arrTagCheckItem = array(); 
     
    104102    function action() { 
    105103        $this->objDb = new SC_Helper_DB_Ex(); 
    106  
    107         // ファイル管理クラス 
    108         $this->objUpFile = new SC_UploadFile(IMAGE_TEMP_REALDIR, IMAGE_SAVE_REALDIR); 
    109         // サイト基本情報 (ポイントレート初期値用) 
    110         $this->arrInfo = $this->objDb->sfGetBasisData(); 
     104         
    111105        // CSV管理ヘルパー 
    112106        $objCSV = new SC_Helper_CSV_Ex(); 
     
    124118 
    125119        // CSVファイルアップロード情報の初期化 
    126         $this->lfInitFile(); 
    127         // パラメータ管理クラス 
    128         $this->objFormParam = new SC_FormParam(); 
     120        $objUpFile = new SC_UploadFile(IMAGE_TEMP_REALDIR, IMAGE_SAVE_REALDIR); 
     121        $this->lfInitFile($objUpFile); 
     122 
    129123        // パラメータ情報の初期化 
    130         $this->lfInitParam($arrCSVFrame); 
    131  
    132         $this->objFormParam->setHtmlDispNameArray(); 
    133         $this->arrTitle = $this->objFormParam->getHtmlDispNameArray(); 
     124        $objFormParam = new SC_FormParam(); 
     125        $this->lfInitParam($objFormParam, $arrCSVFrame); 
     126 
     127        $objFormParam->setHtmlDispNameArray(); 
     128        $this->arrTitle = $objFormParam->getHtmlDispNameArray(); 
    134129 
    135130        switch($this->getMode()) { 
    136131        case 'csv_upload': 
    137             $this->doUploadCsv(); 
     132            $this->doUploadCsv($objFormParam, $objUpFile); 
    138133            break; 
    139134        default: 
     
    169164     * @return void 
    170165     */ 
    171     function doUploadCsv() { 
     166    function doUploadCsv(&$objFormParam, &$objUpFile) { 
    172167        // ファイルアップロードのチェック 
    173         $this->objUpFile->makeTempFile('csv_file'); 
    174         $arrErr = $this->objUpFile->checkExists(); 
     168        $objUpFile->makeTempFile('csv_file'); 
     169        $arrErr = $objUpFile->checkExists(); 
    175170        if (count($arrErr) > 0) { 
    176171            $this->arrErr = $arrErr; 
     
    178173        } 
    179174        // 一時ファイル名の取得 
    180         $filepath = $this->objUpFile->getTempFilePath('csv_file'); 
     175        $filepath = $objUpFile->getTempFilePath('csv_file'); 
    181176        // CSVファイルの文字コード変換 
    182177        $enc_filepath = SC_Utils_Ex::sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_REALDIR); 
     
    192187         
    193188        // 登録フォーム カラム情報 
    194         $this->arrFormKeyList = $this->objFormParam->getKeyList(); 
     189        $this->arrFormKeyList = $objFormParam->getKeyList(); 
    195190 
    196191        $err = false; 
    197192 
    198193        // 登録対象の列数 
    199         $col_max_count = $this->objFormParam->getCount(); 
     194        $col_max_count = $objFormParam->getCount(); 
    200195        // 行数 
    201196        $line_count = 0; 
     
    226221            } 
    227222            // シーケンス配列を格納する。 
    228             $this->objFormParam->setParam($arrCSV, true); 
    229             $arrRet = $this->objFormParam->getHashArray(); 
    230             $this->objFormParam->setParam($arrRet); 
     223            $objFormParam->setParam($arrCSV, true); 
     224            $arrRet = $objFormParam->getHashArray(); 
     225            $objFormParam->setParam($arrRet); 
    231226            // 入力値の変換 
    232             $this->objFormParam->convParam(); 
     227            $objFormParam->convParam(); 
    233228            // <br>なしでエラー取得する。 
    234             $arrCSVErr = $this->lfCheckError(); 
     229            $arrCSVErr = $this->lfCheckError($objFormParam); 
    235230 
    236231            // 入力エラーチェック 
     
    243238            } 
    244239 
    245             $this->lfRegistProduct($objQuery, $line_count); 
    246             $arrParam = $this->objFormParam->getHashArray(); 
     240            $this->lfRegistProduct($objQuery, $line_count, $objFormParam); 
     241            $arrParam = $objFormParam->getHashArray(); 
    247242 
    248243            $this->addRowResult($line_count, "商品ID:".$arrParam['product_id'] . " / 商品名:" . $arrParam['name']); 
     
    281276     * @return void 
    282277     */ 
    283     function lfInitFile() { 
    284         $this->objUpFile->addFile("CSVファイル", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false); 
     278    function lfInitFile(&$objUpFile) { 
     279        $objUpFile->addFile("CSVファイル", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false); 
    285280    } 
    286281 
     
    291286     * @return void 
    292287     */ 
    293     function lfInitParam(&$arrCSVFrame) { 
     288    function lfInitParam(&$objFormParam, &$arrCSVFrame) { 
    294289        // 固有の初期値調整 
    295290        $arrCSVFrame = $this->lfSetParamDefaultValue($arrCSVFrame); 
     
    319314            } 
    320315            // パラメーター登録 
    321             $this->objFormParam->addParam( 
     316            $objFormParam->addParam( 
    322317                    $item['disp_name'] 
    323318                    , $col 
     
    336331     * @return void 
    337332     */ 
    338     function lfCheckError() { 
     333    function lfCheckError(&$objFormParam) { 
    339334        // 入力データを渡す。 
    340         $arrRet =  $this->objFormParam->getHashArray(); 
     335        $arrRet =  $objFormParam->getHashArray(); 
    341336        $objErr = new SC_CheckError($arrRet); 
    342         $objErr->arrErr = $this->objFormParam->checkError(false); 
     337        $objErr->arrErr = $objFormParam->checkError(false); 
    343338        // HTMLタグチェックの実行 
    344339        foreach($this->arrTagCheckItem as $item) { 
     
    372367     * @return void 
    373368     */ 
    374     function lfRegistProduct($objQuery, $line = "") { 
     369    function lfRegistProduct($objQuery, $line = "", &$objFormParam) { 
    375370        $objProduct = new SC_Product(); 
    376371        // 登録データ対象取得 
    377         $arrList = $this->objFormParam->getHashArray(); 
     372        $arrList = $objFormParam->getHashArray(); 
    378373        // 登録時間を生成(DBのnow()だとcommitした際、すべて同一の時間になってしまう) 
    379374        $arrList['update_date'] = $this->lfGetDbFormatTimeWithLine($line); 
Note: See TracChangeset for help on using the changeset viewer.