Ignore:
Timestamp:
2011/02/07 11:54:44 (13 years ago)
Author:
kimoto
Message:

リファクタリング #979

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php

    r20096 r20106  
    3535 
    3636    // {{{ properties 
    37  
    38     /** フォームパラメータの配列 */ 
    39     var $objFormParam; 
    40  
    4137 
    4238    // }}} 
     
    6157 
    6258        $this->httpCacheControl('nocache'); 
    63  
    64         // パラメータ管理クラス,パラメータ情報の初期化 
    65         $this->objFormParam = new SC_FormParam(); 
    66         $this->lfInitParam(); 
    6759    } 
    6860 
     
    7870 
    7971    /* パラメータ情報の初期化 */ 
    80     function lfInitParam() { 
    81  
    82         $this->objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
    83         $this->objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
    84         $this->objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
    85         $this->objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
    86         $this->objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK")); 
    87         $this->objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
    88         $this->objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
    89         $this->objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
    90         $this->objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
    91         $this->objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK")); 
    92         $this->objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
    93         $this->objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
    94         $this->objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
    95         $this->objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
    96         $this->objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
    97         $this->objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
    98         $this->objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK")); 
    99         $this->objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
    100         $this->objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
    101         $this->objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
    102         $this->objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     72    function lfInitParam(&$objFormParam) { 
     73 
     74        $objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     75        $objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
     76        $objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
     77        $objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 
     78        $objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK")); 
     79        $objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     80        $objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 
     81        $objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
     82        $objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 
     83        $objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK")); 
     84        $objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     85        $objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 
     86        $objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     87        $objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     88        $objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 
     89        $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
     90        $objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK")); 
     91        $objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     92        $objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     93        $objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 
     94        $objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 
    10395 
    10496        if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){ 
    105             $this->objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
    106             $this->objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
    107             $this->objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
    108             $this->objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false); 
    109             $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
    110             $this->objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 
     97            $objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     98            $objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     99            $objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 
     100            $objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false); 
     101            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 
     102            $objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 
    111103        } else { 
    112             $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK")); 
     104            $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK")); 
    113105        } 
    114106    } 
     
    119111     */ 
    120112    function action() { 
     113        $objFormParam = new SC_FormParam(); 
     114 
     115        $this->lfInitParam($objFormParam); 
     116        $objFormParam->setParam($_POST); 
     117        $this->arrForm  = $objFormParam->getHashArray(); 
     118 
    121119        // PC時は規約ページからの遷移でなければエラー画面へ遷移する 
    122         if ($this->lfCheckReferer($_POST, $_SERVER['HTTP_REFERER']) === false) { 
     120        if ($this->lfCheckReferer($this->arrForm, $_SERVER['HTTP_REFERER']) === false) { 
    123121            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 
    124122        } 
    125123 
    126124        // mobile用(戻るボタンでの遷移かどうかを判定) 
    127         if (!empty($_POST["return"])) { 
     125        if (!empty($this->arrForm["return"])) { 
    128126            $_POST["mode"] = "return"; 
    129127        } 
     
    135133        } 
    136134 
    137         $this->objFormParam->setParam($_POST);    // POST値の取得 
    138         $this->objFormParam->convParam(); 
    139         $this->objFormParam->toLower('email'); 
    140         $this->objFormParam->toLower('email02'); 
    141         $this->arrForm  = $this->objFormParam->getHashArray(); 
    142  
    143135        switch ($this->getMode()) { 
    144136        case 'confirm': 
    145137            //-- 確認 
    146             $this->arrErr = $this->lfErrorCheck($this->arrForm); 
     138            $this->arrErr = $this->lfErrorCheck($objFormParam); 
    147139            // 入力エラーなし 
    148140            if(empty($this->arrErr)) { 
     
    156148        case 'complete': 
    157149            //-- 会員登録と完了画面 
    158             $this->arrErr = $this->lfErrorCheck($this->arrForm); 
     150            $this->arrErr = $this->lfErrorCheck($objFormParam); 
    159151            if(empty($this->arrErr)) { 
    160                 $uniqid             = $this->lfRegistData($this->arrForm, $this->objFormParam->getDbArray()); 
     152 
     153                $uniqid             = $this->lfRegistCustomerData($this->lfMakeSqlVal($objFormParam)); 
    161154 
    162155                $this->tpl_mainpage = 'entry/complete.tpl'; 
     
    194187    // {{{ protected functions 
    195188    /** 
    196      * lfRegistData 
    197      * 
    198189     * 会員情報の登録 
    199190     * 
    200      * @access public 
    201      * @return void 
    202      */ 
    203     function lfRegistData($arrForm, $arrResults) { 
     191     * @access private 
     192     * @return uniqid 
     193     */ 
     194    function lfRegistCustomerData($sqlval) { 
    204195        $objQuery   = SC_Query::getSingletonInstance(); 
    205196        //-- 登録実行 
    206         $sqlval     = $this->lfMakeSqlVal($arrForm, $arrResults); 
    207197        $objQuery->begin(); 
    208198        SC_Helper_Customer_Ex::sfEditCustomerData($sqlval); 
     
    220210     * mobile_phone_id に携帯端末IDを格納する. 
    221211     * 
    222      * @access protected 
    223      * @param array $arrForm フォームパラメータの配列 
    224      * @param array $arrResults 結果用の配列. SC_FormParam::getDbArray() の結果 
    225      * @return array SQLパラメータの配列 
    226      * @see SC_FormParam::getDbArray() 
    227      */ 
    228     function lfMakeSqlVal($arrForm, $arrResults) { 
     212     * @param mixed $objFormParam 
     213     * @access private 
     214     * @return $arrResults 
     215     */ 
     216    function lfMakeSqlVal(&$objFormParam) { 
     217        $arrForm                = $objFormParam->getHashArray(); 
     218        $arrResults             = $objFormParam->getDbArray(); 
     219 
    229220        // 生年月日の作成 
    230         $arrResults['birth']  = SC_Utils_Ex::sfGetTimestamp($arrForm['year'], $arrForm['month'], $arrForm['day']); 
     221        $arrResults['birth']    = SC_Utils_Ex::sfGetTimestamp($arrForm['year'], $arrForm['month'], $arrForm['day']); 
    231222 
    232223        // 仮会員 1 本会員 2 
    233         $arrResults["status"] = (CUSTOMER_CONFIRM_MAIL == true) ? "1" : "2"; 
     224        $arrResults["status"]   = (CUSTOMER_CONFIRM_MAIL == true) ? "1" : "2"; 
    234225 
    235226        /* 
     
    256247     * 会員登録完了メール送信する 
    257248     * 
    258      * @access public 
     249     * @access private 
    259250     * @return void 
    260251     */ 
     
    304295     * 入力エラーチェック 
    305296     * 
    306      * @param mixed $array 
    307      * @access public 
    308      * @return void 
    309      */ 
    310     function lfErrorCheck($arrForm) { 
     297     * @param mixed $objFormParam 
     298     * @access private 
     299     * @return array エラー情報の配列 
     300     */ 
     301    function lfErrorCheck(&$objFormParam) { 
     302        $objFormParam->convParam(); 
     303        $objFormParam->toLower('email'); 
     304        $objFormParam->toLower('email02'); 
    311305 
    312306        // 入力データを渡す。 
    313         $objErr = new SC_CheckError($arrForm); 
    314         $objErr->arrErr = $this->objFormParam->checkError(); 
     307        $objErr = new SC_CheckError(); 
     308        $objErr->arrErr = $objFormParam->checkError(); 
    315309 
    316310        $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK")); 
Note: See TracChangeset for help on using the changeset viewer.