Changeset 20147 for branches/version-2_5-dev/data/class
- Timestamp:
- 2011/02/11 18:57:52 (15 years ago)
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 5 edited
-
helper/SC_Helper_Customer.php (modified) (4 diffs)
-
pages/entry/LC_Page_Entry.php (modified) (6 diffs)
-
pages/mypage/LC_Page_Mypage_Change.php (modified) (7 diffs)
-
pages/mypage/LC_Page_Mypage_ChangeComplete.php (modified) (5 diffs)
-
pages/mypage/LC_Page_Mypage_Delivery.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
r20116 r20147 90 90 function sfEditCustomerData($array, $customer_id = null) { 91 91 $objQuery =& SC_Query::getSingletonInstance(); 92 $objQuery->begin(); 92 93 93 94 $array["update_date"] = "now()"; // 更新日 … … 133 134 $objQuery->insert("dtb_customer", $array); 134 135 } 136 137 $objQuery->commit(); 135 138 return $customer_id; 136 139 } … … 214 217 215 218 /** 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 /** 216 252 * sfGetUniqSecretKey 217 253 * … … 251 287 } 252 288 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 253 395 } -
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
r20116 r20147 69 69 } 70 70 71 /* パラメータ情報の初期化 */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"));95 96 if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){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);103 } else {104 $objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK"));105 }106 }107 108 71 /** 109 72 * Page のプロセス … … 113 76 $objFormParam = new SC_FormParam(); 114 77 115 $this->lfInitParam($objFormParam);78 SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam); 116 79 $objFormParam->setParam($_POST); 117 80 $this->arrForm = $objFormParam->getHashArray(); … … 136 99 case 'confirm': 137 100 //-- 確認 138 $this->arrErr = $this->lfErrorCheck($objFormParam);101 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); 139 102 // 入力エラーなし 140 103 if(empty($this->arrErr)) { … … 148 111 case 'complete': 149 112 //-- 会員登録と完了画面 150 $this->arrErr = $this->lfErrorCheck($objFormParam);113 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerEntryErrorCheck($objFormParam); 151 114 if(empty($this->arrErr)) { 152 115 … … 193 156 */ 194 157 function lfRegistCustomerData($sqlval) { 195 $objQuery = SC_Query::getSingletonInstance();196 //-- 登録実行197 $objQuery->begin();198 158 SC_Helper_Customer_Ex::sfEditCustomerData($sqlval); 199 $objQuery->commit();200 201 159 return $sqlval["secret_key"]; 202 160 } … … 291 249 292 250 /** 293 * lfErrorCheck294 *295 * 入力エラーチェック296 *297 * @param mixed $objFormParam298 * @access private299 * @return array エラー情報の配列300 */301 function lfErrorCheck(&$objFormParam) {302 $objFormParam->convParam();303 $objFormParam->toLower('email');304 $objFormParam->toLower('email02');305 306 // 入力データを渡す。307 $objErr = new SC_CheckError();308 $objErr->arrErr = $objFormParam->checkError();309 310 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));311 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));312 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY"));313 314 if (SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE){315 $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK"));316 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK"));317 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));318 }319 320 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可321 $objErr->doFunc(array("メールアドレス", "email"), array("CHECK_REGIST_CUSTOMER_EMAIL"));322 323 return $objErr->arrErr;324 }325 326 /**327 251 * kiyaku.php からの遷移の妥当性をチェックする 328 252 * -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Change.php
r20116 r20147 23 23 24 24 // {{{ requires 25 require_once(CLASS_REALDIR . "pages/ LC_Page.php");25 require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php"); 26 26 27 27 /** … … 32 32 * @version $Id$ 33 33 */ 34 class LC_Page_Mypage_Change extends LC_Page {34 class LC_Page_Mypage_Change extends LC_Page_AbstractMypage { 35 35 36 36 … … 45 45 function init() { 46 46 parent::init(); 47 $this->tpl_title = 'MYページ';48 47 $this->tpl_subtitle = '会員登録内容変更(入力ページ)'; 49 $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';50 $this->tpl_mainno = 'mypage';51 48 $this->tpl_mypageno = 'change'; 52 49 53 $masterData = new SC_DB_MasterData_Ex();54 $this->arrReminder = $masterData->getMasterData("mtb_reminder");55 $this->arrPref = $masterData->getMasterData('mtb_pref');56 $this->arrJob = $masterData->getMasterData("mtb_job");50 $masterData = new SC_DB_MasterData_Ex(); 51 $this->arrReminder = $masterData->getMasterData("mtb_reminder"); 52 $this->arrPref = $masterData->getMasterData('mtb_pref'); 53 $this->arrJob = $masterData->getMasterData("mtb_job"); 57 54 $this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type"); 58 $this->arrSex = $masterData->getMasterData("mtb_sex");55 $this->arrSex = $masterData->getMasterData("mtb_sex"); 59 56 $this->httpCacheControl('nocache'); 60 57 61 58 // 生年月日選択肢の取得 62 $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now"))); 63 $this->arrYear = $objDate->getYear('', 1950, ''); 64 $this->arrMonth = $objDate->getMonth(true); 65 $this->arrDay = $objDate->getDay(true); 66 67 $this->isMobile = Net_UserAgent_Mobile::isMobile(); 59 $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now"))); 60 $this->arrYear = $objDate->getYear('', 1950, ''); 61 $this->arrMonth = $objDate->getMonth(true); 62 $this->arrDay = $objDate->getDay(true); 68 63 } 69 64 … … 74 69 */ 75 70 function process() { 76 $this->action(); 77 $this->sendResponse(); 71 parent::process(); 78 72 } 79 73 … … 83 77 */ 84 78 function action() { 85 $objDb = new SC_Helper_DB_Ex();86 $CONF = $objDb->sfGetBasisData();87 88 $objQuery = new SC_Query();89 79 $objCustomer = new SC_Customer(); 90 91 // ログインチェック 92 if (!$objCustomer->isLoginSuccess(true)){ 93 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 94 }else { 95 //マイページトップ顧客情報表示用 96 $this->tpl_login = true; 97 $this->CustomerName1 = $objCustomer->getvalue('name01'); 98 $this->CustomerName2 = $objCustomer->getvalue('name02'); 99 $this->CustomerPoint = $objCustomer->getvalue('point'); 100 } 80 $customer_id = $objCustomer->getValue('customer_id'); 101 81 102 82 // mobile用(戻るボタンでの遷移かどうかを判定) … … 106 86 107 87 // パラメータ管理クラス,パラメータ情報の初期化 108 $ this->objFormParam = new SC_FormParam();109 $this->lfInitParam();110 $ this->objFormParam->setParam($_POST); // POST値の取得88 $objFormParam = new SC_FormParam(); 89 SC_Helper_Customer_Ex::sfCustomerMypageParam($objFormParam); 90 $objFormParam->setParam($_POST); // POST値の取得 111 91 92 $this->arrForm = $objFormParam->getHashArray(); 112 93 113 if ($_SERVER["REQUEST_METHOD"] == "POST") { 94 switch ($this->getMode()) { 95 case 'confirm': 96 //-- 確認 97 $this->arrErr = SC_Helper_Customer_Ex::sfCustomerMypageErrorCheck($objFormParam); 98 // 入力エラーなし 99 if(empty($this->arrErr)) { 100 //パスワード表示 101 $this->passlen = SC_Utils_Ex::sfPassLen(strlen($this->arrForm['password'])); 114 102 115 //CSRF対策 116 /* 117 if (!SC_Helper_Session_Ex::isValidToken()) { 118 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 103 $this->tpl_mainpage = 'mypage/change_confirm.tpl'; 104 $this->tpl_title = '会員登録(確認ページ)'; 119 105 } 120 */ 106 break; 107 case 'complete': 108 //-- 会員登録と完了画面 121 109 122 $this->objFormParam->convParam(); 123 $this->objFormParam->toLower('email'); 124 $this->objFormParam->toLower('email02'); 125 $this->objFormParam->toLower('email_mobile'); 126 $this->objFormParam->toLower('email_mobile02'); 127 $this->arrForm = $this->objFormParam->getHashArray(); 110 // 会員情報の登録 111 $this->lfRegistCustomerData($objFormParam, $customer_id); 128 112 129 130 switch ($this->getMode()) { 131 case 'confirm': 132 //-- 確認 133 $this->arrErr = $this->lfErrorCheck(); 134 135 // 入力エラーなし 136 if(count($this->arrErr) == 0) { 137 138 $this->list_data = $this->objFormParam->getHashArray(); 139 140 //パスワード表示 141 $passlen = strlen($this->arrForm['password']); 142 $this->passlen = SC_Utils_Ex::sfPassLen($passlen); 143 144 $this->tpl_mainpage = 'mypage/change_confirm.tpl'; 145 $this->tpl_title = '会員登録(確認ページ)'; 146 } 147 break; 148 case 'complete': 149 //-- 会員登録と完了画面 150 151 // 会員情報の登録 152 $this->CONF = $CONF; 153 $this->lfRegistData(); 154 155 // 完了ページに移動させる。 156 SC_Response_Ex::sendRedirect('change_complete.php'); 157 exit; 158 break; 159 default: 160 break; 161 } 162 } else { 163 $this->arrForm = $this->lfGetCustomerData(); 164 $this->arrForm['password'] = DEFAULT_PASSWORD; 165 $this->arrForm['password02'] = DEFAULT_PASSWORD; 166 $this->arrForm['reminder_answer'] = DEFAULT_PASSWORD; 113 // 完了ページに移動させる。 114 SC_Response_Ex::sendRedirect('change_complete.php'); 115 break; 116 case 'return': 117 break; 118 default: 119 $this->arrForm = SC_Helper_Customer_Ex::sfGetCustomerData($customer_id); 120 break; 167 121 } 168 $this->transactionid = SC_Helper_Session_Ex::getToken();169 122 } 170 123 … … 178 131 } 179 132 180 /* パラメータ情報の初期化 */ 181 function lfInitParam() { 133 /** 134 * 会員情報を登録する 135 * 136 * @param mixed $objFormParam 137 * @param mixed $customer_id 138 * @access private 139 * @return void 140 */ 141 function lfRegistCustomerData(&$objFormParam, $customer_id) { 142 $arrRet = $objFormParam->getHashArray(); 143 $sqlval = $objFormParam->getDbArray(); 144 $sqlval['birth'] = SC_Utils_Ex::sfGetTimestamp($arrRet['year'], $arrRet['month'], $arrRet['day']); 182 145 183 $this->objFormParam->addParam("お名前(姓)", 'name01', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 184 $this->objFormParam->addParam("お名前(名)", 'name02', STEXT_LEN, "aKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 185 $this->objFormParam->addParam("お名前(フリガナ・姓)", 'kana01', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 186 $this->objFormParam->addParam("お名前(フリガナ・名)", 'kana02', STEXT_LEN, "CKV", array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 187 $this->objFormParam->addParam("パスワード", 'password', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK")); 188 $this->objFormParam->addParam("パスワード確認用の質問", "reminder", STEXT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 189 $this->objFormParam->addParam("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 190 $this->objFormParam->addParam("郵便番号1", "zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 191 $this->objFormParam->addParam("郵便番号2", "zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 192 $this->objFormParam->addParam("都道府県", 'pref', INT_LEN, "n", array("EXIST_CHECK","NUM_CHECK")); 193 $this->objFormParam->addParam("住所1", "addr01", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 194 $this->objFormParam->addParam("住所2", "addr02", MTEXT_LEN, "aKV", array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 195 $this->objFormParam->addParam("お電話番号1", 'tel01', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 196 $this->objFormParam->addParam("お電話番号2", 'tel02', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 197 $this->objFormParam->addParam("お電話番号3", 'tel03', TEL_ITEM_LEN, "n", array("EXIST_CHECK","SPTAB_CHECK" )); 198 $this->objFormParam->addParam("性別", "sex", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 199 $this->objFormParam->addParam("職業", "job", INT_LEN, "n", array("NUM_CHECK")); 200 $this->objFormParam->addParam("年", "year", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 201 $this->objFormParam->addParam("月", "month", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 202 $this->objFormParam->addParam("日", "day", INT_LEN, "n", array("MAX_LENGTH_CHECK"), "", false); 203 $this->objFormParam->addParam("メールマガジン", "mailmaga_flg", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK")); 204 205 if ($this->isMobile === false){ 206 $this->objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 207 $this->objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 208 $this->objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, "n", array("SPTAB_CHECK")); 209 $this->objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, "a", array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false); 210 $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 211 $this->objFormParam->addParam('メールアドレス(確認)', "email02", MTEXT_LEN, "a", array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 212 $this->objFormParam->addParam('携帯メールアドレス', "email_mobile", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 213 $this->objFormParam->addParam('携帯メールアドレス(確認)', "email_mobile02", MTEXT_LEN, "a", array("NO_SPTAB", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"), "", false); 214 } else { 215 $this->objFormParam->addParam('メールアドレス', "email", MTEXT_LEN, "a", array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK","MOBILE_EMAIL_CHECK")); 216 } 146 SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $customer_id); 217 147 } 218 219 //---- 入力エラーチェック220 function lfErrorCheck($array) {221 222 // 入力データを渡す。223 $arrRet = $this->objFormParam->getHashArray();224 $objErr = new SC_CheckError($arrRet);225 $objErr->arrErr = $this->objFormParam->checkError();226 if(isset($objErr->arrErr['password']) and $arrRet['password'] == DEFAULT_PASSWORD) {227 unset($objErr->arrErr['password']);228 unset($objErr->arrErr['password02']);229 }230 if(isset($objErr->arrErr['reminder_answer']) and $arrRet['reminder_answer'] == DEFAULT_PASSWORD) {231 unset($objErr->arrErr['reminder_answer']);232 }233 234 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03"),array("TEL_CHECK"));235 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));236 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY"));237 if ($this->isMobile === false){238 if( $arrRet['password'] != DEFAULT_PASSWORD ) {239 $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK"));240 }241 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK"));242 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));243 }244 245 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可246 $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($arrRet["email"]);247 switch($register_user_flg) {248 case 1:249 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />";250 break;251 case 2:252 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />";253 break;254 default:255 break;256 }257 return $objErr->arrErr;258 }259 260 function lfRegistData() {261 262 $objQuery = new SC_Query();263 $objCustomer = new SC_Customer();264 265 $arrRet = $this->objFormParam->getHashArray();266 267 // 登録データの作成268 $sqlval = $this->objFormParam->getDbArray();269 $sqlval['birth'] = SC_Utils_Ex::sfGetTimestamp($arrRet['year'], $arrRet['month'], $arrRet['day']);270 271 $objQuery->begin();272 SC_Helper_Customer_Ex::sfEditCustomerData($sqlval, $objCustomer->getValue('customer_id'));273 $objQuery->commit();274 }275 276 /**277 * 顧客情報の取得278 *279 * @return array 顧客情報280 */281 function lfGetCustomerData(){282 $objQuery = new SC_Query();283 $objCustomer = new SC_Customer();284 285 // 顧客情報DB取得286 $ret = $objQuery->select("*","dtb_customer","customer_id=?", array($objCustomer->getValue('customer_id')));287 $arrForm = $ret[0];288 289 // 確認項目に複製290 $arrForm['email02'] = $arrForm['email'];291 $arrForm['email_mobile02'] = $arrForm['email_mobile'];292 293 // 誕生日を年月日に分ける294 if (isset($arrForm['birth'])){295 $birth = split(" ", $arrForm["birth"]);296 list($arrForm['year'], $arrForm['month'], $arrForm['day']) = split("-",$birth[0]);297 }298 return $arrForm;299 }300 301 //エラー、戻る時にフォームに入力情報を返す302 function lfFormReturn($array, &$objPage){303 foreach($array as $key => $val){304 switch ($key){305 case 'password':306 case 'password02':307 $objPage->$key = $val;308 break;309 default:310 $array[ $key ] = $val;311 break;312 }313 }314 }315 316 148 } 317 ?> -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_ChangeComplete.php
r20116 r20147 23 23 24 24 // {{{ requires 25 require_once(CLASS_REALDIR . "pages/ LC_Page.php");25 require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php"); 26 26 27 27 /** … … 32 32 * @version $Id$ 33 33 */ 34 class LC_Page_Mypage_ChangeComplete extends LC_Page {34 class LC_Page_Mypage_ChangeComplete extends LC_Page_AbstractMypage { 35 35 36 36 // }}} … … 44 44 function init() { 45 45 parent::init(); 46 $this->tpl_title = 'MYページ';47 46 $this->tpl_subtitle = '会員登録内容変更(完了ページ)'; 48 $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';49 47 $this->tpl_mypageno = 'change'; 50 48 } … … 57 55 function process() { 58 56 parent::process(); 59 $this->action();60 $this->sendResponse();61 57 } 62 58 … … 68 64 function action() { 69 65 $objCustomer = new SC_Customer(); 70 71 66 //セッション情報を最新の状態に更新する 72 67 $objCustomer->updateSession(); 73 74 //ログイン判定75 if (!$objCustomer->isLoginSuccess(true)){76 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);77 }else {78 //マイページトップ顧客情報表示用79 $this->tpl_login = true;80 $this->CustomerName1 = $objCustomer->getvalue('name01');81 $this->CustomerName2 = $objCustomer->getvalue('name02');82 $this->CustomerPoint = $objCustomer->getvalue('point');83 }84 68 } 85 69 -
branches/version-2_5-dev/data/class/pages/mypage/LC_Page_Mypage_Delivery.php
r20116 r20147 23 23 24 24 // {{{ requires 25 require_once(CLASS_REALDIR . "pages/ LC_Page.php");25 require_once(CLASS_REALDIR . "pages/mypage/LC_Page_AbstractMypage.php"); 26 26 27 27 /** … … 32 32 * @version $Id$ 33 33 */ 34 class LC_Page_Mypage_Delivery extends LC_Page {34 class LC_Page_Mypage_Delivery extends LC_Page_AbstractMypage { 35 35 36 36 // }}} … … 44 44 function init() { 45 45 parent::init(); 46 $this->tpl_title = 'MYページ';47 46 $this->tpl_subtitle = 'お届け先追加・変更'; 48 $this->tpl_navi = TEMPLATE_REALDIR . 'mypage/navi.tpl';49 $this->tpl_mainno = 'mypage';50 47 $this->tpl_mypageno = 'delivery'; 51 $masterData = new SC_DB_MasterData_Ex();52 $this->arrPref = $masterData->getMasterData('mtb_pref');48 $masterData = new SC_DB_MasterData_Ex(); 49 $this->arrPref = $masterData->getMasterData('mtb_pref'); 53 50 $this->httpCacheControl('nocache'); 54 51 } … … 61 58 function process() { 62 59 parent::process(); 63 $this->action();64 $this->sendResponse();65 60 } 66 61 … … 71 66 */ 72 67 function action() { 73 //$objView = new SC_SiteView(); 74 $objCustomer = new SC_Customer(); 68 $objCustomer = new SC_Customer(); 69 $customer_id = $objCustomer->getValue('customer_id'); 70 $objFormParam = new SC_FormParam(); 75 71 76 // 退会判定用情報の取得 77 $this->tpl_login = $objCustomer->isLoginSuccess(); 72 $this->lfInitParam($objFormParam); 73 $objFormParam->setParam($_POST); 74 $objFormParam->convParam(); 78 75 79 // ポップアップを開けたまま退会された状態でポップアップが閉じた場合のエラー画面の抑止。80 // コメントアウトした「ログイン判定」は他の「Mypage」内に施した退会時処理で補間。81 82 // XXX コメントアウトによる問題が確認された場合はコメントアウトを外し、エラー画面が出る様に戻す。83 ////ログイン判定84 // if(!$objCustomer->isLoginSuccess()) {85 // SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);86 // }else {87 //マイページトップ顧客情報表示用88 $this->CustomerName1 = $objCustomer->getvalue('name01');89 $this->CustomerName2 = $objCustomer->getvalue('name02');90 $this->CustomerPoint = $objCustomer->getvalue('point');91 //}92 93 $customerId = $objCustomer->getValue('customer_id');94 76 switch($this->getMode()) { 95 77 96 78 // お届け先の削除 97 79 case 'delete': 98 $objForm = $this->initParam(); 99 if ($objForm->checkError()) { 80 if ($objFormParam->checkError()) { 100 81 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); 101 82 exit; 102 83 } 103 84 104 $this->deleteOtherDeliv($customer Id, $objForm->getValue('other_deliv_id'));85 $this->deleteOtherDeliv($customer_id, $objFormParam->getValue('other_deliv_id')); 105 86 break; 106 87 … … 111 92 112 93 //別のお届け先情報 113 $this->arrOtherDeliv = $this->getOtherDeliv($customer Id);94 $this->arrOtherDeliv = $this->getOtherDeliv($customer_id); 114 95 115 96 //お届け先登録数 116 $this->tpl_linemax = count($this->arrOtherDeliv);; 117 118 //$objView->assignobj($this); 119 //$objView->display(SITE_FRAME); 97 $this->tpl_linemax = count($this->arrOtherDeliv); 120 98 } 121 99 … … 134 112 * @return SC_FormParam 135 113 */ 136 function initParam() { 137 $objForm = new SC_FormParam(); 138 $objForm->addParam('お届け先ID', 'other_deliv_id', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 139 $objForm->setParam($_POST); 140 $objForm->convParam(); 141 return $objForm; 114 function lfInitParam(&$objFormParam) { 115 $objFormParam->addParam('お届け先ID', 'other_deliv_id', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 142 116 } 143 117 … … 148 122 * @return array 149 123 */ 150 function getOtherDeliv($customer Id) {151 $objQuery = new SC_Query;124 function getOtherDeliv($customer_id) { 125 $objQuery =& SC_Query::getSingletonInstance(); 152 126 $objQuery->setOrder('other_deliv_id DESC'); 153 $arrRet = $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ?', array($customerId)); 154 return empty($arrRet) ? array() : $arrRet; 127 return $objQuery->select('*', 'dtb_other_deliv', 'customer_id = ?', array($customer_id)); 155 128 } 156 129 … … 161 134 * @param integer $delivId 162 135 */ 163 function deleteOtherDeliv($customer Id, $delivId) {164 $where = 'customer_id = ? AND other_deliv_id = ?';165 $objQuery = new SC_Query;166 $objQuery->delete("dtb_other_deliv", $where, array($customer Id, $delivId));136 function deleteOtherDeliv($customer_id, $deliv_id) { 137 $where = 'customer_id = ? AND other_deliv_id = ?'; 138 $objQuery =& SC_Query::getSingletonInstance(); 139 $objQuery->delete("dtb_other_deliv", $where, array($customer_id, $deliv_id)); 167 140 } 168 141 } 169 ?>
Note: See TracChangeset
for help on using the changeset viewer.
