- 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/products/upload_csv.php
r14926 r15078 25 25 $objSess = new SC_Session(); 26 26 27 // ǧ¾Ú²ÄÈݤÎȽÄê27 // 認証可否の判定 28 28 sfIsSuccess($objSess); 29 29 30 // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹30 // ファイル管理クラス 31 31 $objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR); 32 // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½32 // ファイル情報の初期化 33 33 lfInitFile(); 34 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹34 // パラメータ管理クラス 35 35 $objFormParam = new SC_FormParam(); 36 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½36 // パラメータ情報の初期化 37 37 lfInitParam(); 38 38 $colmax = $objFormParam->getCount(); … … 43 43 case 'csv_upload': 44 44 $err = false; 45 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯45 // エラーチェック 46 46 $arrErr['csv_file'] = $objUpFile->makeTempFile('csv_file'); 47 47 … … 50 50 } 51 51 52 // ¼Â¹Ô»þ´Ö¤òÀ©¸Â¤·¤Ê¤¤52 // 実行時間を制限しない 53 53 set_time_limit(0); 54 54 55 // ½ÐÎϤò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤(==ÆüËܸ켫ưÊÑ´¹¤â¤·¤Ê¤¤)55 // 出力をバッファリングしない(==日本語自動変換もしない) 56 56 ob_end_clean(); 57 57 58 // IE ¤Î¤¿¤á¤Ë256¥Ð¥¤¥È¶õʸ»ú½ÐÎÏ58 // IEのために256バイト空文字出力 59 59 echo str_pad('',256); 60 60 61 61 if($arrErr['csv_file'] == "") { 62 // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ62 // 一時ファイル名の取得 63 63 $filepath = $objUpFile->getTempFilePath('csv_file'); 64 // ¥¨¥ó¥³¡¼¥É64 // エンコード 65 65 $enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR); 66 66 67 // ¥ì¥³¡¼¥É¿ô¤òÆÀ¤ë67 // レコード数を得る 68 68 $rec_count = lfCSVRecordCount($enc_filepath); 69 69 70 70 $fp = fopen($enc_filepath, "r"); 71 $line = 0; // ¹Ô¿ô72 $regist = 0; // ÅÐÏ¿¿ô71 $line = 0; // 行数 72 $regist = 0; // 登録数 73 73 74 74 $objQuery = new SC_Query(); 75 75 $objQuery->begin(); 76 76 77 echo " ¢£¡¡CSVÅÐÏ¿¿ÊĽ¾õ¶·<br/><br/>\n";77 echo "■ CSV登録進捗状況 <br/><br/>\n"; 78 78 79 79 while(!feof($fp) && !$err) { 80 80 $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 81 81 82 // ¹Ô¥«¥¦¥ó¥È82 // 行カウント 83 83 $line++; 84 84 … … 87 87 } 88 88 89 // ¹àÌÜ¿ô¥«¥¦¥ó¥È89 // 項目数カウント 90 90 $max = count($arrCSV); 91 91 92 // ¹àÌÜ¿ô¤¬1°Ê²¼¤Î¾ì¹ç¤Ï̵»ë¤¹¤ë92 // 項目数が1以下の場合は無視する 93 93 if($max <= 1) { 94 94 continue; 95 95 } 96 96 97 // ¹àÌÜ¿ô¥Á¥§¥Ã¥¯97 // 項目数チェック 98 98 if($max != $colmax) { 99 echo " ¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£</br>\n";99 echo "※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。</br>\n"; 100 100 $err = true; 101 101 } else { 102 // ¥·¡¼¥±¥ó¥¹ÇÛÎó¤ò³ÊǼ¤¹¤ë¡£102 // シーケンス配列を格納する。 103 103 $objFormParam->setParam($arrCSV, true); 104 104 $arrRet = $objFormParam->getHashArray(); 105 105 $objFormParam->setParam($arrRet); 106 // ÆþÎÏÃͤÎÊÑ´¹106 // 入力値の変換 107 107 $objFormParam->convParam(); 108 // <br> ¤Ê¤·¤Ç¥¨¥é¡¼¼èÆÀ¤¹¤ë¡£108 // <br>なしでエラー取得する。 109 109 $arrCSVErr = lfCheckError(); 110 110 } 111 111 112 // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯112 // 入力エラーチェック 113 113 if(count($arrCSVErr) > 0) { 114 echo "<font color=\"red\"> ¢£" . $line . "¹ÔÌܤǥ¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£</font></br>\n";114 echo "<font color=\"red\">■" . $line . "行目でエラーが発生しました。</font></br>\n"; 115 115 foreach($arrCSVErr as $val) { 116 116 echo "<font color=\"red\">$val</font></br>\n"; … … 125 125 $arrParam = $objFormParam->getHashArray(); 126 126 127 if(!$err) echo $line." / ".$rec_count. " ¹ÔÌÜ¡¡¡Ê¾¦ÉÊID¡§".$arrParam['product_id']." / ¾¦ÉÊ̾¡§".$arrParam['name'].")\n<br />";127 if(!$err) echo $line." / ".$rec_count. "行目 (商品ID:".$arrParam['product_id']." / 商品名:".$arrParam['name'].")\n<br />"; 128 128 flush(); 129 129 } … … 132 132 if(!$err) { 133 133 $objQuery->commit(); 134 echo " ¢£" . $regist . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£";135 // ¾¦ÉÊ·ï¿ô¥«¥¦¥ó¥È´Ø¿ô¤Î¼Â¹Ô134 echo "■" . $regist . "件のレコードを登録しました。"; 135 // 商品件数カウント関数の実行 136 136 sfCategory_Count($objQuery); 137 137 } else { … … 143 143 } 144 144 } 145 echo "<br/><a href=\"javascript:window.close()\"> ¢ªÊĤ¸¤ë</a>";145 echo "<br/><a href=\"javascript:window.close()\">→閉じる</a>"; 146 146 flush(); 147 147 exit; … … 157 157 158 158 /* 159 * ´Ø¿ô̾¡§lfInitFile160 * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½159 * 関数名:lfInitFile 160 * 説明 :ファイル情報の初期化 161 161 */function lfInitFile() { 162 162 global $objUpFile; 163 $objUpFile->addFile("CSV ¥Õ¥¡¥¤¥ë", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false);164 } 165 166 /* 167 * ´Ø¿ô̾¡§lfInitParam168 * ÀâÌÀ¡¡¡§ÆþÎϾðÊó¤Î½é´ü²½163 $objUpFile->addFile("CSVファイル", 'csv_file', array('csv'), CSV_SIZE, true, 0, 0, false); 164 } 165 166 /* 167 * 関数名:lfInitParam 168 * 説明 :入力情報の初期化 169 169 */ 170 170 function lfInitParam() { 171 171 global $objFormParam; 172 172 173 $objFormParam->addParam(" ¾¦ÉÊID", "product_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));174 $objFormParam->addParam(" ¾¦Éʵ¬³ÊID", "product_class_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));175 176 $objFormParam->addParam(" µ¬³Ê̾1", "dummy1");177 $objFormParam->addParam(" µ¬³Ê̾2", "dummy2");178 179 $objFormParam->addParam(" ¾¦ÉÊ̾", "name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));180 $objFormParam->addParam(" ¸ø³«¥Õ¥é¥°(1:¸ø³« 2:Èó¸ø³«)", "status", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));181 $objFormParam->addParam(" ¾¦ÉÊ¥¹¥Æ¡¼¥¿¥¹", "product_flag", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));182 $objFormParam->addParam(" ¾¦ÉÊ¥³¡¼¥É", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));173 $objFormParam->addParam("商品ID", "product_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 174 $objFormParam->addParam("商品規格ID", "product_class_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 175 176 $objFormParam->addParam("規格名1", "dummy1"); 177 $objFormParam->addParam("規格名2", "dummy2"); 178 179 $objFormParam->addParam("商品名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 180 $objFormParam->addParam("公開フラグ(1:公開 2:非公開)", "status", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 181 $objFormParam->addParam("商品ステータス", "product_flag", INT_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 182 $objFormParam->addParam("商品コード", "product_code", STEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 183 183 $objFormParam->addParam(NORMAL_PRICE_TITLE, "price01", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 184 184 $objFormParam->addParam(SALE_PRICE_TITLE, "price02", PRICE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 185 $objFormParam->addParam(" ºß¸Ë¿ô", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));186 $objFormParam->addParam(" Á÷ÎÁ", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));187 $objFormParam->addParam(" ¥Ý¥¤¥ó¥ÈÉÕͿΨ", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK"));188 $objFormParam->addParam(" ¹ØÆþÀ©¸Â", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));189 $objFormParam->addParam(" ¥á¡¼¥«¡¼URL", "comment1", URL_LEN, "KVa", array("SPTAB_CHECK","URL_CHECK","MAX_LENGTH_CHECK"));190 $objFormParam->addParam(" ¸¡º÷¥ï¡¼¥É", "comment3", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));191 $objFormParam->addParam(" °ìÍ÷-¥á¥¤¥ó¥³¥á¥ó¥È", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));192 $objFormParam->addParam(" °ìÍ÷-¥á¥¤¥ó²èÁü", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));193 $objFormParam->addParam(" ¥á¥¤¥ó¥³¥á¥ó¥È", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));194 $objFormParam->addParam(" ¥á¥¤¥ó²èÁü", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));195 $objFormParam->addParam(" ¥á¥¤¥ó³ÈÂç²èÁü", "main_large_image", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));196 $objFormParam->addParam(" ¥«¥é¡¼Èæ³Ó²èÁü", "file1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));197 $objFormParam->addParam(" ¾¦Éʾܺ٥ե¡¥¤¥ë", "file2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));198 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(1)", "sub_title1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));199 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(1)", "sub_comment1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));200 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü(1)", "sub_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));201 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(1)", "sub_large_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));202 203 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(2)", "sub_title2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));204 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(2)", "sub_comment2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));205 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü(2)", "sub_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));206 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(2)", "sub_large_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));207 208 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(3)", "sub_title3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));209 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(3)", "sub_comment3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));210 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü(3)", "sub_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));211 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(3)", "sub_large_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));212 213 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(4)", "sub_title4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));214 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(4)", "sub_comment4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));215 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü(4)", "sub_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));216 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(4)", "sub_large_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));217 218 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë(5)", "sub_title5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));219 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È(5)", "sub_comment5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));220 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö²èÁü(5)", "sub_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));221 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü(5)", "sub_large_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK"));222 223 $objFormParam->addParam(" ȯÁ÷ÆüÌÜ°Â", "deliv_date_id", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));185 $objFormParam->addParam("在庫数", "stock", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 186 $objFormParam->addParam("送料", "deliv_fee", PRICE_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 187 $objFormParam->addParam("ポイント付与率", "point_rate", PERCENTAGE_LEN, "n", array("EXIST_CHECK","MAX_LENGTH_CHECK","NUM_CHECK")); 188 $objFormParam->addParam("購入制限", "sale_limit", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 189 $objFormParam->addParam("メーカーURL", "comment1", URL_LEN, "KVa", array("SPTAB_CHECK","URL_CHECK","MAX_LENGTH_CHECK")); 190 $objFormParam->addParam("検索ワード", "comment3", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 191 $objFormParam->addParam("一覧-メインコメント", "main_list_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 192 $objFormParam->addParam("一覧-メイン画像", "main_list_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 193 $objFormParam->addParam("メインコメント", "main_comment", LTEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 194 $objFormParam->addParam("メイン画像", "main_image", LTEXT_LEN, "KVa", array("EXIST_CHECK","FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 195 $objFormParam->addParam("メイン拡大画像", "main_large_image", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 196 $objFormParam->addParam("カラー比較画像", "file1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 197 $objFormParam->addParam("商品詳細ファイル", "file2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 198 $objFormParam->addParam("詳細-サブタイトル(1)", "sub_title1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 199 $objFormParam->addParam("詳細-サブコメント(1)", "sub_comment1", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 200 $objFormParam->addParam("詳細-サブ画像(1)", "sub_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 201 $objFormParam->addParam("詳細-サブ拡大画像(1)", "sub_large_image1", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 202 203 $objFormParam->addParam("詳細-サブタイトル(2)", "sub_title2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 204 $objFormParam->addParam("詳細-サブコメント(2)", "sub_comment2", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 205 $objFormParam->addParam("詳細-サブ画像(2)", "sub_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 206 $objFormParam->addParam("詳細-サブ拡大画像(2)", "sub_large_image2", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 207 208 $objFormParam->addParam("詳細-サブタイトル(3)", "sub_title3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 209 $objFormParam->addParam("詳細-サブコメント(3)", "sub_comment3", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 210 $objFormParam->addParam("詳細-サブ画像(3)", "sub_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 211 $objFormParam->addParam("詳細-サブ拡大画像(3)", "sub_large_image3", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 212 213 $objFormParam->addParam("詳細-サブタイトル(4)", "sub_title4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 214 $objFormParam->addParam("詳細-サブコメント(4)", "sub_comment4", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 215 $objFormParam->addParam("詳細-サブ画像(4)", "sub_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 216 $objFormParam->addParam("詳細-サブ拡大画像(4)", "sub_large_image4", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 217 218 $objFormParam->addParam("詳細-サブタイトル(5)", "sub_title5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 219 $objFormParam->addParam("詳細-サブコメント(5)", "sub_comment5", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 220 $objFormParam->addParam("詳細-サブ画像(5)", "sub_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 221 $objFormParam->addParam("詳細-サブ拡大画像(5)", "sub_large_image5", LTEXT_LEN, "KVa", array("FILE_EXISTS","SPTAB_CHECK","MAX_LENGTH_CHECK")); 222 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 $objFormParam->addParam(" ¤ª¤¹¤¹¤á¾¦ÉÊ($cnt)", "recommend_product_id$cnt", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK"));227 $objFormParam->addParam(" ¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È($cnt)", "recommend_comment$cnt", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));226 $objFormParam->addParam("おすすめ商品($cnt)", "recommend_product_id$cnt", INT_LEN, "n", array("MAX_LENGTH_CHECK","NUM_CHECK")); 227 $objFormParam->addParam("詳細-サブコメント($cnt)", "recommend_comment$cnt", LTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK")); 228 228 } 229 229 230 $objFormParam->addParam(" ¾¦ÉÊ¥«¥Æ¥´¥ê", "category_id", STEXT_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));231 } 232 233 /* 234 * ´Ø¿ô̾¡§lfRegistProduct235 * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È236 * ÀâÌÀ¡¡¡§¾¦ÉÊÅÐÏ¿230 $objFormParam->addParam("商品カテゴリ", "category_id", STEXT_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 231 } 232 233 /* 234 * 関数名:lfRegistProduct 235 * 引数1 :SC_Queryオブジェクト 236 * 説明 :商品登録 237 237 */ 238 238 function lfRegistProduct($objQuery, $line = "") { … … 240 240 $arrRet = $objFormParam->getHashArray(); 241 241 242 // dtb_products °Ê³°¤ËÅÐÏ¿¤µ¤ì¤ëÃͤò½ü³°¤¹¤ë¡£242 // dtb_products以外に登録される値を除外する。 243 243 foreach($arrRet as $key => $val) { 244 244 switch($key) { … … 268 268 } 269 269 } 270 // ÅÐÏ¿»þ´Ö¤òÀ¸À®(DB¤Înow()¤À¤Ècommit¤·¤¿ºÝ¡¢¤¹¤Ù¤ÆƱ°ì¤Î»þ´Ö¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦)270 // 登録時間を生成(DBのnow()だとcommitした際、すべて同一の時間になってしまう) 271 271 $time = date("Y-m-d H:i:s"); 272 // Éðʲ¼¤òÀ¸À®272 // 秒以下を生成 273 273 if($line != "") { 274 274 $microtime = sprintf("%06d", $line); … … 289 289 290 290 if($arrRet['product_id'] != "" && $arrRet['product_class_id'] != "") { 291 // ¥«¥Æ¥´¥êÆâ¥é¥ó¥¯¤ÎÄ´À°½èÍý291 // カテゴリ内ランクの調整処理 292 292 $old_catid = $objQuery->get("dtb_products", "category_id", "product_id = ?", array($arrRet['product_id'])); 293 293 sfMoveCatRank($objQuery, "dtb_products", "product_id", "category_id", $old_catid, $arrRet['category_id'], $arrRet['product_id']); 294 294 295 // UPDATE ¤Î¼Â¹Ô295 // UPDATEの実行 296 296 $where = "product_id = ?"; 297 297 $objQuery->update("dtb_products", $sqlval, $where, array($sqlval['product_id'])); 298 298 } else { 299 299 300 // ¿·µ¬ÅÐÏ¿301 // postgresql ¤Èmysql¤È¤Ç½èÍý¤òʬ¤±¤ë300 // 新規登録 301 // postgresqlとmysqlとで処理を分ける 302 302 if (DB_TYPE == "pgsql") { 303 303 $product_id = $objQuery->nextval("dtb_products","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 // INSERT ¤Î¼Â¹Ô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'])); 322 322 for($i = 1; $i <= RECOMMEND_PRODUCT_MAX; $i++) { … … 340 340 341 341 /* 342 * ´Ø¿ô̾¡§lfRegistProductClass343 * °ú¿ô1 ¡§SC_Query¥ª¥Ö¥¸¥§¥¯¥È344 * °ú¿ô2 ¡§¾¦Éʵ¬³Ê¾ðÊóÇÛÎó345 * °ú¿ô3 ¡§¾¦ÉÊID346 * °ú¿ô4 ¡§¾¦Éʵ¬³ÊID347 * ÀâÌÀ¡¡¡§¾¦Éʵ¬³ÊÅÐÏ¿342 * 関数名:lfRegistProductClass 343 * 引数1 :SC_Queryオブジェクト 344 * 引数2 :商品規格情報配列 345 * 引数3 :商品ID 346 * 引数4 :商品規格ID 347 * 説明 :商品規格登録 348 348 */ 349 349 function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id) { … … 363 363 364 364 if($product_class_id == "") { 365 // ¿·µ¬ÅÐÏ¿365 // 新規登録 366 366 $where = "product_id = ?"; 367 // Ç°¤Î¤¿¤á¤Ë´û¸¤Îµ¬³Ê¤òºï½ü367 // 念のために既存の規格を削除 368 368 $objQuery->delete("dtb_products_class", $where, array($product_id)); 369 369 $sqlval['product_id'] = $product_id; … … 373 373 $objQuery->insert("dtb_products_class", $sqlval); 374 374 } else { 375 // ´û¸ÊÔ½¸375 // 既存編集 376 376 $where = "product_id = ? AND product_class_id = ?"; 377 377 $objQuery->update("dtb_products_class", $sqlval, $where, array($product_id, $product_class_id)); … … 380 380 381 381 /* 382 * ´Ø¿ô̾¡§lfCheckError383 * ÀâÌÀ¡¡¡§ÆþÎÏ¥Á¥§¥Ã¥¯382 * 関数名:lfCheckError 383 * 説明 :入力チェック 384 384 */ 385 385 function lfCheckError() { 386 386 global $objFormParam; 387 // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£387 // 入力データを渡す。 388 388 $arrRet = $objFormParam->getHashArray(); 389 389 $objErr = new SC_CheckError($arrRet); … … 392 392 if(count($objErr->arrErr) == 0) { 393 393 $objQuery = new SC_Query(); 394 // ¾¦ÉÊID¡¢µ¬³ÊID¤Î¸ºß¥Á¥§¥Ã¥¯394 // 商品ID、規格IDの存在チェック 395 395 if($arrRet['product_id'] != "") { 396 396 $count = $objQuery->count("dtb_products", "product_id = ?", array($arrRet['product_id'])); 397 397 if($count == 0) { 398 $objErr->arrErr['product_id'] = " ¢¨ »ØÄê¤Î¾¦ÉÊID¤Ï¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£";398 $objErr->arrErr['product_id'] = "※ 指定の商品IDは、登録されていません。"; 399 399 } 400 400 } … … 406 406 } 407 407 if($count == 0) { 408 $objErr->arrErr['product_class_id'] = " ¢¨ »ØÄê¤Îµ¬³ÊID¤Ï¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£";409 } 410 } 411 412 // ¸ºß¤¹¤ë¥«¥Æ¥´¥êID¤«¥Á¥§¥Ã¥¯408 $objErr->arrErr['product_class_id'] = "※ 指定の規格IDは、登録されていません。"; 409 } 410 } 411 412 // 存在するカテゴリIDかチェック 413 413 $count = $objQuery->count("dtb_category", "category_id = ?", array($arrRet['category_id'])); 414 414 if($count == 0) { 415 $objErr->arrErr['product_id'] = " ¢¨ »ØÄê¤Î¥«¥Æ¥´¥êID¤Ï¡¢ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£";415 $objErr->arrErr['product_id'] = "※ 指定のカテゴリIDは、登録されていません。"; 416 416 } 417 417 } … … 420 420 421 421 /* 422 * ´Ø¿ô̾¡§lfCSVRecordCount423 * ÀâÌÀ¡¡¡§CSV¤Î¥«¥¦¥ó¥È¿ô¤òÆÀ¤ë424 * °ú¿ô1 ¡§¥Õ¥¡¥¤¥ë¥Ñ¥¹422 * 関数名:lfCSVRecordCount 423 * 説明 :CSVのカウント数を得る 424 * 引数1 :ファイルパス 425 425 */ 426 426 function lfCSVRecordCount($file_name) {
Note: See TracChangeset
for help on using the changeset viewer.