Ignore:
Timestamp:
2010/08/06 14:52:59 (10 years ago)
Author:
eccuore
Message:

#792(ダウンロード販売機能) 機能追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php

    r18701 r18777  
    3939    var $objUpFile; 
    4040 
     41    /** ダウンロード用ファイル管理クラスのインスタンス */ 
     42    var $objDownFile; 
     43 
    4144    /** hidden 項目の配列 */ 
    4245    var $arrHidden; 
     
    7174        $this->arrAllowedTag = $masterData->getMasterData("mtb_allowed_tag"); 
    7275        $this->arrMaker = SC_Helper_DB_Ex::sfGetIDValueList("dtb_maker", "maker_id", "name"); 
     76        $this->arrDown = $masterData->getMasterData("mtb_down"); 
    7377        $this->tpl_nonclass = true; 
    7478    } 
     
    8993        SC_Utils_Ex::sfIsSuccess($objSess); 
    9094 
     95        // Downファイル管理クラス 
     96        $this->objDownFile = new SC_UploadFile(DOWN_TEMP_DIR, DOWN_SAVE_DIR); 
     97        // Downファイル情報の初期化 
     98        $this->lfInitDownFile(); 
     99        // Hiddenからのデータを引き継ぐ 
     100        $this->objDownFile->setHiddenFileList($_POST); 
     101 
    91102        // ファイル管理クラス 
    92103        $this->objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR); 
     
    124135                // DBデータから画像ファイル名の読込 
    125136                $this->objUpFile->setDBFileList($this->arrForm); 
     137                // DBデータからダウンロードファイル名の読込 
     138                $this->objDownFile->setDBDownFile($this->arrForm); 
    126139 
    127140                // 商品ステータスの変換 
     
    175188                // 一時ファイルを本番ディレクトリに移動する 
    176189                $this->objUpFile->moveTempFile(); 
     190                $this->objDownFile->moveTempDownFile(); 
    177191 
    178192                break; 
     
    192206            case 'delete_image': 
    193207                $this->objUpFile->deleteFile($_POST['image_key']); 
     208                $this->lfProductPage(); // 商品登録ページ 
     209                break; 
     210            // ダウンロード商品ファイルアップロード 
     211            case 'upload_down': 
     212                // ファイル存在チェック 
     213                $this->arrErr = array_merge((array)$this->arrErr, (array)$this->objDownFile->checkEXISTS($_POST['down_key'])); 
     214                // 画像保存処理 
     215                $this->arrErr[$_POST['down_key']] = $this->objDownFile->makeTempDownFile(); 
     216 
     217                $this->lfProductPage(); // 商品登録ページ 
     218                break; 
     219            // ダウンロードファイルの削除 
     220            case 'delete_down': 
     221                $this->objDownFile->deleteFile($_POST['down_key']); 
    194222                $this->lfProductPage(); // 商品登録ページ 
    195223                break; 
     
    232260            } 
    233261        } 
     262 
    234263        // サブ情報表示・非表示のチェックに使用する。 
    235264        $this->sub_find = $sub_find; 
     
    353382            $this->arrForm['status'] = DEFAULT_PRODUCT_DISP; 
    354383        } 
     384        if($this->arrForm['down'] == "") { 
     385            $this->arrForm['down'] = DEFAULT_PRODUCT_DOWN; 
     386        } 
    355387 
    356388        if(isset($this->arrForm['product_flag']) && !is_array($this->arrForm['product_flag'])) { 
     
    361393        // HIDDEN用に配列を渡す。 
    362394        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objUpFile->getHiddenFileList()); 
     395        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList()); 
    363396        // Form用配列を渡す。 
    364397        $this->arrFile = $this->objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL); 
    365398 
     399        $this->arrForm['down_realfilename'] = $this->objDownFile->getFormDownFile(); 
    366400 
    367401        // アンカーを設定 
     
    401435                            "deliv_fee", "comment1", "comment2", "comment3", 
    402436                            "comment4", "comment5", "comment6", "main_list_comment", 
    403                             "sale_limit", "deliv_date_id", "maker_id", "note"); 
     437                            "sale_limit", "deliv_date_id", "maker_id", "note", "down", "down_filename", "down_realfilename"); 
    404438        $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray); 
    405439 
     
    423457        $sqlval['maker_id'] = $arrList['maker_id']; 
    424458        $sqlval['note'] = $arrList['note']; 
     459        $sqlval['down'] = $arrList['down']; 
     460        $sqlval['down_filename'] = $arrList['down_filename']; 
     461        $sqlval['down_realfilename'] = $arrList['down_realfilename']; 
    425462        $sqlval['update_date'] = "Now()"; 
    426463        $sqlval['creator_id'] = $_SESSION['member_id']; 
     
    490527            $arrRet = $this->lfGetProduct($arrList['product_id']); 
    491528            $this->objUpFile->deleteDBFile($arrRet); 
     529            $this->objDownFile->deleteDBDownFile($arrRet); 
    492530 
    493531            // UPDATEの実行 
     
    580618        $objErr->doFunc(array("メーカー", 'maker_id', INT_LEN), array("NUM_CHECK")); 
    581619 
     620        //ダウンロード商品チェック 
     621        if($array['down'] == "2") { 
     622            $objErr->doFunc(array("ダウンロードファイル名", "down_filename", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     623            if($array['down_realfilename'] == "") { 
     624                $objErr->arrErr['down_realfilename'] = "※ ダウンロード商品の場合はダウンロード商品用ファイルをアップロードしてください。<br />"; 
     625            } 
     626        } 
     627        //実商品チェック 
     628        if($array['down'] == "1") { 
     629            if($array['down_filename'] != "") { 
     630                $objErr->arrErr['down_filename'] = "※ 実商品の場合はダウンロードファイル名を設定できません。<br />"; 
     631            } 
     632            if($array['down_realfilename'] != "") { 
     633                $objErr->arrErr['down_realfilename'] = "※ 実商品の場合はダウンロード商品用ファイルをアップロードできません。<br />ファイルを取り消してください。<br />"; 
     634            } 
     635        } 
     636 
    582637        if($this->tpl_nonclass) { 
    583638            $objErr->doFunc(array("商品コード", "product_code", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     
    649704        // Form用配列を渡す。 
    650705        $this->arrFile = $this->objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL); 
     706        $this->arrForm['down_realfilename'] = $this->objDownFile->getFormDownFile(); 
    651707    } 
    652708 
     
    815871        $objQuery->insert('dtb_products_class', $sqlval); 
    816872    } 
     873    /* ダウンロードファイル情報の初期化 */ 
     874    function lfInitDownFile() { 
     875        $this->objDownFile->addFile("ダウンロード販売用ファイル", 'down_file', array('zip', 'jpg', 'mp3', 'gif', 'png'),DOWN_SIZE, true, 0, 0); 
     876    } 
    817877} 
    818878?> 
Note: See TracChangeset for help on using the changeset viewer.