Ignore:
Timestamp:
2007/07/20 15:58:59 (17 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
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
  • branches/feature-module-update/html/admin/products/product.php

    r12157 r15078  
    2121        $this->tpl_mainno = 'products';      
    2222        $this->tpl_subno = 'product'; 
    23         $this->tpl_subtitle = '¾¦ÉÊÅÐÏ¿'; 
     23        $this->tpl_subtitle = '商品登録'; 
    2424        global $arrSRANK; 
    2525        $this->arrSRANK = $arrSRANK; 
     
    4545$objQuery = new SC_Query(); 
    4646 
    47 // ǧ¾Ú²ÄÈݤÎȽÄê 
     47// 認証可否の判定 
    4848$objSess = new SC_Session(); 
    4949sfIsSuccess($objSess); 
    5050 
    51 // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ 
     51// ファイル管理クラス 
    5252$objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR); 
    5353 
    54 // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ 
     54// ファイル情報の初期化 
    5555lfInitFile(); 
    56 // Hidden¤«¤é¤Î¥Ç¡¼¥¿¤ò°ú¤­·Ñ¤° 
     56// Hiddenからのデータを引き継ぐ 
    5757$objUpFile->setHiddenFileList($_POST); 
    5858 
    59 // ¸¡º÷¥Ñ¥é¥á¡¼¥¿¤Î°ú¤­·Ñ¤® 
     59// 検索パラメータの引き継ぎ 
    6060foreach ($_POST as $key => $val) { 
    6161    if (ereg("^search_", $key)) { 
     
    6464} 
    6565 
    66 // FORM¥Ç¡¼¥¿¤Î°ú¤­·Ñ¤® 
     66// FORMデータの引き継ぎ 
    6767$objPage->arrForm = $_POST; 
    6868 
    6969switch($_POST['mode']) { 
    70 // ¸¡º÷²èÌ̤«¤é¤ÎÊÔ½¸ 
     70// 検索画面からの編集 
    7171case 'pre_edit': 
    7272case 'copy' : 
    73     // ÊÔ½¸»þ 
     73    // 編集時 
    7474    if(sfIsInt($_POST['product_id'])){ 
    75         // DB¤«¤é¾¦ÉʾðÊó¤ÎÆɹþ 
     75        // DBから商品情報の読込 
    7676        $arrForm = lfGetProduct($_POST['product_id']); 
    77         // DB¥Ç¡¼¥¿¤«¤é²èÁü¥Õ¥¡¥¤¥ë̾¤ÎÆɹþ 
     77        // DBデータから画像ファイル名の読込 
    7878        $objUpFile->setDBFileList($arrForm); 
    7979         
     
    8181            $arrForm["copy_product_id"] = $arrForm["product_id"]; 
    8282            $arrForm["product_id"] = ""; 
    83             // ²èÁü¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼ 
     83            // 画像ファイルのコピー 
    8484            $arrKey = $objUpFile->keyname; 
    8585            $arrSaveFile = $objUpFile->save_file; 
     
    9191        $objPage->arrForm = $arrForm; 
    9292         
    93         // ¾¦ÉÊ¥¹¥Æ¡¼¥¿¥¹¤ÎÊÑ´¹ 
     93        // 商品ステータスの変換 
    9494        $arrRet = sfSplitCBValue($objPage->arrForm['product_flag'], "product_flag"); 
    9595        $objPage->arrForm = array_merge($objPage->arrForm, $arrRet); 
    96         // DB¤«¤é¤ª¤¹¤¹¤á¾¦ÉʤÎÆɤ߹þ¤ß 
     96        // DBからおすすめ商品の読み込み 
    9797        $objPage->arrRecommend = lfPreGetRecommendProducts($_POST['product_id']); 
    9898         
    99         // µ¬³ÊÅÐÏ¿¤¢¤ê¤Ê¤·È½Äê 
     99        // 規格登録ありなし判定 
    100100        $objPage->tpl_nonclass = lfCheckNonClass($_POST['product_id']); 
    101         lfProductPage();        // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
    102     } 
    103     break; 
    104 // ¾¦ÉÊÅÐÏ¿¡¦ÊÔ½¸ 
     101        lfProductPage();        // 商品登録ページ 
     102    } 
     103    break; 
     104// 商品登録・編集 
    105105case 'edit': 
    106     // µ¬³ÊÅÐÏ¿¤¢¤ê¤Ê¤·È½Äê 
     106    // 規格登録ありなし判定 
    107107    $tpl_nonclass = lfCheckNonClass($_POST['product_id']); 
    108108     
     
    112112    $objPage->tpl_nonclass = $tpl_nonclass; 
    113113     
    114     // ÆþÎÏÃͤÎÊÑ´¹ 
     114    // 入力値の変換 
    115115    $objPage->arrForm = lfConvertParam($objPage->arrForm); 
    116     // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     116    // エラーチェック 
    117117    $objPage->arrErr = lfErrorCheck($objPage->arrForm); 
    118     // ¥Õ¥¡¥¤¥ë¸ºß¥Á¥§¥Ã¥¯ 
     118    // ファイル存在チェック 
    119119    $objPage->arrErr = array_merge((array)$objPage->arrErr, (array)$objUpFile->checkEXISTS()); 
    120     // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç 
     120    // エラーなしの場合 
    121121    if(count($objPage->arrErr) == 0) { 
    122         lfProductConfirmPage(); // ³Îǧ¥Ú¡¼¥¸ 
     122        lfProductConfirmPage(); // 確認ページ 
    123123    } else { 
    124         lfProductPage();        // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
    125     } 
    126     break; 
    127 // ³Îǧ¥Ú¡¼¥¸¤«¤é´°Î»¥Ú¡¼¥¸¤Ø 
     124        lfProductPage();        // 商品登録ページ 
     125    } 
     126    break; 
     127// 確認ページから完了ページへ 
    128128case 'complete': 
    129129    $objPage->tpl_mainpage = 'products/complete.tpl'; 
    130130     
    131     $objPage->tpl_product_id = lfRegistProduct($_POST);     // ¥Ç¡¼¥¿ÅÐÏ¿ 
     131    $objPage->tpl_product_id = lfRegistProduct($_POST);     // データ登録 
    132132     
    133133    $objQuery = new SC_Query(); 
    134     // ·ï¿ô¥«¥¦¥ó¥È¥Ð¥Ã¥Á¼Â¹Ô 
     134    // 件数カウントバッチ実行 
    135135    sfCategory_Count($objQuery); 
    136     // °ì»þ¥Õ¥¡¥¤¥ë¤òËÜÈ֥ǥ£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤¹¤ë 
     136    // 一時ファイルを本番ディレクトリに移動する 
    137137    $objUpFile->moveTempFile(); 
    138138 
    139139    break; 
    140 // ²èÁü¤Î¥¢¥Ã¥×¥í¡¼¥É 
     140// 画像のアップロード 
    141141case 'upload_image': 
    142     // ¥Õ¥¡¥¤¥ë¸ºß¥Á¥§¥Ã¥¯ 
     142    // ファイル存在チェック 
    143143    $objPage->arrErr = array_merge((array)$objPage->arrErr, (array)$objUpFile->checkEXISTS($_POST['image_key'])); 
    144     // ²èÁüÊݸ½èÍý 
     144    // 画像保存処理 
    145145    $objPage->arrErr[$_POST['image_key']] = $objUpFile->makeTempFile($_POST['image_key']); 
    146146 
    147     // Ãæ¡¢¾®²èÁüÀ¸À® 
     147    // 中、小画像生成 
    148148    lfSetScaleImage(); 
    149149 
    150     lfProductPage(); // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
    151     break; 
    152 // ²èÁü¤Îºï½ü 
     150    lfProductPage(); // 商品登録ページ 
     151    break; 
     152// 画像の削除 
    153153case 'delete_image': 
    154154    $objUpFile->deleteFile($_POST['image_key']); 
    155     lfProductPage(); // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
    156     break; 
    157 // ³Îǧ¥Ú¡¼¥¸¤«¤é¤ÎÌá¤ê 
     155    lfProductPage(); // 商品登録ページ 
     156    break; 
     157// 確認ページからの戻り 
    158158case 'confirm_return': 
    159     // µ¬³ÊÅÐÏ¿¤¢¤ê¤Ê¤·È½Äê 
     159    // 規格登録ありなし判定 
    160160    $objPage->tpl_nonclass = lfCheckNonClass($_POST['product_id']); 
    161     lfProductPage();        // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
    162     break; 
    163 // ¤ª¤¹¤¹¤á¾¦ÉÊÁªÂò 
     161    lfProductPage();        // 商品登録ページ 
     162    break; 
     163// おすすめ商品選択 
    164164case 'recommend_select' : 
    165     lfProductPage();        // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
     165    lfProductPage();        // 商品登録ページ 
    166166    break; 
    167167default: 
    168     // ¸ø³«¡¦Èó¸ø³«¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ 
     168    // 公開・非公開のデフォルト値 
    169169    $objPage->arrForm['status'] = DEFAULT_PRODUCT_DISP; 
    170     lfProductPage();        // ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸ 
     170    lfProductPage();        // 商品登録ページ 
    171171    break; 
    172172} 
    173173 
    174174if($_POST['mode'] != 'pre_edit') { 
    175     // ¤ª¤¹¤¹¤á¾¦ÉʤÎÆɤ߹þ¤ß 
     175    // おすすめ商品の読み込み 
    176176    $objPage->arrRecommend = lfGetRecommendProducts(); 
    177177} 
    178178 
    179 // ´ðËܾðÊó¤òÅϤ¹ 
     179// 基本情報を渡す 
    180180$objPage->arrInfo = $objSiteInfo->data; 
    181181 
    182 // ¥µ¥Ö¾ðÊó¤ÎÆþÎϤ¬¤¢¤ë¤«¤É¤¦¤«¥Á¥§¥Ã¥¯¤¹¤ë 
     182// サブ情報の入力があるかどうかチェックする 
    183183$sub_find = false; 
    184184for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) { 
     
    193193    } 
    194194} 
    195 // ¥µ¥Ö¾ðÊóɽ¼¨¡¦Èóɽ¼¨¤Î¥Á¥§¥Ã¥¯¤Ë»ÈÍѤ¹¤ë¡£ 
     195// サブ情報表示・非表示のチェックに使用する。 
    196196$objPage->sub_find = $sub_find; 
    197197 
     
    200200//----------------------------------------------------------------------------------------------------------------------------- 
    201201 
    202 /* ¤ª¤¹¤¹¤á¾¦ÉʤÎÆɤ߹þ¤ß */ 
     202/* おすすめ商品の読み込み */ 
    203203function lfGetRecommendProducts() { 
    204204    global $objPage; 
     
    220220} 
    221221 
    222 /* ¤ª¤¹¤¹¤á¾¦ÉʤÎÅÐÏ¿ */ 
     222/* おすすめ商品の登録 */ 
    223223function lfInsertRecommendProducts($objQuery, $arrList, $product_id) { 
    224     // °ìö¥ª¥¹¥¹¥á¾¦Éʤò¤¹¤Ù¤Æºï½ü¤¹¤ë 
     224    // 一旦オススメ商品をすべて削除する 
    225225    $objQuery->delete("dtb_recommend_products", "product_id = ?", array($product_id)); 
    226226    $sqlval['product_id'] = $product_id; 
     
    243243} 
    244244 
    245 /* ÅÐÏ¿ºÑ¤ß¤ª¤¹¤¹¤á¾¦ÉʤÎÆɤ߹þ¤ß */ 
     245/* 登録済みおすすめ商品の読み込み */ 
    246246function lfPreGetRecommendProducts($product_id) { 
    247247    $objQuery = new SC_Query(); 
     
    261261} 
    262262 
    263 /* ¾¦ÉʾðÊó¤ÎÆɤ߹þ¤ß */ 
     263/* 商品情報の読み込み */ 
    264264function lfGetProduct($product_id) { 
    265265    $objQuery = new SC_Query(); 
     
    268268    $where = "product_id = ?"; 
    269269     
    270     // view¤â¹Ê¹þ¤ß(mysqlÂбþ) 
     270    // viewも絞込み(mysql対応) 
    271271    sfViewWhere("&&noncls_where&&", $where, array($product_id)); 
    272272     
     
    276276} 
    277277 
    278 /* ¾¦ÉÊÅÐÏ¿¥Ú¡¼¥¸É½¼¨ÍÑ */ 
     278/* 商品登録ページ表示用 */ 
    279279function lfProductPage() { 
    280280    global $objPage; 
    281281    global $objUpFile; 
    282282     
    283     // ¥«¥Æ¥´¥ê¤ÎÆɹþ 
     283    // カテゴリの読込 
    284284    list($objPage->arrCatVal, $objPage->arrCatOut) = sfGetLevelCatList(false); 
    285285 
     
    289289     
    290290    if(!is_array($objPage->arrForm['product_flag'])) { 
    291         // ¾¦ÉÊ¥¹¥Æ¡¼¥¿¥¹¤Îʬ³äÆɹþ 
     291        // 商品ステータスの分割読込 
    292292        $objPage->arrForm['product_flag'] = sfSplitCheckBoxes($objPage->arrForm['product_flag']); 
    293293    } 
    294294     
    295     // HIDDENÍѤËÇÛÎó¤òÅϤ¹¡£ 
     295    // HIDDEN用に配列を渡す。 
    296296    $objPage->arrHidden = array_merge((array)$objPage->arrHidden, (array)$objUpFile->getHiddenFileList()); 
    297     // FormÍÑÇÛÎó¤òÅϤ¹¡£ 
     297    // Form用配列を渡す。 
    298298    $objPage->arrFile = $objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL); 
    299299     
    300300     
    301     // ¥¢¥ó¥«¡¼¤òÀßÄê 
     301    // アンカーを設定 
    302302    if($_POST['image_key'] != ""){ 
    303303        $anchor_hash = "location.hash='#" . $_POST['image_key'] . "'"; 
     
    309309} 
    310310 
    311 /* ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ */ 
     311/* ファイル情報の初期化 */ 
    312312function lfInitFile() { 
    313313    global $objUpFile; 
    314     $objUpFile->addFile("°ìÍ÷-¥á¥¤¥ó²èÁü", 'main_list_image', array('jpg', 'gif', 'png'),IMAGE_SIZE, true, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); 
    315     $objUpFile->addFile("¾ÜºÙ-¥á¥¤¥ó²èÁü", 'main_image', array('jpg', 'gif', 'png'), IMAGE_SIZE, true, NORMAL_IMAGE_WIDTH, NORMAL_IMAGE_HEIGHT); 
    316     $objUpFile->addFile("¾ÜºÙ-¥á¥¤¥ó³ÈÂç²èÁü", 'main_large_image', array('jpg', 'gif', 'png'), IMAGE_SIZE, false, LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); 
     314    $objUpFile->addFile("一覧-メイン画像", 'main_list_image', array('jpg', 'gif', 'png'),IMAGE_SIZE, true, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT); 
     315    $objUpFile->addFile("詳細-メイン画像", 'main_image', array('jpg', 'gif', 'png'), IMAGE_SIZE, true, NORMAL_IMAGE_WIDTH, NORMAL_IMAGE_HEIGHT); 
     316    $objUpFile->addFile("詳細-メイン拡大画像", 'main_large_image', array('jpg', 'gif', 'png'), IMAGE_SIZE, false, LARGE_IMAGE_WIDTH, LARGE_IMAGE_HEIGHT); 
    317317    for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) { 
    318         $objUpFile->addFile("¾ÜºÙ-¥µ¥Ö²èÁü$cnt", "sub_image$cnt", array('jpg', 'gif', 'png'), IMAGE_SIZE, false, NORMAL_SUBIMAGE_WIDTH, NORMAL_SUBIMAGE_HEIGHT);     
    319         $objUpFile->addFile("¾ÜºÙ-¥µ¥Ö³ÈÂç²èÁü$cnt", "sub_large_image$cnt", array('jpg', 'gif', 'png'), IMAGE_SIZE, false, LARGE_SUBIMAGE_WIDTH, LARGE_SUBIMAGE_HEIGHT); 
    320     } 
    321     $objUpFile->addFile("¾¦ÉÊÈæ³Ó²èÁü", 'file1', array('jpg', 'gif', 'png'), IMAGE_SIZE, false, OTHER_IMAGE1_WIDTH, OTHER_IMAGE1_HEIGHT); 
    322     $objUpFile->addFile("¾¦Éʾܺ٥ե¡¥¤¥ë", 'file2', array('pdf'), PDF_SIZE, false, 0, 0, false); 
    323 } 
    324  
    325 /* ¾¦ÉʤÎÅÐÏ¿ */ 
     318        $objUpFile->addFile("詳細-サブ画像$cnt", "sub_image$cnt", array('jpg', 'gif', 'png'), IMAGE_SIZE, false, NORMAL_SUBIMAGE_WIDTH, NORMAL_SUBIMAGE_HEIGHT);   
     319        $objUpFile->addFile("詳細-サブ拡大画像$cnt", "sub_large_image$cnt", array('jpg', 'gif', 'png'), IMAGE_SIZE, false, LARGE_SUBIMAGE_WIDTH, LARGE_SUBIMAGE_HEIGHT); 
     320    } 
     321    $objUpFile->addFile("商品比較画像", 'file1', array('jpg', 'gif', 'png'), IMAGE_SIZE, false, OTHER_IMAGE1_WIDTH, OTHER_IMAGE1_HEIGHT); 
     322    $objUpFile->addFile("商品詳細ファイル", 'file2', array('pdf'), PDF_SIZE, false, 0, 0, false); 
     323} 
     324 
     325/* 商品の登録 */ 
    326326function lfRegistProduct($arrList) { 
    327327    global $objUpFile; 
     
    330330    $objQuery->begin(); 
    331331     
    332     // INSERT¤¹¤ëÃͤòºîÀ®¤¹¤ë¡£ 
     332    // INSERTする値を作成する。 
    333333    $sqlval['name'] = $arrList['name']; 
    334334    $sqlval['category_id'] = $arrList['category_id']; 
     
    364364            $sqlval['product_id'] = $product_id; 
    365365        } 
    366         // ¥«¥Æ¥´¥êÆâ¤ÇºÇÂç¤Î¥é¥ó¥¯¤ò³ä¤êÅö¤Æ¤ë 
     366        // カテゴリ内で最大のランクを割り当てる 
    367367        $sqlval['rank'] = $objQuery->max("dtb_products", "rank", "category_id = ?", array($arrList['category_id'])) + 1; 
    368         // INSERT¤Î¼Â¹Ô 
     368        // INSERTの実行 
    369369        $sqlval['create_date'] = "Now()"; 
    370370        $objQuery->insert("dtb_products", $sqlval); 
     
    375375        } 
    376376         
    377         // ¥³¥Ô¡¼¾¦Éʤξì¹ç¤Ë¤Ïµ¬³Ê¤â¥³¥Ô¡¼¤¹¤ë 
     377        // コピー商品の場合には規格もコピーする 
    378378        if($_POST["copy_product_id"] != "" and sfIsInt($_POST["copy_product_id"])){ 
    379             // dtb_products_class ¤Î¥«¥é¥à¤ò¼èÆÀ 
     379            // dtb_products_class のカラムを取得 
    380380            $arrColList = sfGetColumnList("dtb_products_class", $objQuery); 
    381381            $arrColList_tmp = array_flip($arrColList); 
    382382 
    383             // ¥³¥Ô¡¼¤·¤Ê¤¤Îó 
    384             unset($arrColList[$arrColList_tmp["product_class_id"]]);     //µ¬³ÊID 
    385             unset($arrColList[$arrColList_tmp["product_id"]]);           //¾¦ÉÊID 
     383            // コピーしない列 
     384            unset($arrColList[$arrColList_tmp["product_class_id"]]);     //規格ID 
     385            unset($arrColList[$arrColList_tmp["product_id"]]);           //商品ID 
    386386 
    387387            $col = sfGetCommaList($arrColList); 
     
    393393    } else { 
    394394        $product_id = $arrList['product_id']; 
    395         // ºï½üÍ×µá¤Î¤¢¤Ã¤¿´û¸¥Õ¥¡¥¤¥ë¤Îºï½ü 
     395        // 削除要求のあった既存ファイルの削除 
    396396        $arrRet = lfGetProduct($arrList['product_id']); 
    397397        $objUpFile->deleteDBFile($arrRet); 
    398398         
    399         // ¥«¥Æ¥´¥êÆâ¥é¥ó¥¯¤ÎÄ´À°½èÍý 
     399        // カテゴリ内ランクの調整処理 
    400400        $old_catid = $objQuery->get("dtb_products", "category_id", "product_id = ?", array($arrList['product_id'])); 
    401401        sfMoveCatRank($objQuery, "dtb_products", "product_id", "category_id", $old_catid, $arrList['category_id'], $arrList['product_id']); 
    402402         
    403         // UPDATE¤Î¼Â¹Ô 
     403        // UPDATEの実行 
    404404        $where = "product_id = ?"; 
    405405        $objQuery->update("dtb_products", $sqlval, $where, array($arrList['product_id'])); 
    406406    } 
    407407     
    408     // µ¬³ÊÅÐÏ¿ 
     408    // 規格登録 
    409409    sfInsertProductClass($objQuery, $arrList, $product_id); 
    410410     
    411     // ¤ª¤¹¤¹¤á¾¦ÉÊÅÐÏ¿ 
     411    // おすすめ商品登録 
    412412    lfInsertRecommendProducts($objQuery, $arrList, $product_id); 
    413413     
     
    417417 
    418418 
    419 /* ¼èÆÀʸ»úÎó¤ÎÊÑ´¹ */ 
     419/* 取得文字列の変換 */ 
    420420function lfConvertParam($array) { 
    421421    /* 
    422      *  ʸ»úÎó¤ÎÊÑ´¹ 
    423      *  K :  ¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹ 
    424      *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹ 
    425      *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹   
    426      *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝŽ¶Ž¸)¡×¤ËÊÑ´¹ 
     422     *  文字列の変換 
     423     *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
     424     *  C :  「全角ひら仮名」を「全角かた仮名」に変換 
     425     *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します  
     426     *  n :  「全角」数字を「半角(ハンカク)」に変換 
    427427     */ 
    428     // ¿Íʪ´ðËܾðÊó 
    429      
    430     // ¥¹¥Ý¥Ã¥È¾¦ÉÊ 
     428    // 人物基本情報 
     429     
     430    // スポット商品 
    431431    $arrConvList['name'] = "KVa"; 
    432432    $arrConvList['main_list_comment'] = "KVa"; 
     
    439439    $arrConvList['product_code'] = "KVna"; 
    440440    $arrConvList['comment1'] = "a"; 
    441     //¥Û¥Í¥±¡¼¥­:Á÷ÎÁ¤Î»ØÄê¤Ê¤· 
     441    //ホネケーキ:送料の指定なし 
    442442    $arrConvList['deliv_fee'] = "n"; 
    443443     
    444     // ¾ÜºÙ-¥µ¥Ö 
     444    // 詳細-サブ 
    445445    for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) { 
    446446        $arrConvList["sub_title$cnt"] = "KVa"; 
     
    450450    } 
    451451     
    452     // ¤ª¤¹¤¹¤á¾¦ÉÊ 
     452    // おすすめ商品 
    453453    for ($cnt = 1; $cnt <= RECOMMEND_PRODUCT_MAX; $cnt++) { 
    454454        $arrConvList["recommend_comment$cnt"] = "KVa"; 
    455455    } 
    456456 
    457     // ʸ»úÊÑ´¹ 
     457    // 文字変換 
    458458    foreach ($arrConvList as $key => $val) { 
    459         // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£ 
     459        // POSTされてきた値のみ変換する。 
    460460        if(isset($array[$key])) { 
    461461            $array[$key] = mb_convert_kana($array[$key] ,$val); 
     
    469469} 
    470470 
    471 // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     471// 入力エラーチェック 
    472472function lfErrorCheck($array) { 
    473473    global $objPage; 
     
    475475     
    476476    $objErr = new SC_CheckError($array); 
    477     $objErr->doFunc(array("¾¦ÉÊ̾", "name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    478     $objErr->doFunc(array("¾¦ÉÊ¥«¥Æ¥´¥ê", "category_id", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    479     $objErr->doFunc(array("°ìÍ÷-¥á¥¤¥ó¥³¥á¥ó¥È", "main_list_comment", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    480     $objErr->doFunc(array("¾ÜºÙ-¥á¥¤¥ó¥³¥á¥ó¥È", "main_comment", LLTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    481     $objErr->doFunc(array("¾ÜºÙ-¥á¥¤¥ó¥³¥á¥ó¥È", "main_comment", $arrAllowedTag), array("HTML_TAG_CHECK")); 
    482     $objErr->doFunc(array("¥Ý¥¤¥ó¥ÈÉÕͿΨ", "point_rate", PERCENTAGE_LEN), array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    483     $objErr->doFunc(array("¾¦ÉÊÁ÷ÎÁ", "deliv_fee", PRICE_LEN), array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    484     $objErr->doFunc(array("¸¡º÷¥ï¡¼¥É", "comment3", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    485     $objErr->doFunc(array("¥á¡¼¥«¡¼URL", "comment1", URL_LEN), array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK")); 
    486     $objErr->doFunc(array("ȯÁ÷ÆüÌÜ°Â", "deliv_date_id", INT_LEN), array("NUM_CHECK")); 
     477    $objErr->doFunc(array("商品名", "name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     478    $objErr->doFunc(array("商品カテゴリ", "category_id", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     479    $objErr->doFunc(array("一覧-メインコメント", "main_list_comment", MTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     480    $objErr->doFunc(array("詳細-メインコメント", "main_comment", LLTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     481    $objErr->doFunc(array("詳細-メインコメント", "main_comment", $arrAllowedTag), array("HTML_TAG_CHECK")); 
     482    $objErr->doFunc(array("ポイント付与率", "point_rate", PERCENTAGE_LEN), array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     483    $objErr->doFunc(array("商品送料", "deliv_fee", PRICE_LEN), array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     484    $objErr->doFunc(array("検索ワード", "comment3", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     485    $objErr->doFunc(array("メーカーURL", "comment1", URL_LEN), array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK")); 
     486    $objErr->doFunc(array("発送日目安", "deliv_date_id", INT_LEN), array("NUM_CHECK")); 
    487487     
    488488    if($objPage->tpl_nonclass) { 
    489         $objErr->doFunc(array("¾¦ÉÊ¥³¡¼¥É", "product_code", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK","MAX_LENGTH_CHECK")); 
    490         $objErr->doFunc(array("Ä̾ï²Á³Ê", "price01", PRICE_LEN), array("ZERO_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
    491         $objErr->doFunc(array("¾¦ÉʲÁ³Ê", "price02", PRICE_LEN), array("EXIST_CHECK", "NUM_CHECK", "ZERO_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     489        $objErr->doFunc(array("商品コード", "product_code", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK","MAX_LENGTH_CHECK")); 
     490        $objErr->doFunc(array("通常価格", "price01", PRICE_LEN), array("ZERO_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     491        $objErr->doFunc(array("商品価格", "price02", PRICE_LEN), array("EXIST_CHECK", "NUM_CHECK", "ZERO_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    492492             
    493493        if($array['stock_unlimited'] != "1") { 
    494             $objErr->doFunc(array("ºß¸Ë¿ô", "stock", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     494            $objErr->doFunc(array("在庫数", "stock", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
    495495        } 
    496496    } 
    497497     
    498498    if($array['sale_unlimited'] != "1") {    
    499         $objErr->doFunc(array("¹ØÆþÀ©¸Â", "sale_limit", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
     499        $objErr->doFunc(array("購入制限", "sale_limit", AMOUNT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK")); 
    500500    } 
    501501     
    502502    if(isset($objErr->arrErr['category_id'])) { 
    503         // ¼«Æ°ÁªÂò¤òËɤ°¤¿¤á¤Ë¥À¥ß¡¼Ê¸»ú¤òÆþ¤ì¤Æ¤ª¤¯ 
     503        // 自動選択を防ぐためにダミー文字を入れておく 
    504504        $objPage->arrForm['category_id'] = "#"; 
    505505    } 
    506506     
    507507    for ($cnt = 1; $cnt <= PRODUCTSUB_MAX; $cnt++) { 
    508         $objErr->doFunc(array("¾ÜºÙ-¥µ¥Ö¥¿¥¤¥È¥ë$cnt", "sub_title$cnt", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    509         $objErr->doFunc(array("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È$cnt", "sub_comment$cnt", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    510         $objErr->doFunc(array("¾ÜºÙ-¥µ¥Ö¥³¥á¥ó¥È$cnt", "sub_comment$cnt", $arrAllowedTag),  array("HTML_TAG_CHECK"));    
     508        $objErr->doFunc(array("詳細-サブタイトル$cnt", "sub_title$cnt", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     509        $objErr->doFunc(array("詳細-サブコメント$cnt", "sub_comment$cnt", LLTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     510        $objErr->doFunc(array("詳細-サブコメント$cnt", "sub_comment$cnt", $arrAllowedTag),  array("HTML_TAG_CHECK"));    
    511511    } 
    512512     
    513513    for ($cnt = 1; $cnt <= RECOMMEND_PRODUCT_MAX; $cnt++) { 
    514514        if($_POST["recommend_id$cnt"] != "" && $_POST["recommend_delete$cnt"] != 1) { 
    515             $objErr->doFunc(array("¤ª¤¹¤¹¤á¾¦ÉÊ¥³¥á¥ó¥È$cnt", "recommend_comment$cnt", LTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     515            $objErr->doFunc(array("おすすめ商品コメント$cnt", "recommend_comment$cnt", LTEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    516516        } 
    517517    } 
     
    520520} 
    521521 
    522 /* ³Îǧ¥Ú¡¼¥¸É½¼¨ÍÑ */ 
     522/* 確認ページ表示用 */ 
    523523function lfProductConfirmPage() { 
    524524    global $objPage; 
     
    526526    $objPage->tpl_mainpage = 'products/confirm.tpl'; 
    527527    $objPage->arrForm['mode'] = 'complete'; 
    528     // ¥«¥Æ¥´¥ê¤ÎÆɹþ 
     528    // カテゴリの読込 
    529529    $objPage->arrCatList = sfGetCategoryList(); 
    530     // FormÍÑÇÛÎó¤òÅϤ¹¡£ 
     530    // Form用配列を渡す。 
    531531    $objPage->arrFile = $objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL); 
    532532} 
    533533 
    534 /* µ¬³Ê¤¢¤êȽÄêÍÑ(µ¬³Ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç:TRUE) */ 
     534/* 規格あり判定用(規格が登録されていない場合:TRUE) */ 
    535535function lfCheckNonClass($product_id) { 
    536536    if(sfIsInt($product_id)) { 
     
    545545} 
    546546 
    547 // ½Ì¾®¤·¤¿²èÁü¤ò¥»¥Ã¥È¤¹¤ë 
     547// 縮小した画像をセットする 
    548548function lfSetScaleImage(){ 
    549549     
     
    551551    switch ($_POST['image_key']){ 
    552552        case "main_large_image": 
    553             // ¾ÜºÙ¥á¥¤¥ó²èÁü 
     553            // 詳細メイン画像 
    554554            lfMakeScaleImage($_POST['image_key'], "main_image"); 
    555555        case "main_image": 
    556             // °ìÍ÷¥á¥¤¥ó²èÁü 
     556            // 一覧メイン画像 
    557557            lfMakeScaleImage($_POST['image_key'], "main_list_image"); 
    558558            break; 
    559559        case "sub_large_image" . $subno: 
    560             // ¥µ¥Ö¥á¥¤¥ó²èÁü 
     560            // サブメイン画像 
    561561            lfMakeScaleImage($_POST['image_key'], "sub_image" . $subno); 
    562562            break; 
     
    566566} 
    567567 
    568 // ½Ì¾®²èÁüÀ¸À® 
     568// 縮小画像生成 
    569569function lfMakeScaleImage($from_key, $to_key, $forced = false){ 
    570570    global $objUpFile; 
     
    580580     
    581581    if(file_exists($from_path)){ 
    582         // ¸µ²èÁü¥µ¥¤¥º¤ò¼èÆÀ 
     582        // 元画像サイズを取得 
    583583        list($from_w, $from_h) = getimagesize($from_path); 
    584584         
    585         // À¸À®Àè¤Î²èÁü¥µ¥¤¥º¤ò¼èÆÀ 
     585        // 生成先の画像サイズを取得 
    586586        $to_w = $objUpFile->width[$arrImageKey[$to_key]]; 
    587587        $to_h = $objUpFile->height[$arrImageKey[$to_key]]; 
Note: See TracChangeset for help on using the changeset viewer.