- Timestamp:
- 2011/02/07 11:54:44 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
r20096 r20106 35 35 36 36 // {{{ properties 37 38 /** フォームパラメータの配列 */39 var $objFormParam;40 41 37 42 38 // }}} … … 61 57 62 58 $this->httpCacheControl('nocache'); 63 64 // パラメータ管理クラス,パラメータ情報の初期化65 $this->objFormParam = new SC_FormParam();66 $this->lfInitParam();67 59 } 68 60 … … 78 70 79 71 /* パラメータ情報の初期化 */ 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")); 103 95 104 96 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); 111 103 } 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")); 113 105 } 114 106 } … … 119 111 */ 120 112 function action() { 113 $objFormParam = new SC_FormParam(); 114 115 $this->lfInitParam($objFormParam); 116 $objFormParam->setParam($_POST); 117 $this->arrForm = $objFormParam->getHashArray(); 118 121 119 // PC時は規約ページからの遷移でなければエラー画面へ遷移する 122 if ($this->lfCheckReferer($ _POST, $_SERVER['HTTP_REFERER']) === false) {120 if ($this->lfCheckReferer($this->arrForm, $_SERVER['HTTP_REFERER']) === false) { 123 121 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 124 122 } 125 123 126 124 // mobile用(戻るボタンでの遷移かどうかを判定) 127 if (!empty($ _POST["return"])) {125 if (!empty($this->arrForm["return"])) { 128 126 $_POST["mode"] = "return"; 129 127 } … … 135 133 } 136 134 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 143 135 switch ($this->getMode()) { 144 136 case 'confirm': 145 137 //-- 確認 146 $this->arrErr = $this->lfErrorCheck($ this->arrForm);138 $this->arrErr = $this->lfErrorCheck($objFormParam); 147 139 // 入力エラーなし 148 140 if(empty($this->arrErr)) { … … 156 148 case 'complete': 157 149 //-- 会員登録と完了画面 158 $this->arrErr = $this->lfErrorCheck($ this->arrForm);150 $this->arrErr = $this->lfErrorCheck($objFormParam); 159 151 if(empty($this->arrErr)) { 160 $uniqid = $this->lfRegistData($this->arrForm, $this->objFormParam->getDbArray()); 152 153 $uniqid = $this->lfRegistCustomerData($this->lfMakeSqlVal($objFormParam)); 161 154 162 155 $this->tpl_mainpage = 'entry/complete.tpl'; … … 194 187 // {{{ protected functions 195 188 /** 196 * lfRegistData197 *198 189 * 会員情報の登録 199 190 * 200 * @access p ublic201 * @return void202 */ 203 function lfRegist Data($arrForm, $arrResults) {191 * @access private 192 * @return uniqid 193 */ 194 function lfRegistCustomerData($sqlval) { 204 195 $objQuery = SC_Query::getSingletonInstance(); 205 196 //-- 登録実行 206 $sqlval = $this->lfMakeSqlVal($arrForm, $arrResults);207 197 $objQuery->begin(); 208 198 SC_Helper_Customer_Ex::sfEditCustomerData($sqlval); … … 220 210 * mobile_phone_id に携帯端末IDを格納する. 221 211 * 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 229 220 // 生年月日の作成 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']); 231 222 232 223 // 仮会員 1 本会員 2 233 $arrResults["status"] = (CUSTOMER_CONFIRM_MAIL == true) ? "1" : "2";224 $arrResults["status"] = (CUSTOMER_CONFIRM_MAIL == true) ? "1" : "2"; 234 225 235 226 /* … … 256 247 * 会員登録完了メール送信する 257 248 * 258 * @access p ublic249 * @access private 259 250 * @return void 260 251 */ … … 304 295 * 入力エラーチェック 305 296 * 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'); 311 305 312 306 // 入力データを渡す。 313 $objErr = new SC_CheckError( $arrForm);314 $objErr->arrErr = $ this->objFormParam->checkError();307 $objErr = new SC_CheckError(); 308 $objErr->arrErr = $objFormParam->checkError(); 315 309 316 310 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));
Note: See TracChangeset
for help on using the changeset viewer.