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/develop/upload_csv.php

    r12157 r15078  
    2323$objSess = new SC_Session(); 
    2424 
    25 // ǧ¾Ú²ÄÈݤÎȽÄê 
     25// 認証可否の判定 
    2626sfIsSuccess($objSess); 
    2727 
    2828if(ADMIN_MODE != 1) { 
    29     print("¤³¤Î¥Ú¡¼¥¸¤Ë¤Ï¡¢¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£"); 
     29    print("このページには、アクセスできません。"); 
    3030    exit; 
    3131} 
    3232 
    33 // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ 
     33// ファイル管理クラス 
    3434$objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR); 
    35 // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ 
     35// ファイル情報の初期化 
    3636lfInitFile(); 
    37 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
     37// パラメータ管理クラス 
    3838$objFormParam = new SC_FormParam(); 
    39 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 
     39// パラメータ情報の初期化 
    4040lfInitParam(); 
    4141$colmax = $objFormParam->getCount(); 
     
    4545case 'csv_upload': 
    4646    $err = false; 
    47     // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     47    // エラーチェック 
    4848    $objPage->arrErr['csv_file'] = $objUpFile->makeTempFile('csv_file'); 
    4949     
     
    5353     
    5454    if($objPage->arrErr['csv_file'] == "") { 
    55         // °ì»þ¥Õ¥¡¥¤¥ë̾¤Î¼èÆÀ 
     55        // 一時ファイル名の取得 
    5656        $filepath = $objUpFile->getTempFilePath('csv_file'); 
    57         // ¥¨¥ó¥³¡¼¥É 
     57        // エンコード 
    5858        $enc_filepath = sfEncodeFile($filepath, CHAR_CODE, CSV_TEMP_DIR); 
    5959        $fp = fopen($enc_filepath, "r"); 
    6060         
    61         $line = 0;      // ¹Ô¿ô 
    62         $regist = 0;    // ÅÐÏ¿¿ô 
     61        $line = 0;      // 行数 
     62        $regist = 0;    // 登録数 
    6363         
    6464        $objQuery = new SC_Query(); 
     
    6767        while(!feof($fp) && !$err) { 
    6868            $arrCSV = fgetcsv($fp, 10000); 
    69             // ¹Ô¥«¥¦¥ó¥È 
     69            // 行カウント 
    7070            $line++; 
    7171     
    72             // ¹àÌÜ¿ô¥«¥¦¥ó¥È 
     72            // 項目数カウント 
    7373            $max = count($arrCSV); 
    7474             
    75             // ¹àÌÜ¿ô¤¬1°Ê²¼¤Î¾ì¹ç¤Ï̵»ë¤¹¤ë 
     75            // 項目数が1以下の場合は無視する 
    7676            if($max <= 1) { 
    7777                continue;            
    7878            } 
    7979             
    80             // ¹àÌÜ¿ô¥Á¥§¥Ã¥¯ 
     80            // 項目数チェック 
    8181            if($max != $colmax) { 
    82                 $objPage->arrCSVErr['blank'] = "¢¨ ¹àÌÜ¿ô¤¬" . $max . "¸Ä¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£¹àÌÜ¿ô¤Ï" . $colmax . "¸Ä¤Ë¤Ê¤ê¤Þ¤¹¡£"; 
     82                $objPage->arrCSVErr['blank'] = "※ 項目数が" . $max . "個検出されました。項目数は" . $colmax . "個になります。"; 
    8383                 
    8484                ob_start(); 
     
    8989                $err = true; 
    9090            } else { 
    91                 // ¥·¡¼¥±¥ó¥¹ÇÛÎó¤ò³ÊǼ¤¹¤ë¡£ 
     91                // シーケンス配列を格納する。 
    9292                $objFormParam->setParam($arrCSV, true); 
    9393                $arrRet = $objFormParam->getHashArray(); 
    94                 // Ãͤò¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¤·¤Æ³ÊǼ¤¹¤ë¡£ 
     94                // 値をフォーマット変換して格納する。 
    9595                $arrRet = lfConvFormat($arrRet); 
    9696                $objFormParam->setParam($arrRet); 
    97                 // ÆþÎÏÃͤÎÊÑ´¹ 
     97                // 入力値の変換 
    9898                $objFormParam->convParam(); 
    99                 // <br>¤Ê¤·¤Ç¥¨¥é¡¼¼èÆÀ¤¹¤ë¡£ 
     99                // <br>なしでエラー取得する。 
    100100                $objPage->arrCSVErr = lfCheckError(); 
    101101            } 
    102102             
    103             // ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     103            // 入力エラーチェック 
    104104            if(count($objPage->arrCSVErr) > 0) { 
    105                 $objPage->tpl_errtitle = "¢£" . $line . "¹ÔÌܤǥ¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£"; 
     105                $objPage->tpl_errtitle = "■" . $line . "行目でエラーが発生しました。"; 
    106106                $objPage->arrParam = $objFormParam->getHashArray(); 
    107107                $err = true; 
     
    121121            gfPrintLog("commit csv:$regist"); 
    122122                         
    123             $objPage->tpl_oktitle = "¢£" . $regist . "·ï¤Î¥ì¥³¡¼¥É¤òÅÐÏ¿¤·¤Þ¤·¤¿¡£"; 
     123            $objPage->tpl_oktitle = "■" . $regist . "件のレコードを登録しました。"; 
    124124        } else { 
    125125            $objQuery->rollback(); 
     
    136136//-------------------------------------------------------------------------------------------------------------------------- 
    137137 
    138 /* ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ */ 
     138/* ファイル情報の初期化 */ 
    139139function lfInitFile() { 
    140140    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/* パラメータ情報の初期化 */ 
    145145function lfInitParam() { 
    146146    global $objFormParam; 
    147147     
    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")); 
    160160     
    161161    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/* 特殊項目の変換 */ 
    179179function lfConvFormat($array) { 
    180180    global $arrDISP; 
     
    192192} 
    193193 
    194 /* ¾¦Éʤο·µ¬Äɲà */ 
     194/* 商品の新規追加 */ 
    195195function lfInsertProduct($objQuery) { 
    196196    global $objFormParam; 
    197197    $arrRet = $objFormParam->getHashArray(); 
    198198     
    199     // µ¬³Ê¤ËÅÐÏ¿¤µ¤ì¤ëÃͤò½ü³°¤¹¤ë¡£ 
     199    // 規格に登録される値を除外する。 
    200200    foreach($arrRet as $key => $val) { 
    201201        switch($key) { 
     
    217217    } 
    218218 
    219     $sqlval['status'] = 1;  // ɽ¼¨¤ËÀßÄꤹ¤ë¡£ 
     219    $sqlval['status'] = 1;  // 表示に設定する。 
    220220    $sqlval['update_date'] = "Now()"; 
    221221    $sqlval['create_date'] = "Now()"; 
     
    223223    $sqlval['rank'] = $objQuery->max("dtb_products", "rank", "del_flg = 0 AND category_id = ?", array($sqlval['category_id'])) + 1; 
    224224     
    225     // µ¬³ÊÅÐÏ¿ 
     225    // 規格登録 
    226226    sfInsertProductClass($objQuery, $arrRet, $product_id); 
    227227     
    228228    gfPrintLog("insert productclass end"); 
    229229     
    230     // INSERT¤Î¼Â¹Ô 
     230    // INSERTの実行 
    231231    $objQuery->insert("dtb_products", $sqlval); 
    232232     
     
    238238} 
    239239 
    240 /* ÆþÎÏÆâÍƤΥÁ¥§¥Ã¥¯ */ 
     240/* 入力内容のチェック */ 
    241241function lfCheckError() { 
    242242    global $objFormParam; 
    243     // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 
     243    // 入力データを渡す。 
    244244    $arrRet =  $objFormParam->getHashArray(); 
    245245    $objErr = new SC_CheckError($arrRet); 
     
    253253        $level = $objQuery->get($table, $col, $where, array($arrRet['category_id'])); 
    254254        if($level != LEVEL_MAX) { 
    255             $objErr->arrErr['category_id'] = "¢¨ ¤³¤Î¥«¥Æ¥´¥êID¤Ë¤Ï¾¦ÉʤòÅÐÏ¿¤Ç¤­¤Þ¤»¤ó¡£"; 
     255            $objErr->arrErr['category_id'] = "※ このカテゴリIDには商品を登録できません。"; 
    256256        } 
    257257    } 
Note: See TracChangeset for help on using the changeset viewer.