Ignore:
Timestamp:
2007/10/11 15:15:10 (19 years ago)
Author:
nanasess
Message:

PC版会員とモバイル版会員のメールアドレス管理改善(#171)

  • data/Smarty/templates/default/mobile/mypage/change.tpl
    data/Smarty/templates/default/mobile/mypage/change_confirm.tpl
    • 携帯メールアドレス追加
  • data/Smarty/templates/default/mobile/entry/email_mobile.tpl
    • 「今は登録しない」リンク追加
  • data/class/helper/SC_Helper_DB.php
    • モバイル版で dtb_customer 更新時に email を email_mobile にコピーする処理を削除
  • data/class/pages/mypage/LC_Page_Mypage.php
    • ログイン時の処理を修正
  • data/class/pages/mypage/LC_Page_Mypage_Change.php
    • リファクタリング
    • email と email_mobile を管理できるように修正
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/mypage/LC_Page_Mypage.php

    r16358 r16375  
    155155                    $objCustomer->updateMobilePhoneId(); 
    156156 
    157                     // 携帯のメールアドレスをコピーする。 
    158                     $objCustomer->updateEmailMobile(); 
    159  
    160                     // XXX 動作しない時がある... 
    161                     // 携帯のメールアドレスが登録されていない場合 
    162                     if (!$objCustomer->hasValue('email_mobile')) { 
    163                         $this->sendRedirect($this->getLocation("../entry/email_mobile.php", array(session_name() => session_id()))); 
    164                         exit; 
     157                    /* 
     158                     * email がモバイルドメインでは無く, 
     159                     * 携帯メールアドレスが登録されていない場合 
     160                     */ 
     161                    $objMobile = new SC_Helper_Mobile_Ex(); 
     162                    if (!$objMobile->gfIsMobileMailAddress($objCustomer->getValue('email'))) { 
     163                        if (!$objCustomer->hasValue('email_mobile')) { 
     164                            $this->sendRedirect($this->getLocation("../entry/email_mobile.php"), true); 
     165                        } 
    165166                    } 
    166167                } else { 
    167168                    $objQuery = new SC_Query; 
    168                     $where = "email = ? AND status = 1 AND del_flg = 0"; 
    169                     $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email'])); 
     169                    $where = "(email = ? OR email_mobile = ?) AND status = 1 AND del_flg = 0"; 
     170                    $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email'], $arrForm['login_email'])); 
    170171 
    171172                    if($ret > 0) { 
     
    178179        } 
    179180 
    180         // ログインチェック 
    181         if(!$objCustomer->isLoginSuccess()) { 
     181        /* 
     182         * ログインチェック 
     183         * 携帯メールの登録を必須にする場合は isLoginSuccess(false) にする 
     184         */ 
     185        if(!$objCustomer->isLoginSuccess(true)) { 
    182186            $this->tpl_mainpage = 'mypage/login.tpl'; 
    183187            $objView->assignArray($objFormParam->getHashArray()); 
     
    208212    function lfErrorCheck() { 
    209213        $objErr = new SC_CheckError(); 
    210         $objErr->doFunc(array("メールアドレス", "login_email", STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","EMAIL_CHECK","MAX_LENGTH_CHECK")); 
     214        $objErr->doFunc(array("メールアドレス", "login_email", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","EMAIL_CHECK","MAX_LENGTH_CHECK")); 
    211215        $objErr->dofunc(array("パスワード", "login_password", PASSWORD_LEN2), array("EXIST_CHECK","ALNUM_CHECK")); 
    212216        return $objErr->arrErr; 
     
    217221 
    218222        $objFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    219         $objFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    220         $objFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     223        $objFormParam->addParam("メールアドレス", "login_email", MTEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     224        $objFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "a", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    221225    } 
    222226 
Note: See TracChangeset for help on using the changeset viewer.