Ignore:
Timestamp:
2011/02/11 18:57:52 (15 years ago)
Author:
kimoto
Message:

LC_Page_Mypage_Change リファクタリング #981

  • LC_Page_Entryと処理を共通化
  • SC_Helper_Customerを拡張したので顧客管理画面でも使ってください
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php

    r20116 r20147  
    9090    function sfEditCustomerData($array, $customer_id = null) { 
    9191        $objQuery =& SC_Query::getSingletonInstance(); 
     92        $objQuery->begin(); 
    9293 
    9394        $array["update_date"] = "now()";    // 更新日 
     
    133134            $objQuery->insert("dtb_customer", $array); 
    134135        } 
     136 
     137        $objQuery->commit(); 
    135138        return $customer_id; 
    136139    } 
     
    214217 
    215218    /** 
     219     * customer_idから顧客情報を取得する 
     220     * 
     221     * @param mixed $customer_id 
     222     * @param mixed $mask_flg 
     223     * @access public 
     224     * @return array 顧客情報の配列を返す 
     225     */ 
     226    function sfGetCustomerData($customer_id, $mask_flg = true) { 
     227        $objQuery       =& SC_Query::getSingletonInstance(); 
     228 
     229        // 顧客情報DB取得 
     230        $ret        = $objQuery->select("*","dtb_customer","customer_id=?", array($customer_id)); 
     231        $arrForm    = $ret[0]; 
     232 
     233        // 確認項目に複製 
     234        $arrForm['email02'] = $arrForm['email']; 
     235        $arrForm['email_mobile02'] = $arrForm['email_mobile']; 
     236 
     237        // 誕生日を年月日に分ける 
     238        if (isset($arrForm['birth'])){ 
     239            $birth = split(" ", $arrForm["birth"]); 
     240            list($arrForm['year'], $arrForm['month'], $arrForm['day']) = split("-",$birth[0]); 
     241        } 
     242 
     243        if ($mask_flg) { 
     244            $arrForm['password']          = DEFAULT_PASSWORD; 
     245            $arrForm['password02']        = DEFAULT_PASSWORD; 
     246            $arrForm['reminder_answer']   = DEFAULT_PASSWORD; 
     247        } 
     248        return $arrForm; 
     249    } 
     250 
     251    /** 
    216252     * sfGetUniqSecretKey 
    217253     * 
     
    251287    } 
    252288 
     289 
     290    function sfCustomerEntryParam (&$objFormParam) { 
     291        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam); 
     292    } 
     293 
     294    function sfCustomerMypageParam (&$objFormParam) { 
     295        SC_Helper_Customer_Ex::sfCustomerCommonParam($objFormParam); 
     296        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){ 
     297            $objFormParam->addParam('携帯メールアドレス', "email_mobile", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
     298            $objFormParam->addParam('携帯メールアドレス(確認)', "email_mobile02", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 
     299        } 
     300    } 
     301 
     302    function sfCustomerCommonParam (&$objFormParam) { 
     303 
     304        $objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     305        $objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
     306        $objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
     307        $objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
     308        $objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK")); 
     309        $objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     310        $objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
     311        $objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
     312        $objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
     313        $objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK")); 
     314        $objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     315        $objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     316        $objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     317        $objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     318        $objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     319        $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     320        $objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK")); 
     321        $objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     322        $objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     323        $objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     324        $objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     325 
     326        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){ 
     327            $objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     328            $objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     329            $objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     330            $objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false); 
     331            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
     332            $objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 
     333        } else { 
     334            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK")); 
     335        } 
     336    } 
     337 
     338    function sfCustomerEntryErrorCheck(&$objFormParam) { 
     339        $objErr->arrErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck(&$objFormParam); 
     340        return $objErr->arrErr; 
     341    } 
     342 
     343    function sfCustomerMypageErrorCheck(&$objFormParam) { 
     344 
     345        $objFormParam->toLower('email_mobile'); 
     346        $objFormParam->toLower('email_mobile02'); 
     347 
     348        $objErr->arrErr = SC_Helper_Customer_Ex::sfCustomerCommonErrorCheck($objFormParam); 
     349 
     350        if (isset($objErr->arrErr['password']) && $objFormParam->getValue('password') == DEFAULT_PASSWORD) { 
     351            unset($objErr->arrErr['password']); 
     352            unset($objErr->arrErr['password02']); 
     353        } 
     354        if (isset($objErr->arrErr['reminder_answer']) && $objFormParam->getValue('reminder_answer') == DEFAULT_PASSWORD) { 
     355            unset($objErr->arrErr['reminder_answer']); 
     356        } 
     357        return $objErr->arrErr; 
     358    } 
     359 
     360    /** 
     361     * 入力エラーチェック 
     362     * 
     363     * @param mixed $objFormParam 
     364     * @access private 
     365     * @return array エラー情報の配列 
     366     */ 
     367    function sfCustomerCommonErrorCheck(&$objFormParam) { 
     368        $objFormParam->convParam(); 
     369        $objFormParam->toLower('email'); 
     370        $objFormParam->toLower('email02'); 
     371        $arrParams = $objFormParam->getHashArray(); 
     372 
     373        // 入力データを渡す。 
     374        $objErr = new SC_CheckError($arrParams); 
     375        $objErr->arrErr = $objFormParam->checkError(); 
     376 
     377        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK")); 
     378        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 
     379        $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY")); 
     380 
     381        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){ 
     382            $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK")); 
     383            $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 
     384            $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK")); 
     385        } 
     386 
     387        // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 
     388        $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL")); 
     389 
     390        return $objErr->arrErr; 
     391    } 
     392 
     393 
     394 
    253395} 
Note: See TracChangeset for help on using the changeset viewer.