Changeset 18851


Ignore:
Timestamp:
2010/10/12 11:55:47 (10 years ago)
Author:
eccuore
Message:

#792(ダウンロード販売機能) 大容量ファイル対策、Safari対応、オンライン決済時のお届け先非表示

Location:
branches/version-2_5-dev
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/default/shopping/confirm.tpl

    r18833 r18851  
    161161            <!--{* ログイン済みの会員のみ *}--> 
    162162 
     163            <!--お届け先ここから--> 
     164            <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け先を表示しない) *}--> 
     165            <!--{if $cartdown != "2"}--> 
    163166            <table summary="お届け先確認" class="delivname"> 
    164167                <thead> 
     
    214217                </tbody> 
    215218            </table> 
     219            <!--{/if}--> 
    216220            <!--お届け先ここまで--> 
    217221 
     
    227231                    <td><!--{$arrData.payment_method|escape}--></td> 
    228232                </tr> 
     233                <!--{* 販売方法判定(ダウンロード販売のみの場合はお届け日、時間を表示しない) *}--> 
     234                <!--{if $cartdown != "2"}--> 
    229235                <tr> 
    230236                    <th>お届け日</th> 
     
    235241                    <td><!--{$arrData.deliv_time|escape|default:"指定なし"}--></td> 
    236242                </tr> 
     243                <!--{/if}--> 
    237244                <tr> 
    238245                    <th>その他お問い合わせ</th> 
     
    245252                <!--{'sfTSPrintOrderBox'|call_user_func}--> 
    246253            <!--{/if}--> 
    247              
     254 
    248255            <div class="tblareabtn"> 
    249256                <a href="./payment.php" onmouseover="chgImgImageSubmit('<!--{$TPL_DIR}-->img/common/b_back_on.gif',back03)" onmouseout="chgImgImageSubmit('<!--{$TPL_DIR}-->img/common/b_back.gif',back03)"><img src="<!--{$TPL_DIR}-->img/common/b_back.gif" width="150" height="30" alt="戻る" border="0" name="back03" id="back03" /></a>&nbsp; 
  • branches/version-2_5-dev/data/class/SC_CartSession.php

    r18833 r18851  
    317317        return $arrRet; 
    318318    } 
    319     // カート内にある商品ID+カテゴリIDを全て取得する 
    320     function getAllProductClassID($key) { 
    321         $this->addKey($key); 
    322         $max = $this->getMax($key); 
    323         for($i = 0; $i <= $max; $i++) { 
    324             if($_SESSION[$key][$i]['cart_no'] != "") { 
    325                 $arrRet[] = $_SESSION[$key][$i]['id']; 
    326             } 
    327         } 
    328         return $arrRet; 
    329     } 
    330319 
    331320    function delAllProducts($key) { 
  • branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php

    r18833 r18851  
    19111911     * 
    19121912     * @param $objCartSess  SC_CartSession  カートセッション 
    1913      * @return  bool        0:ダウンロード販売無 1:ダウンロード販売無 2:全てダウンロード販売 
     1913     * @return  bool        0:実商品のみ 1:ダウンロード販売と実商品混在 2:全てダウンロード販売 
    19141914     */ 
    19151915    function chkCartDown($objCartSess) { 
     
    19181918        $nodown = false; 
    19191919        $ret = 0; 
    1920         $arrID = $objCartSess->getAllProductClassID(); 
    1921         $table =  <<< __EOS__ 
    1922             dtb_products_class pc LEFT JOIN dtb_class_combination cc1 ON pc.class_combination_id = cc1.class_combination_id 
    1923             LEFT JOIN dtb_class_combination cc2 ON cc1.parent_class_combination_id = cc2.class_combination_id 
    1924 __EOS__; 
    1925         $where =  <<< __EOS__ 
    1926             pc.product_id = ? AND 
    1927             ( cc2.classcategory_id = ? OR cc2.classcategory_id IS NULL ) AND 
    1928             ( cc1.classcategory_id = ? OR cc1.classcategory_id IS NULL ) 
    1929 __EOS__; 
     1920        $arrID = $objCartSess->getAllProductID(); 
     1921        $table = "dtb_products_class pc"; 
     1922        $where = "pc.product_class_id = ?"; 
    19301923        if(!is_null($arrID)){ 
    19311924            //カート内のIDから販売方法を取得 
    19321925            foreach ($arrID as $rec) { 
    1933                 $arrRet = $objQuery->select("pc.down AS down", $table, $where, array($rec[0],$rec[1],$rec[2])); 
     1926                $arrRet = $objQuery->select("pc.down AS down", $table, $where, array($rec)); 
    19341927                if ($arrRet[0]['down'] == "2"){ 
    19351928                    $down = true; 
  • branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_DownLoad.php

    r18824 r18851  
    2121 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. 
    2222 */ 
    23 ini_set("memory_limit","100M"); 
    2423// {{{ requires 
    2524require_once(CLASS_PATH . "pages/LC_Page.php"); 
     
    7675        //ログインしている場合 
    7776            //DBから商品情報の読込 
    78  
    7977            $arrForm = $this->lfGetRealFileName($customer_id, $order_id, $product_id, $product_class_id); 
    80  
    8178            //ステータスが支払済み以上である事 
    8279            if ($arrForm["status"] < ORDER_DELIV){ 
     
    9289                SC_Utils_Ex::sfDispSiteError(DOWNFILE_NOT_FOUND,"",true); 
    9390            } 
    94             //ファイル名をエンコードする 
    95             $sdown_filename = mb_convert_encoding($arrForm["down_filename"], "Shift_JIS", "auto"); 
     91            //ファイル名をエンコードする Safariの対策はUTF-8で様子を見る 
     92            $encoding = "Shift_JIS"; 
     93            if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'Safari')) { 
     94                $encoding = "UTF-8"; 
     95            } 
     96            $sdown_filename = mb_convert_encoding($arrForm["down_filename"], $encoding, "auto"); 
    9697            //タイプ指定 
    9798            header("Content-Type: Application/octet-stream"); 
     
    111112            ob_end_flush(); 
    112113            flush(); 
    113  
    114114            //ファイル読み込み 
    115             readfile($realpath); 
     115            $handle = fopen($realpath, "rb"); 
     116            while (!feof($handle)) { 
     117                echo(fread($handle, DOWNLOAD_BLOCK*1024)); 
     118                ob_flush(); 
     119                flush(); 
     120            } 
     121            fclose($handle); 
    116122        } 
    117123    } 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Complete.php

    r18829 r18851  
    476476 
    477477        // 合計金額が0円の場合、もしくはオンライン決済の場合は、注文ステータスをORDER_PRE_END[入金済み]にする 
    478         if ( ( $sqlval['total'] == 0 ) or ( in_array($sqlval['payment_id'], split(",", CREDIT_PAYMENT)) == true ) ){ 
     478        if ( ( $sqlval['total'] == 0 ) or ( in_array($sqlval['payment_id'], split(",", ONLINE_PAYMENT)) == true ) ){ 
    479479            $sqlval = $this->lfchgPreEndStatus($sqlval); 
    480480        } 
  • branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php

    r18782 r18851  
    370370        if($this->cartdown != 0){ 
    371371            //ダウンロード商品を含む場合は、オンライン決済以外は選択できない。 
    372             $arrval = explode(",", CREDIT_PAYMENT); 
     372            $arrval = explode(",", ONLINE_PAYMENT); 
    373373            $tmp_where = ""; 
    374374            foreach ($arrval as $val) { 
  • branches/version-2_5-dev/data/mtb_constants_init.php

    r18849 r18851  
    619619/** ダウンロード販売機能 ダウンロード可能日数桁数 */ 
    620620define('DOWNLOAD_DAYS_LEN', 3); 
     621/** ダウンロード販売機能 ダウンロードファイル読み込みバイト(KB) */ 
     622define('DOWNLOAD_BLOCK', 1024); 
    621623/** ダウンロードファイル登録可能拡張子(カンマ区切り) */ 
    622624define('DOWNLOAD_EXTENSION', "zip,lzh,jpg,jpeg,gif,png,mp3,pdf,csv"); 
    623625/** ダウンロード販売機能用オンライン決済payment_id(カンマ区切り) */ 
    624 define('CREDIT_PAYMENT', "1"); 
     626define('ONLINE_PAYMENT', "1"); 
    625627?> 
  • branches/version-2_5-dev/html/install/sql/insert_data.sql

    r18849 r18851  
    10741074INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWN_SAVE_DIR', 'DATA_PATH . "download/save/"', 705, 'ダウンロードファイル保存先'); 
    10751075INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNFILE_NOT_FOUND', '22', 706, 'ダウンロードファイル存在エラー'); 
    1076 INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('CREDIT_PAYMENT', '"1"', 707, 'ダウンロード販売機能用オンライン決済payment_id(カンマ区切り)'); 
     1076INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('ONLINE_PAYMENT', '"1"', 707, 'ダウンロード販売機能用オンライン決済payment_id(カンマ区切り)'); 
     1077INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNLOAD_BLOCK', '1024', 708, 'ダウンロード販売機能 ダウンロードファイル読み込みバイト(KB)'); 
Note: See TracChangeset for help on using the changeset viewer.