Ignore:
Timestamp:
2007/09/28 21:34:04 (15 years ago)
Author:
nanasess
Message:

モバイル対応

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/shopping/LC_Page_Shopping.php

    r15610 r16168  
    165165        // フレームを選択(キャンペーンページから遷移なら変更) 
    166166        $objCampaignSess->pageView($objView); 
     167    } 
     168 
     169    /** 
     170     * モバイルページを初期化する. 
     171     * 
     172     * @return void 
     173     */ 
     174    function mobileInit() { 
     175        $this->init(); 
     176        $this->tpl_mainpage = MOBILE_TEMPLATE_DIR . 'shopping/index.tpl'; 
     177    } 
     178 
     179    /** 
     180     * Page のプロセス(モバイル). 
     181     * 
     182     * @return void 
     183     */ 
     184    function mobileProcess() { 
     185        $conn = new SC_DBConn(); 
     186        $objView = new SC_MobileView(); 
     187        $objSiteSess = new SC_SiteSession(); 
     188        $objCartSess = new SC_CartSession(); 
     189        $objCustomer = new SC_Customer(); 
     190        $objCookie = new SC_Cookie(); 
     191        $this->objFormParam = new SC_FormParam();           // フォーム用 
     192        $helperMobile = new SC_Helper_Mobile_Ex(); 
     193        $this->lfInitParam();                               // パラメータ情報の初期化 
     194        $this->objFormParam->setParam($_POST);          // POST値の取得 
     195 
     196        // ユーザユニークIDの取得と購入状態の正当性をチェック 
     197        $uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess); 
     198 
     199        $this->tpl_uniqid = $uniqid; 
     200 
     201        // ログインチェック 
     202        if($objCustomer->isLoginSuccess()) { 
     203            // すでにログインされている場合は、お届け先設定画面に転送 
     204            $this->sendRedirect($this->getLocation($helperMobile->gfAddSessionId('./deliv.php'))); 
     205            exit; 
     206        } 
     207 
     208        // 携帯端末IDが一致する会員が存在するかどうかをチェックする。 
     209        $this->tpl_valid_phone_id = $objCustomer->checkMobilePhoneId(); 
     210 
     211        switch($_POST['mode']) { 
     212        case 'nonmember_confirm': 
     213            $this->lfSetNonMember($this); 
     214            // ※breakなし 
     215        case 'confirm': 
     216            // 入力値の変換 
     217            $this->objFormParam->convParam(); 
     218            $this->objFormParam->toLower('order_mail'); 
     219            $this->objFormParam->toLower('order_mail_check'); 
     220 
     221            $this->arrErr = $this->lfCheckError(); 
     222 
     223            // 入力エラーなし 
     224            if(count($this->arrErr) == 0) { 
     225                // DBへのデータ登録 
     226                $this->lfRegistData($uniqid); 
     227                // 正常に登録されたことを記録しておく 
     228                $objSiteSess->setRegistFlag(); 
     229                // お支払い方法選択ページへ移動 
     230                $this->sendRedirect($this->getLocation($helperMobile->gfAddSessionId(MOBILE_URL_SHOP_PAYMENT))); 
     231                exit; 
     232            } 
     233 
     234            break; 
     235            // 前のページに戻る 
     236        case 'return': 
     237            // 確認ページへ移動 
     238            $this->sendRedirect($this->getLocation($helperMobile->gfAddSessionId(MOBILE_URL_CART_TOP))); 
     239            exit; 
     240            break; 
     241        case 'nonmember': 
     242            $this->lfSetNonMember($this); 
     243            // ※breakなし 
     244        default: 
     245            if($_GET['from'] == 'nonmember') { 
     246                $this->lfSetNonMember($this); 
     247            } 
     248            // ユーザユニークIDの取得 
     249            $uniqid = $objSiteSess->getUniqId(); 
     250            $objQuery = new SC_Query(); 
     251            $where = "order_temp_id = ?"; 
     252            $arrRet = $objQuery->select("*", "dtb_order_temp", $where, array($uniqid)); 
     253            // DB値の取得 
     254            $this->objFormParam->setParam($arrRet[0]); 
     255            $this->objFormParam->setValue('order_email_check', $arrRet[0]['order_email']); 
     256            $this->objFormParam->setDBDate($arrRet[0]['order_birth']); 
     257            break; 
     258        } 
     259 
     260        // クッキー判定 
     261        $this->tpl_login_email = $objCookie->getCookie('login_email'); 
     262        if($this->tpl_login_email != "") { 
     263            $this->tpl_login_memory = "1"; 
     264        } 
     265 
     266        // 選択用日付の取得 
     267        $objDate = new SC_Date(START_BIRTH_YEAR); 
     268        $this->arrYear = $objDate->getYear('', 1950);   // 日付プルダウン設定 
     269        $this->arrMonth = $objDate->getMonth(); 
     270        $this->arrDay = $objDate->getDay(); 
     271 
     272        if($this->year == '') { 
     273            $this->year = '----'; 
     274        } 
     275 
     276        // 入力値の取得 
     277        $this->arrForm = $this->objFormParam->getFormParamList(); 
     278 
     279        if($this->arrForm['year']['value'] == ""){ 
     280            $this->arrForm['year']['value'] = '----'; 
     281        } 
     282 
     283        $objView->assignobj($this); 
     284        $objView->display(SITE_FRAME); 
    167285    } 
    168286 
Note: See TracChangeset for help on using the changeset viewer.