- 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/upload_csv.php
r12157 r15078 23 23 $objSess = new SC_Session(); 24 24 25 // ǧ¾Ú²ÄÈݤÎȽÄê25 // 認証可否の判定 26 26 sfIsSuccess($objSess); 27 27 28 28 if(ADMIN_MODE != 1) { 29 print(" ¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥¢¥¯¥»¥¹¤Ç¤¤Þ¤»¤ó¡£");29 print("このページには、アクセスできません。"); 30 30 exit; 31 31 } 32 32 33 // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹33 // ファイル管理クラス 34 34 $objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR); 35 // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½35 // ファイル情報の初期化 36 36 lfInitFile(); 37 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹37 // パラメータ管理クラス 38 38 $objFormParam = new SC_FormParam(); 39 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½39 // パラメータ情報の初期化 40 40 lfInitParam(); 41 41 $colmax = $objFormParam->getCount(); … … 45 45 case 'csv_upload': 46 46 $err = false; 47 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯47 // エラーチェック 48 48 $objPage->arrErr['csv_file'] = $objUpFile->makeTempFile('csv_file'); 49 49 … … 53 53 54 54 if($objPage->arrErr['csv_file'] == "") { 55 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ55 // 一時ファイル名の取得 56 56 $filepath = $objUpFile->getTempFilePath('csv_file'); 57 // ¥¨¥ó¥³¡¼¥É57 // エンコード 58 58 $enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR); 59 59 $fp = fopen($enc_filepath, "r"); 60 60 61 $line = 0; // ¹Ô¿ô62 $regist = 0; // ÅÐÏ¿¿ô61 $line = 0; // 行数 62 $regist = 0; // 登録数 63 63 64 64 $objQuery = new SC_Query(); … … 67 67 while(!feof($fp) && !$err) { 68 68 $arrCSV = fgetcsv($fp, 10000); 69 // ¹Ô¥«¥¦¥ó¥È69 // 行カウント 70 70 $line++; 71 71 72 // ¹àÌÜ¿ô¥«¥¦¥ó¥È72 // 項目数カウント 73 73 $max = count($arrCSV); 74 74 75 // ¹àÌÜ¿ô¤¬1°Ê²¼¤Î¾ì¹ç¤Ï̵»ë¤¹¤ë75 // 項目数が1以下の場合は無視する 76 76 if($max <= 1) { 77 77 continue; 78 78 } 79 79 80 // ¹àÌÜ¿ô¥Á¥§¥Ã¥¯80 // 項目数チェック 81 81 if($max != $colmax) { 82 $objPage->arrCSVErr['blank'] = " ¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£";82 $objPage->arrCSVErr['blank'] = "※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。"; 83 83 84 84 ob_start(); … … 89 89 $err = true; 90 90 } else { 91 // ¥·¡¼¥±¥ó¥¹ÇÛÎó¤ò³ÊǼ¤¹¤ë¡£91 // シーケンス配列を格納する。 92 92 $objFormParam->setParam($arrCSV, true); 93 93 $arrRet = $objFormParam->getHashArray(); 94 // Ãͤò¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¤·¤Æ³ÊǼ¤¹¤ë¡£94 // 値をフォーマット変換して格納する。 95 95 $arrRet = lfConvFormat($arrRet); 96 96 $objFormParam->setParam($arrRet); 97 // ÆþÎÏÃͤÎÊÑ´¹97 // 入力値の変換 98 98 $objFormParam->convParam(); 99 // <br> ¤Ê¤·¤Ç¥¨¥é¡¼¼èÆÀ¤¹¤ë¡£99 // <br>なしでエラー取得する。 100 100 $objPage->arrCSVErr = lfCheckError(); 101 101 } 102 102 103 // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯103 // 入力エラーチェック 104 104 if(count($objPage->arrCSVErr) > 0) { 105 $objPage->tpl_errtitle = " ¢£" . $line . "¹ÔÌܤǥ¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£";105 $objPage->tpl_errtitle = "■" . $line . "行目でエラーが発生しました。"; 106 106 $objPage->arrParam = $objFormParam->getHashArray(); 107 107 $err = true; … … 121 121 gfPrintLog("commit csv:$regist"); 122 122 123 $objPage->tpl_oktitle = " ¢£" . $regist . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£";123 $objPage->tpl_oktitle = "■" . $regist . "件のレコードを登録しました。"; 124 124 } else { 125 125 $objQuery->rollback(); … … 136 136 //-------------------------------------------------------------------------------------------------------------------------- 137 137 138 /* ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½*/138 /* ファイル情報の初期化 */ 139 139 function lfInitFile() { 140 140 global $objUpFile; 141 $objUpFile->addFile("CSV ¥Õ¥¡¥¤¥ë", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false);142 } 143 144 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½*/141 $objUpFile->addFile("CSVファイル", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false); 142 } 143 144 /* パラメータ情報の初期化 */ 145 145 function lfInitParam() { 146 146 global $objFormParam; 147 147 148 $objFormParam->addParam(" ¾¦ÉÊ̾", "name", MTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));149 $objFormParam->addParam(" ¥«¥Æ¥´¥êID", "category_id", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));150 $objFormParam->addParam(" ¾¦ÉÊ¥³¡¼¥É", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));151 $objFormParam->addParam(" ¾¦ÉʲÁ³Ê", "price02", PRICE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));152 $objFormParam->addParam(" ¾¦ÉʲÁ³Ê", "price01", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));153 $objFormParam->addParam(" ºß¸Ë¿ô", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));154 $objFormParam->addParam(" ¹ØÆþÀ©¸Â", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));155 $objFormParam->addParam(" ¥á¡¼¥«¡¼URL", "comment1", LTEXT_LEN, "KVa", array("URL_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK"));156 $objFormParam->addParam(" ¾¦ÉÊ¥¹¥Æ¡¼¥¿¥¹", "product_flag", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));157 $objFormParam->addParam(" ¥Ý¥¤¥ó¥ÈÉÕͿΨ", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));158 $objFormParam->addParam(" ¥á¥¤¥ó°ìÍ÷¥³¥á¥ó¥È", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));159 $objFormParam->addParam(" ¥á¥¤¥ó¥³¥á¥ó¥È", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));148 $objFormParam->addParam("商品名", "name", MTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 149 $objFormParam->addParam("カテゴリID", "category_id", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 150 $objFormParam->addParam("商品コード", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 151 $objFormParam->addParam("商品価格", "price02", PRICE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 152 $objFormParam->addParam("商品価格", "price01", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 153 $objFormParam->addParam("在庫数", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 154 $objFormParam->addParam("購入制限", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 155 $objFormParam->addParam("メーカーURL", "comment1", LTEXT_LEN, "KVa", array("URL_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK")); 156 $objFormParam->addParam("商品ステータス", "product_flag", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 157 $objFormParam->addParam("ポイント付与率", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 158 $objFormParam->addParam("メイン一覧コメント", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 159 $objFormParam->addParam("メインコメント", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 160 160 161 161 for($i = 1; $i <= PRODUCTSUB_MAX; $i++) { 162 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë($i)", "sub_title$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));163 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È($i)", "sub_comment$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));164 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü($i)", "sub_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));165 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü³ÈÂç($i)", "sub_large_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));166 } 167 168 $objFormParam->addParam(" ¥á¥¤¥ó°ìÍ÷²èÁü", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));169 $objFormParam->addParam(" ¥á¥¤¥ó¾ÜºÙ²èÁü", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));170 $objFormParam->addParam(" ¥á¥¤¥ó¾ÜºÙ³ÈÂç²èÁü", "main_large_image", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));171 $objFormParam->addParam(" Èæ³Ó²èÁü", "file1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE"));172 $objFormParam->addParam(" ¾¦Éʾܺ٥ե¡¥¤¥ë", "file2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));173 $objFormParam->addParam(" Á÷ÎÁ", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));174 $objFormParam->addParam(" ºß¸Ë̵À©¸Â", "stock_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));175 $objFormParam->addParam(" ÈÎÇä̵À©¸Â", "sale_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));176 } 177 178 /* Æüì¹àÌܤÎÊÑ´¹*/162 $objFormParam->addParam("詳細-サブタイトル($i)", "sub_title$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 163 $objFormParam->addParam("詳細-サブコメント($i)", "sub_comment$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 164 $objFormParam->addParam("詳細-サブ画像($i)", "sub_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 165 $objFormParam->addParam("詳細-サブ画像拡大($i)", "sub_large_image$i", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 166 } 167 168 $objFormParam->addParam("メイン一覧画像", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 169 $objFormParam->addParam("メイン詳細画像", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 170 $objFormParam->addParam("メイン詳細拡大画像", "main_large_image", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 171 $objFormParam->addParam("比較画像", "file1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK","FIND_FILE")); 172 $objFormParam->addParam("商品詳細ファイル", "file2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 173 $objFormParam->addParam("送料", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 174 $objFormParam->addParam("在庫無制限", "stock_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 175 $objFormParam->addParam("販売無制限", "sale_unlimited", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 176 } 177 178 /* 特殊項目の変換 */ 179 179 function lfConvFormat($array) { 180 180 global $arrDISP; … … 192 192 } 193 193 194 /* ¾¦Éʤο·µ¬ÄɲÃ*/194 /* 商品の新規追加 */ 195 195 function lfInsertProduct($objQuery) { 196 196 global $objFormParam; 197 197 $arrRet = $objFormParam->getHashArray(); 198 198 199 // µ¬³Ê¤ËÅÐÏ¿¤µ¤ì¤ëÃͤò½ü³°¤¹¤ë¡£199 // 規格に登録される値を除外する。 200 200 foreach($arrRet as $key => $val) { 201 201 switch($key) { … … 217 217 } 218 218 219 $sqlval['status'] = 1; // ɽ¼¨¤ËÀßÄꤹ¤ë¡£219 $sqlval['status'] = 1; // 表示に設定する。 220 220 $sqlval['update_date'] = "Now()"; 221 221 $sqlval['create_date'] = "Now()"; … … 223 223 $sqlval['rank'] = $objQuery->max("dtb_products", "rank", "del_flg = 0 AND category_id = ?", array($sqlval['category_id'])) + 1; 224 224 225 // µ¬³ÊÅÐÏ¿225 // 規格登録 226 226 sfInsertProductClass($objQuery, $arrRet, $product_id); 227 227 228 228 gfPrintLog("insert productclass end"); 229 229 230 // INSERT ¤Î¼Â¹Ô230 // INSERTの実行 231 231 $objQuery->insert("dtb_products", $sqlval); 232 232 … … 238 238 } 239 239 240 /* ÆþÎÏÆâÍƤΥÁ¥§¥Ã¥¯*/240 /* 入力内容のチェック */ 241 241 function lfCheckError() { 242 242 global $objFormParam; 243 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£243 // 入力データを渡す。 244 244 $arrRet = $objFormParam->getHashArray(); 245 245 $objErr = new SC_CheckError($arrRet); … … 253 253 $level = $objQuery->get($table, $col, $where, array($arrRet['category_id'])); 254 254 if($level != LEVEL_MAX) { 255 $objErr->arrErr['category_id'] = " ¢¨ ¤³¤Î¥«¥Æ¥´¥êID¤Ë¤Ï¾¦ÉʤòÅÐÏ¿¤Ç¤¤Þ¤»¤ó¡£";255 $objErr->arrErr['category_id'] = "※ このカテゴリIDには商品を登録できません。"; 256 256 } 257 257 }
Note: See TracChangeset
for help on using the changeset viewer.