Changeset 15470 for branches/rel
- Timestamp:
- 2007/08/30 14:32:45 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/rel/html/admin/products/upload_csv.php
r14926 r15470 45 45 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 46 46 $arrErr['csv_file'] = $objUpFile->makeTempFile('csv_file'); 47 47 48 48 if($arrErr['css_file'] == "") { 49 49 $arrErr = $objUpFile->checkEXISTS(); … … 52 52 // ¼Â¹Ô»þ´Ö¤òÀ©¸Â¤·¤Ê¤¤ 53 53 set_time_limit(0); 54 54 55 55 // ½ÐÎϤò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤(==ÆüËܸ켫ưÊÑ´¹¤â¤·¤Ê¤¤) 56 56 ob_end_clean(); 57 57 58 58 // IE¤Î¤¿¤á¤Ë256¥Ð¥¤¥È¶õʸ»ú½ÐÎÏ 59 59 echo str_pad('',256); 60 60 61 61 if($arrErr['csv_file'] == "") { 62 62 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ … … 64 64 // ¥¨¥ó¥³¡¼¥É 65 65 $enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR); 66 66 67 67 // ¥ì¥³¡¼¥É¿ô¤òÆÀ¤ë 68 $rec_count = lfCSVRecordCount($enc_filepath); 69 68 $rec_count = lfCSVRecordCount($enc_filepath); 69 70 70 $fp = fopen($enc_filepath, "r"); 71 71 $line = 0; // ¹Ô¿ô 72 72 $regist = 0; // ÅÐÏ¿¿ô 73 73 74 74 $objQuery = new SC_Query(); 75 75 $objQuery->begin(); 76 77 echo "¢£¡¡CSVÅÐÏ¿¿ÊĽ¾õ¶· <br/><br/>\n"; 78 76 77 echo "¢£¡¡CSVÅÐÏ¿¿ÊĽ¾õ¶· <br/><br/>\n"; 78 79 79 while(!feof($fp) && !$err) { 80 80 $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 81 81 82 82 // ¹Ô¥«¥¦¥ó¥È 83 83 $line++; 84 84 85 85 if($line <= 1) { 86 86 continue; 87 } 88 87 } 88 89 89 // ¹àÌÜ¿ô¥«¥¦¥ó¥È 90 90 $max = count($arrCSV); 91 91 92 92 // ¹àÌÜ¿ô¤¬1°Ê²¼¤Î¾ì¹ç¤Ï̵»ë¤¹¤ë 93 93 if($max <= 1) { 94 continue; 95 } 96 94 continue; 95 } 96 97 97 // ¹àÌÜ¿ô¥Á¥§¥Ã¥¯ 98 98 if($max != $colmax) { … … 109 109 $arrCSVErr = lfCheckError(); 110 110 } 111 111 112 112 // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 113 113 if(count($arrCSVErr) > 0) { 114 114 echo "<font color=\"red\">¢£" . $line . "¹ÔÌܤǥ¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£</font></br>\n"; 115 115 foreach($arrCSVErr as $val) { 116 echo "<font color=\"red\"> $val</font></br>\n";116 echo "<font color=\"red\">" . htmlspecialchars($val, ENT_QUOTES) . "</font></br>\n"; 117 117 } 118 118 $err = true; 119 119 } 120 120 121 121 if(!$err) { 122 122 lfRegistProduct($objQuery, $line); … … 124 124 } 125 125 $arrParam = $objFormParam->getHashArray(); 126 126 127 127 if(!$err) echo $line." / ".$rec_count. "¹ÔÌÜ¡¡¡Ê¾¦ÉÊID¡§".$arrParam['product_id']." / ¾¦ÉÊ̾¡§".$arrParam['name'].")\n<br />"; 128 128 flush(); 129 129 } 130 130 fclose($fp); 131 131 132 132 if(!$err) { 133 133 $objQuery->commit(); … … 140 140 } else { 141 141 foreach($arrErr as $val) { 142 echo "<font color=\"red\">$val</font></br>\n"; 142 echo "<font color=\"red\">$val</font></br>\n"; 143 143 } 144 144 } 145 145 echo "<br/><a href=\"javascript:window.close()\">¢ªÊĤ¸¤ë</a>"; 146 146 flush(); 147 exit; 147 exit; 148 148 break; 149 149 default: … … 156 156 //-------------------------------------------------------------------------------------------------------------------------- 157 157 158 /* 158 /* 159 159 * ´Ø¿ô̾¡§lfInitFile 160 160 * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ … … 164 164 } 165 165 166 /* 166 /* 167 167 * ´Ø¿ô̾¡§lfInitParam 168 168 * ÀâÌÀ¡¡¡§ÆþÎϾðÊó¤Î½é´ü²½ … … 170 170 function lfInitParam() { 171 171 global $objFormParam; 172 172 173 173 $objFormParam->addParam("¾¦ÉÊID", "product_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 174 174 $objFormParam->addParam("¾¦Éʵ¬³ÊID", "product_class_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 175 175 176 176 $objFormParam->addParam("µ¬³Ê̾1", "dummy1"); 177 177 $objFormParam->addParam("µ¬³Ê̾2", "dummy2"); 178 178 179 179 $objFormParam->addParam("¾¦ÉÊ̾", "name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 180 180 $objFormParam->addParam("¸ø³«¥Õ¥é¥°(1:¸ø³« 2:Èó¸ø³«)", "status", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); … … 200 200 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü(1)", "sub_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 201 201 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(1)", "sub_large_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 202 202 203 203 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(2)", "sub_title2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 204 204 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(2)", "sub_comment2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 205 205 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü(2)", "sub_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 206 206 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(2)", "sub_large_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 207 207 208 208 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(3)", "sub_title3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 209 209 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(3)", "sub_comment3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 210 210 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü(3)", "sub_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 211 211 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(3)", "sub_large_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 212 212 213 213 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(4)", "sub_title4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 214 214 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(4)", "sub_comment4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 215 215 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü(4)", "sub_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 216 216 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(4)", "sub_large_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 217 217 218 218 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(5)", "sub_title5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 219 219 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(5)", "sub_comment5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 220 220 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö²èÁü(5)", "sub_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 221 221 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(5)", "sub_large_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 222 222 223 223 $objFormParam->addParam("ȯÁ÷ÆüÌܰÂ", "deliv_date_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 224 224 225 225 for ($cnt = 1; $cnt <= RECOMMEND_PRODUCT_MAX; $cnt++) { 226 226 $objFormParam->addParam("¤ª¤¹¤¹¤á¾¦ÉÊ($cnt)", "recommend_product_id$cnt", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 227 227 $objFormParam->addParam("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È($cnt)", "recommend_comment$cnt", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 228 228 } 229 229 230 230 $objFormParam->addParam("¾¦ÉÊ¥«¥Æ¥´¥ê", "category_id", STEXT_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 231 231 } 232 232 233 /* 233 /* 234 234 * ´Ø¿ô̾¡§lfRegistProduct 235 235 * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È … … 239 239 global $objFormParam; 240 240 $arrRet = $objFormParam->getHashArray(); 241 241 242 242 // dtb_products°Ê³°¤ËÅÐÏ¿¤µ¤ì¤ëÃͤò½ü³°¤¹¤ë¡£ 243 243 foreach($arrRet as $key => $val) { … … 274 274 $microtime = sprintf("%06d", $line); 275 275 $time .= ".$microtime"; 276 } 276 } 277 277 $sqlval['update_date'] = $time; 278 278 $sqlval['creator_id'] = $_SESSION['member_id']; 279 279 280 280 if($sqlval['sale_limit'] == "") { 281 281 $sqlval['sale_unlimited'] = '1'; 282 282 } else { 283 $sqlval['sale_unlimited'] = '0'; 284 } 285 283 $sqlval['sale_unlimited'] = '0'; 284 } 285 286 286 if($sqlval['status'] == "") { 287 287 $sqlval['status'] = 2; … … 307 307 $sqlval['product_id'] = $product_id; 308 308 $sqlval['create_date'] = $time; 309 309 310 310 // ¥«¥Æ¥´¥êÆâ¤ÇºÇÂç¤Î¥é¥ó¥¯¤ò³ä¤êÅö¤Æ¤ë 311 311 $sqlval['rank'] = $objQuery->max("dtb_products", "rank", "category_id = ?", array($arrRet['category_id'])) + 1; 312 312 313 313 // INSERT¤Î¼Â¹Ô 314 314 $objQuery->insert("dtb_products", $sqlval); 315 315 } 316 316 317 317 // µ¬³ÊÅÐÏ¿ 318 318 lfRegistProductClass($objQuery, $arrRet, $sqlval['product_id'], $arrRet['product_class_id']); 319 319 320 320 // ¤ª¤¹¤¹¤á¾¦ÉÊÅÐÏ¿ 321 321 $objQuery->delete("dtb_recommend_products", "product_id = ?", array($sqlval['product_id'])); … … 339 339 } 340 340 341 /* 341 /* 342 342 * ´Ø¿ô̾¡§lfRegistProductClass 343 343 * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È … … 353 353 $sqlval['stock_unlimited'] = '1'; 354 354 } else { 355 $sqlval['stock_unlimited'] = '0'; 355 $sqlval['stock_unlimited'] = '0'; 356 356 } 357 357 $sqlval['price01'] = $arrList['price01']; … … 361 361 $sqlval['creator_id'] = '0'; 362 362 } 363 363 364 364 if($product_class_id == "") { 365 365 // ¿·µ¬ÅÐÏ¿ … … 375 375 // ´û¸ÊÔ½¸ 376 376 $where = "product_id = ? AND product_class_id = ?"; 377 $objQuery->update("dtb_products_class", $sqlval, $where, array($product_id, $product_class_id)); 378 } 379 } 380 381 /* 377 $objQuery->update("dtb_products_class", $sqlval, $where, array($product_id, $product_class_id)); 378 } 379 } 380 381 /* 382 382 * ´Ø¿ô̾¡§lfCheckError 383 383 * ÀâÌÀ¡¡¡§ÆþÎÏ¥Á¥§¥Ã¥¯ … … 389 389 $objErr = new SC_CheckError($arrRet); 390 390 $objErr->arrErr = $objFormParam->checkError(false); 391 391 392 392 if(count($objErr->arrErr) == 0) { 393 393 $objQuery = new SC_Query(); … … 399 399 } 400 400 } 401 401 402 402 if($arrRet['product_class_id'] != "") { 403 403 $count = 0; … … 409 409 } 410 410 } 411 411 412 412 // ¸ºß¤¹¤ë¥«¥Æ¥´¥êID¤«¥Á¥§¥Ã¥¯ 413 413 $count = $objQuery->count("dtb_category", "category_id = ?", array($arrRet['category_id'])); … … 419 419 } 420 420 421 /* 421 /* 422 422 * ´Ø¿ô̾¡§lfCSVRecordCount 423 423 * ÀâÌÀ¡¡¡§CSV¤Î¥«¥¦¥ó¥È¿ô¤òÆÀ¤ë … … 425 425 */ 426 426 function lfCSVRecordCount($file_name) { 427 427 428 428 $count = 0; 429 429 $fp = fopen($file_name, "r"); … … 432 432 $count++; 433 433 } 434 434 435 435 return $count-1; 436 436 }
Note: See TracChangeset
for help on using the changeset viewer.