Changeset 20740


Ignore:
Timestamp:
2011/03/20 14:16:29 (10 years ago)
Author:
shutta
Message:

refs #1176 (商品登録CSVにて、入力エラーがあった場合に無駄にシーケンス番号が消費される)
PHP4でも動作するように再修正。

File:
1 edited

Legend:

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

    r20738 r20740  
    195195 
    196196        $errFlag = false; 
     197        $all_line_checked = false; 
    197198 
    198199        while (!feof($fp)) { 
    199200            $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
     201 
     202            // 全行入力チェック後に、ファイルポインターを先頭に戻す 
     203            if (feof($fp) && !$all_line_checked) { 
     204                rewind($fp); 
     205                $line_count = 0; 
     206                $all_line_checked = true; 
     207                continue; 
     208            } 
     209 
    200210            // 行カウント 
    201211            $line_count++; 
     
    233243            } 
    234244 
    235             $this->lfRegistProduct($objQuery, $line_count, $objFormParam); 
    236             $arrParam = $objFormParam->getHashArray(); 
    237  
    238             $this->addRowResult($line_count, "商品ID:".$arrParam['product_id'] . " / 商品名:" . $arrParam['name']); 
     245            if ($all_line_checked) { 
     246                $this->lfRegistProduct($objQuery, $line_count, $objFormParam); 
     247                $arrParam = $objFormParam->getHashArray(); 
     248 
     249                $this->addRowResult($line_count, "商品ID:".$arrParam['product_id'] . " / 商品名:" . $arrParam['name']); 
     250            } 
    239251        } 
    240252 
Note: See TracChangeset for help on using the changeset viewer.