Ignore:
Timestamp:
2012/11/02 12:17:17 (11 years ago)
Author:
pineray
Message:

ログイン処理をまとめる

Location:
branches/version-2_12-dev/data/class
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Customer.php

    r21968 r22062  
    314314        $objQuery->update('dtb_customer',$arrOrderSummary,'customer_id = ?',array($customer_id)); 
    315315    } 
     316 
     317    /** 
     318     * ログインを実行する. 
     319     * 
     320     * ログインを実行し, 成功した場合はユーザー情報をセッションに格納し, 
     321     * true を返す. 
     322     * モバイル端末の場合は, 携帯端末IDを保存する. 
     323     * ログインに失敗した場合は, false を返す. 
     324     * 
     325     * @param string $login_email ログインメールアドレス 
     326     * @param string $login_pass ログインパスワード 
     327     * @return boolean ログインに成功した場合 true; 失敗した場合 false 
     328     */ 
     329    function doLogin($login_email, $login_pass) { 
     330        switch (SC_Display_Ex::detectDevice()) { 
     331            case DEVICE_TYPE_MOBILE: 
     332                if (!$this->is->getCustomerDataFromMobilePhoneIdPass($login_pass) && 
     333                    !$this->getCustomerDataFromEmailPass($login_pass, $login_email, true) 
     334                ) { 
     335                    return false; 
     336                } else { 
     337                    $this->updateMobilePhoneId(); 
     338                    return true; 
     339                } 
     340                break; 
     341 
     342            case DEVICE_TYPE_SMARTPHONE: 
     343            case DEVICE_TYPE_PC: 
     344            default: 
     345                if (!$this->getCustomerDataFromEmailPass($login_pass, $login_email)) { 
     346                    return false; 
     347                } else { 
     348                    return true; 
     349                } 
     350                break; 
     351        } 
     352    } 
    316353} 
  • branches/version-2_12-dev/data/class/pages/frontparts/LC_Page_FrontParts_LoginCheck.php

    r21982 r22062  
    114114                // 遷移先の制御 
    115115                if (count($arrErr) == 0) { 
    116                     // ログイン判定 
    117                     $loginFailFlag = false; 
    118                     if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) { 
    119                         // モバイルサイト 
    120                         if (!$objCustomer->getCustomerDataFromMobilePhoneIdPass($arrForm['login_pass']) && 
    121                             !$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'], true) 
    122                         ) { 
    123                             $loginFailFlag = true; 
    124                         } 
    125                     } else { 
    126                         // モバイルサイト以外 
    127                         if (!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 
    128                             $loginFailFlag = true; 
    129                         } 
    130                     } 
    131  
    132116                    // ログイン処理 
    133                     if ($loginFailFlag == false) { 
     117                    if ($objCustomer->doLogin($arrForm['login_email'], $arrForm['login_pass'])) { 
    134118                        if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) { 
    135119                            // ログインが成功した場合は携帯端末IDを保存する。 
  • branches/version-2_12-dev/data/class/pages/shopping/LC_Page_Shopping.php

    r21993 r22062  
    123123                // ログイン判定 
    124124                if (SC_Utils_Ex::isBlank($this->arrErr) 
    125                     && $this->doLogin($objCustomer, 
    126                                       $objFormParam->getValue('login_email'), 
    127                                       $objFormParam->getValue('login_pass'))) { 
     125                    && $objCustomer->doLogin($objFormParam->getValue('login_email'), 
     126                                             $objFormParam->getValue('login_pass'))) { 
    128127 
    129128                    // モバイルサイトで携帯アドレスの登録が無い場合、携帯アドレス登録ページへ遷移 
     
    489488 
    490489    /** 
    491      * ログインを実行する. 
    492      * 
    493      * ログインを実行し, 成功した場合はユーザー情報をセッションに格納し, 
    494      * true を返す. 
    495      * モバイル端末の場合は, 携帯端末IDを保存する. 
    496      * ログインに失敗した場合は, false を返す. 
    497      * 
    498      * @param SC_Customer $objCustomer SC_Customer インスタンス 
    499      * @param string $login_email ログインメールアドレス 
    500      * @param string $login_pass ログインパスワード 
    501      * @return boolean ログインに成功した場合 true; 失敗した場合 false 
    502      */ 
    503     function doLogin(&$objCustomer, $login_email, $login_pass) { 
    504         switch (SC_Display_Ex::detectDevice()) { 
    505             case DEVICE_TYPE_MOBILE: 
    506                 if (!$objCustomer->getCustomerDataFromMobilePhoneIdPass($login_pass) && 
    507                     !$objCustomer->getCustomerDataFromEmailPass($login_pass, $login_email, true) 
    508                 ) { 
    509                     return false; 
    510                 } else { 
    511                     $objCustomer->updateMobilePhoneId(); 
    512                     return true; 
    513                 } 
    514                 break; 
    515  
    516             case DEVICE_TYPE_SMARTPHONE: 
    517             case DEVICE_TYPE_PC: 
    518             default: 
    519                 if (!$objCustomer->getCustomerDataFromEmailPass($login_pass, $login_email)) { 
    520                     return false; 
    521                 } else { 
    522                     return true; 
    523                 } 
    524                 break; 
    525         } 
    526     } 
    527  
    528     /** 
    529490     * ログインした会員の携帯メールアドレス登録があるかどうか 
    530491     * 
Note: See TracChangeset for help on using the changeset viewer.