- Timestamp:
- 2007/07/20 15:58:59 (17 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update
-
Property
svn:ignore
set to
.cache
.settings
.projectOptions
-
Property
svn:ignore
set to
-
branches/feature-module-update/html/admin/develop/csv.php
r12157 r15078 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.