Index: /branches/comu-ver2/html/install/sql/insert_data.sql
===================================================================
--- /branches/comu-ver2/html/install/sql/insert_data.sql (revision 18084)
+++ /branches/comu-ver2/html/install/sql/insert_data.sql (revision 18171)
@@ -1116,5 +1116,6 @@
INSERT INTO mtb_constants VALUES ('OSTORE_E_C_PERMISSION', '"2009"', 521, 'オーナーズストア通信エラーコード');
INSERT INTO mtb_constants VALUES ('OSTORE_E_C_BATCH_ERR', '"2010"', 522, 'オーナーズストア通信エラーコード');
-INSERT INTO mtb_constants VALUES ('OPTION_FAVOFITE_PRODUCT','1',523,'お気に入り商品登録(有効:1 無効:0)');
+INSERT INTO mtb_constants VALUES ('OPTION_FAVOFITE_PRODUCT', '1', 523, 'お気に入り商品登録(有効:1 無効:0)');
+INSERT INTO mtb_constants VALUES ('IMAGE_RENAME', 'true', 525, '画像リネーム設定(商品画像のみ)(true:リネームする、false:リネームしない)');
INSERT INTO dtb_module (module_id,module_code,module_name,update_date,create_date) VALUES (0,0,'patch',now(),now());
Index: /branches/comu-ver2/data/class/SC_UploadFile.php
===================================================================
--- /branches/comu-ver2/data/class/SC_UploadFile.php (revision 17110)
+++ /branches/comu-ver2/data/class/SC_UploadFile.php (revision 18171)
@@ -59,10 +59,5 @@
}
// サムネイル画像の作成
- function makeThumb($src_file, $width, $height) {
- // 一意なIDを取得する。
- $uniqname = date("mdHi") . "_" . uniqid("");
-
- $dst_file = $this->temp_dir . $uniqname;
-
+ function makeThumb($src_file, $width, $height, $dst_file) {
$objThumb = new gdthumb();
$ret = $objThumb->Main($src_file, $width, $height, $dst_file);
@@ -79,5 +74,5 @@
// アップロードされたファイルを保存する。
// FIXME see. http://www.php.net/manual/en/features.file-upload.php
- function makeTempFile($keyname, $rename = true) {
+ function makeTempFile($keyname, $rename = IMAGE_RENAME) {
$objErr = new SC_CheckError();
$cnt = 0;
@@ -98,5 +93,7 @@
// 画像ファイルの場合
if($this->image[$cnt]) {
- $this->temp_file[$cnt] = $this->makeThumb($_FILES[$keyname]['tmp_name'], $this->width[$cnt], $this->height[$cnt]);
+ // 保存用の画像名を取得する
+ $dst_file = $this->lfGetTmpImageName($rename, $keyname);
+ $this->temp_file[$cnt] = $this->makeThumb($_FILES[$keyname]['tmp_name'], $this->width[$cnt], $this->height[$cnt], $dst_file);
// 画像ファイル以外の場合
} else {
@@ -335,4 +332,25 @@
return basename($path);
}
+
+ /**
+ * 一時保存用のファイル名を生成する
+ *
+ * @param string $rename
+ * @param int $keyname
+ * @return strgin $dst_file
+ */
+ function lfGetTmpImageName($rename, $keyname = "", $uploadfile = ""){
+
+ if( $rename === true ){
+ // 一意なIDを取得し、画像名をリネームし保存
+ $uniqname = date("mdHi") . "_" . uniqid("");
+ } else {
+ // アップロードした画像名で保存
+ $uploadfile = strlen($uploadfile) > 0 ? $uploadfile : $_FILES[$keyname]['name'];
+ $uniqname = preg_replace('/(.+)\.(.+?)$/','$1', $uploadfile);
+ }
+ $dst_file = $this->temp_dir . $uniqname;
+ return $dst_file;
+ }
}
?>
Index: /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
===================================================================
--- /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php (revision 18062)
+++ /branches/comu-ver2/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php (revision 18171)
@@ -145,5 +145,5 @@
}
break;
- // 商品登録・編集
+ // 商品登録・編集
case 'edit':
if($_POST['product_id'] == "" and SC_Utils_Ex::sfIsInt($_POST['copy_product_id'])){
@@ -164,5 +164,5 @@
}
break;
- // 確認ページから完了ページへ
+ // 確認ページから完了ページへ
case 'complete':
$this->tpl_mainpage = 'products/complete.tpl';
@@ -177,10 +177,10 @@
break;
- // 画像のアップロード
+ // 画像のアップロード
case 'upload_image':
// ファイル存在チェック
$this->arrErr = array_merge((array)$this->arrErr, (array)$this->objUpFile->checkEXISTS($_POST['image_key']));
// 画像保存処理
- $this->arrErr[$_POST['image_key']] = $this->objUpFile->makeTempFile($_POST['image_key']);
+ $this->arrErr[$_POST['image_key']] = $this->objUpFile->makeTempFile($_POST['image_key'],IMAGE_RENAME);
// 中、小画像生成
@@ -189,14 +189,14 @@
$this->lfProductPage(); // 商品登録ページ
break;
- // 画像の削除
+ // 画像の削除
case 'delete_image':
$this->objUpFile->deleteFile($_POST['image_key']);
$this->lfProductPage(); // 商品登録ページ
break;
- // 確認ページからの戻り
+ // 確認ページからの戻り
case 'confirm_return':
$this->lfProductPage(); // 商品登録ページ
break;
- // 関連商品選択
+ // 関連商品選択
case 'recommend_select' :
$this->lfProductPage(); // 商品登録ページ
@@ -707,5 +707,7 @@
empty($this->objUpFile->save_file[$arrImageKey[$to_key]])) {
- $path = $this->objUpFile->makeThumb($from_path, $to_w, $to_h);
+ // リネームする際は、自動生成される画像名に一意となるように、Suffixを付ける
+ $dst_file = $this->objUpFile->lfGetTmpImageName(IMAGE_RENAME, "", $this->objUpFile->temp_file[$arrImageKey[$from_key]]) . $this->lfGetAddSuffix($to_key);
+ $path = $this->objUpFile->makeThumb($from_path, $to_w, $to_h, $dst_file);
$this->objUpFile->temp_file[$arrImageKey[$to_key]] = basename($path);
}
@@ -713,4 +715,27 @@
return "";
}
+ }
+
+ /**
+ * リネームする際は、自動生成される画像名に一意となるように、Suffixを付ける
+ */
+ function lfGetAddSuffix($to_key){
+ if( IMAGE_RENAME === true ){ return ; }
+
+ // 自動生成される画像名
+ $dist_name = "";
+ switch($to_key){
+ case "main_list_image":
+ $dist_name = '_s';
+ break;
+ case "main_image":
+ $dist_name = '_m';
+ break;
+ default;
+ $arrRet = explode('sub_image', $to_key);
+ $dist_name = '_sub' .$arrRet[1];
+ break;
+ }
+ return $dist_name;
}
/**
Index: /branches/comu-ver2/data/mtb_constants_init.php
===================================================================
--- /branches/comu-ver2/data/mtb_constants_init.php (revision 18021)
+++ /branches/comu-ver2/data/mtb_constants_init.php (revision 18171)
@@ -669,3 +669,5 @@
/** お気に入り商品登録(有効:1 無効:0) */
define('OPTION_FAVOFITE_PRODUCT','1');
+/** 画像リネーム設定(商品画像のみ) */
+define('IMAGE_RENAME', true);
?>