Changeset 11730 for branches/comu/html/admin/develop/csv.php
- Timestamp:
- 2007/03/11 06:27:25 (19 years ago)
- File:
-
- 1 edited
-
branches/comu/html/admin/develop/csv.php (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/comu/html/admin/develop/csv.php
r11729 r11730 11 11 $objSess = new SC_Session(); 12 12 13 // パラメータ管理クラス13 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 14 14 $objFormParam = new SC_FormParam(); 15 // パラメータ情報の初期化15 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 16 16 lfInitParam(); 17 17 $colmax = $objFormParam->getCount(); 18 18 19 // 一時ファイル名の取得19 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 20 20 $filepath = $argv[1]; 21 21 … … 25 25 } 26 26 27 // エンコード27 // ¥¨¥ó¥³¡¼¥É 28 28 $enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR); 29 29 … … 35 35 } 36 36 37 fwrite(STDOUT, " ■" . $total . "件のレコードを登録しました。\n");37 fwrite(STDOUT, "¢£" . $total . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£\n"); 38 38 39 39 //-------------------------------------------------------------------------------------------------------------------------- 40 40 41 /* ファイル情報の初期化*/41 /* ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ */ 42 42 function lfInitFile() { 43 43 global $objUpFile; 44 $objUpFile->addFile("CSV ファイル", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false);45 } 46 47 /* パラメータ情報の初期化*/44 $objUpFile->addFile("CSV¥Õ¥¡¥¤¥ë", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false); 45 } 46 47 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 48 48 function lfInitParam() { 49 49 global $objFormParam; 50 50 51 $objFormParam->addParam(" 商品名", "name", MTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));52 $objFormParam->addParam(" カテゴリID", "category_id", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));53 $objFormParam->addParam(" 商品コード", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));54 $objFormParam->addParam(" 商品価格", "price02", PRICE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));55 $objFormParam->addParam(" 商品価格", "price01", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));56 $objFormParam->addParam(" 在庫数", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));57 $objFormParam->addParam(" 購入制限", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));58 $objFormParam->addParam(" メーカーURL", "comment1", LTEXT_LEN, "KVa", array("URL_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK"));59 $objFormParam->addParam(" 商品ステータス", "product_flag", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));60 $objFormParam->addParam(" ポイント付与率", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));61 $objFormParam->addParam(" メイン一覧コメント", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));62 $objFormParam->addParam(" メインコメント", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));51 $objFormParam->addParam("¾¦ÉÊ̾", "name", MTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 52 $objFormParam->addParam("¥«¥Æ¥´¥êID", "category_id", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 53 $objFormParam->addParam("¾¦ÉÊ¥³¡¼¥É", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 54 $objFormParam->addParam("¾¦ÉʲÁ³Ê", "price02", PRICE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 55 $objFormParam->addParam("¾¦ÉʲÁ³Ê", "price01", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 56 $objFormParam->addParam("ºß¸Ë¿ô", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 57 $objFormParam->addParam("¹ØÆþÀ©¸Â", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 58 $objFormParam->addParam("¥á¡¼¥«¡¼URL", "comment1", LTEXT_LEN, "KVa", array("URL_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK")); 59 $objFormParam->addParam("¾¦ÉÊ¥¹¥Æ¡¼¥¿¥¹", "product_flag", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 60 $objFormParam->addParam("¥Ý¥¤¥ó¥ÈÉÕͿΨ", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 61 $objFormParam->addParam("¥á¥¤¥ó°ìÍ÷¥³¥á¥ó¥È", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 62 $objFormParam->addParam("¥á¥¤¥ó¥³¥á¥ó¥È", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 63 63 64 64 for($i = 1; $i <= PRODUCTSUB_MAX; $i++) { 65 $objFormParam->addParam(" 詳細-サブタイトル($i)", "sub_title$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));66 $objFormParam->addParam(" 詳細-サブコメント($i)", "sub_comment$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));67 $objFormParam->addParam(" 詳細-サブ画像($i)", "sub_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));68 $objFormParam->addParam(" 詳細-サブ画像拡大($i)", "sub_large_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));65 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë($i)", "sub_title$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 66 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È($i)", "sub_comment$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 67 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü($i)", "sub_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 68 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü³ÈÂç($i)", "sub_large_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 69 69 } 70 70 71 $objFormParam->addParam(" メイン一覧画像", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));72 $objFormParam->addParam(" メイン詳細画像", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));73 $objFormParam->addParam(" メイン詳細拡大画像", "main_large_image", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));74 $objFormParam->addParam(" 比較画像", "file1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));75 $objFormParam->addParam(" 商品詳細ファイル", "file2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));76 $objFormParam->addParam(" 送料", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));77 $objFormParam->addParam(" 在庫無制限", "stock_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));78 $objFormParam->addParam(" 販売無制限", "sale_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));79 } 80 81 /* 特殊項目の変換*/71 $objFormParam->addParam("¥á¥¤¥ó°ìÍ÷²èÁü", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 72 $objFormParam->addParam("¥á¥¤¥ó¾ÜºÙ²èÁü", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 73 $objFormParam->addParam("¥á¥¤¥ó¾ÜºÙ³ÈÂç²èÁü", "main_large_image", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 74 $objFormParam->addParam("Èæ³Ó²èÁü", "file1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 75 $objFormParam->addParam("¾¦Éʾܺ٥ե¡¥¤¥ë", "file2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 76 $objFormParam->addParam("Á÷ÎÁ", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 77 $objFormParam->addParam("ºß¸Ë̵À©¸Â", "stock_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 78 $objFormParam->addParam("ÈÎÇä̵À©¸Â", "sale_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 79 } 80 81 /* ÆÃ¼ì¹àÌܤÎÊÑ´¹ */ 82 82 function lfConvFormat($array) { 83 83 global $arrDISP; … … 95 95 } 96 96 97 /* 商品の新規追加*/97 /* ¾¦Éʤο·µ¬Äɲà */ 98 98 function lfInsertProduct($objQuery) { 99 99 global $objFormParam; 100 100 $arrRet = $objFormParam->getHashArray(); 101 101 102 // 規格に登録される値を除外する。102 // µ¬³Ê¤ËÅÐÏ¿¤µ¤ì¤ëÃͤò½ü³°¤¹¤ë¡£ 103 103 foreach($arrRet as $key => $val) { 104 104 switch($key) { … … 119 119 $sqlval['product_id'] = $product_id; 120 120 } 121 $sqlval['status'] = 1; // 表示に設定する。121 $sqlval['status'] = 1; // ɽ¼¨¤ËÀßÄꤹ¤ë¡£ 122 122 $sqlval['update_date'] = "Now()"; 123 123 $sqlval['create_date'] = "Now()"; … … 130 130 $sqlval['rank'] = $objQuery->max("dtb_products", "rank", "del_flg = 0 AND category_id = ?", array($sqlval['category_id'])) + 1; 131 131 132 // 規格登録132 // µ¬³ÊÅÐÏ¿ 133 133 sfInsertProductClass($objQuery, $arrRet, $product_id); 134 // INSERT の実行134 // INSERT¤Î¼Â¹Ô 135 135 $objQuery->fast_insert("dtb_products", $sqlval); 136 136 if (DB_TYPE == "mysql") { … … 139 139 } 140 140 141 /* 入力内容のチェック*/141 /* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */ 142 142 function lfCheckError() { 143 143 global $objFormParam; 144 // 入力データを渡す。144 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 145 145 $arrRet = $objFormParam->getHashArray(); 146 146 $objErr = new SC_CheckError($arrRet); … … 154 154 $level = $objQuery->get($table, $col, $where, array($arrRet['category_id'])); 155 155 if($level != LEVEL_MAX) { 156 $objErr->arrErr['category_id'] = " ※ このカテゴリIDには商品を登録できません。";156 $objErr->arrErr['category_id'] = "¢¨ ¤³¤Î¥«¥Æ¥´¥êID¤Ë¤Ï¾¦ÉʤòÅÐÏ¿¤Ç¤¤Þ¤»¤ó¡£"; 157 157 } 158 158 } … … 164 164 165 165 $fp = fopen($filepath, "r"); 166 $line = 0; // 行数167 $regist = 0; // 登録数166 $line = 0; // ¹Ô¿ô 167 $regist = 0; // ÅÐÏ¿¿ô 168 168 169 169 $objQuery = new SC_Query(); … … 173 173 while(!feof($fp)) { 174 174 $arrCSV = fgetcsv($fp, 10000); 175 // 行カウント175 // ¹Ô¥«¥¦¥ó¥È 176 176 $line++; 177 177 178 // 項目数カウント178 // ¹àÌÜ¿ô¥«¥¦¥ó¥È 179 179 $max = count($arrCSV); 180 180 181 // 項目数が1以下の場合は無視する181 // ¹àÌÜ¿ô¤¬1°Ê²¼¤Î¾ì¹ç¤Ï̵»ë¤¹¤ë 182 182 if($max <= 1) { 183 183 continue; 184 184 } 185 185 186 // 項目数チェック186 // ¹àÌÜ¿ô¥Á¥§¥Ã¥¯ 187 187 if($max != $colmax) { 188 fwrite(STDOUT, " ※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。\n");188 fwrite(STDOUT, "¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£\n"); 189 189 190 190 ob_start(); … … 195 195 $err = true; 196 196 } else { 197 // シーケンス配列を格納する。197 // ¥·¡¼¥±¥ó¥¹ÇÛÎó¤ò³ÊǼ¤¹¤ë¡£ 198 198 $objFormParam->setParam($arrCSV, true); 199 199 $arrRet = $objFormParam->getHashArray(); 200 // 値をフォーマット変換して格納する。200 // Ãͤò¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¤·¤Æ³ÊǼ¤¹¤ë¡£ 201 201 $arrRet = lfConvFormat($arrRet); 202 202 $objFormParam->setParam($arrRet); 203 // 入力値の変換203 // ÆþÎÏÃͤÎÊÑ´¹ 204 204 $objFormParam->convParam(); 205 // <br> なしでエラー取得する。205 // <br>¤Ê¤·¤Ç¥¨¥é¡¼¼èÆÀ¤¹¤ë¡£ 206 206 $objPage->arrCSVErr = lfCheckError(); 207 207 } 208 208 209 // 入力エラーチェック209 // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 210 210 if(count($objPage->arrCSVErr) > 0) { 211 fwrite(STDOUT, " ■" . $line . "行目でエラーが発生しました。\n");211 fwrite(STDOUT, "¢£" . $line . "¹ÔÌܤǥ¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£\n"); 212 212 $objPage->arrParam = $objFormParam->getHashArray(); 213 213 $err = true;
Note: See TracChangeset
for help on using the changeset viewer.
