Changeset 16234
- Timestamp:
- 2007/10/02 19:40:37 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/data/class/pages/mypage/LC_Page_Mypage_Change.php
r16070 r16234 196 196 197 197 } 198 199 /** 200 * モバイルページを初期化する. 201 * 202 * @return void 203 */ 204 function mobileInit() { 205 $this->tpl_mainpage = 'mypage/change.tpl'; // メインテンプレート 206 $this->tpl_title .= '登録変更(1/3)'; // ページタイトル 207 208 } 209 210 /** 211 * Page のプロセス(モバイル). 212 * 213 * @return void 214 */ 215 function mobileProcess() { 216 $objDb = new SC_Helper_DB_Ex(); 217 $CONF = $objDb->sf_getBasisData(); // 店舗基本情報 218 $objConn = new SC_DbConn(); 219 $objView = new SC_MobileView(); 220 $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now"))); 221 $objQuery = new SC_Query(); 222 $objCustomer = new SC_Customer(); 223 224 //---- 登録用カラム配列 225 $arrRegistColumn = array( 226 array( "column" => "name01", "convert" => "aKV" ), 227 array( "column" => "name02", "convert" => "aKV" ), 228 array( "column" => "kana01", "convert" => "CKV" ), 229 array( "column" => "kana02", "convert" => "CKV" ), 230 array( "column" => "zip01", "convert" => "n" ), 231 array( "column" => "zip02", "convert" => "n" ), 232 array( "column" => "pref", "convert" => "n" ), 233 array( "column" => "addr01", "convert" => "aKV" ), 234 array( "column" => "addr02", "convert" => "aKV" ), 235 array( "column" => "email", "convert" => "a" ), 236 array( "column" => "email_mobile", "convert" => "a" ), 237 array( "column" => "tel01", "convert" => "n" ), 238 array( "column" => "tel02", "convert" => "n" ), 239 array( "column" => "tel03", "convert" => "n" ), 240 array( "column" => "fax01", "convert" => "n" ), 241 array( "column" => "fax02", "convert" => "n" ), 242 array( "column" => "fax03", "convert" => "n" ), 243 array( "column" => "sex", "convert" => "n" ), 244 array( "column" => "job", "convert" => "n" ), 245 array( "column" => "birth", "convert" => "n" ), 246 array( "column" => "reminder", "convert" => "n" ), 247 array( "column" => "reminder_answer", "convert" => "aKV"), 248 array( "column" => "password", "convert" => "a" ), 249 array( "column" => "mailmaga_flg", "convert" => "n" ) 250 ); 251 252 //---- 登録除外用カラム配列 253 $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02"); 254 255 $this->arrForm = lfGetCustomerData(); 256 $this->arrForm['password'] = DEFAULT_PASSWORD; 257 258 if ($_SERVER["REQUEST_METHOD"] == "POST") { 259 260 //-- POSTデータの引き継ぎ 261 $this->arrForm = array_merge($this->arrForm, $_POST); 262 263 if($this->arrForm['year'] == '----') { 264 $this->arrForm['year'] = ''; 265 } 266 267 $this->arrForm['email'] = strtolower($this->arrForm['email']); // emailはすべて小文字で処理 268 269 //-- 入力データの変換 270 $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn); 271 272 // 戻るボタン用処理 273 if (!empty($_POST["return"])) { 274 switch ($_POST["mode"]) { 275 case "complete": 276 $_POST["mode"] = "set3"; 277 break; 278 case "confirm": 279 $_POST["mode"] = "set2"; 280 break; 281 default: 282 $_POST["mode"] = "set1"; 283 break; 284 } 285 } 286 287 //-- 入力エラーチェック 288 if ($_POST["mode"] == "set1") { 289 $this->arrErr = $this->lfErrorCheck1($this->arrForm); 290 $this->tpl_mainpage = 'mypage/change.tpl'; 291 $this->tpl_title = '登録変更(1/3)'; 292 } elseif ($_POST["mode"] == "set2") { 293 $this->arrErr = $this->lfErrorCheck2($this->arrForm); 294 $this->tpl_mainpage = 'mypage/set1.tpl'; 295 $this->tpl_title = '登録変更(2/3)'; 296 } else { 297 $this->arrErr = $this->lfErrorCheck3($this->arrForm); 298 $this->tpl_mainpage = 'mypage/set2.tpl'; 299 $this->tpl_title = '登録変更(3/3)'; 300 } 301 302 if ($this->arrErr || !empty($_POST["return"])) { // 入力エラーのチェック 303 foreach($this->arrForm as $key => $val) { 304 $this->$key = $val; 305 } 306 307 //-- データの設定 308 if ($_POST["mode"] == "set1") { 309 $checkVal = array("email", "password", "reminder", "reminder_answer", "name01", "name02", "kana01", "kana02"); 310 } elseif ($_POST["mode"] == "set2") { 311 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02"); 312 } else { 313 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mail_flag"); 314 } 315 316 foreach($this->arrForm as $key => $val) { 317 if ($key != "return" && $key != "mode" && $key != "confirm" && $key != session_name() && !in_array($key, $checkVal)) { 318 $this->list_data[ $key ] = $val; 319 } 320 } 321 322 } else { 323 324 //-- テンプレート設定 325 if ($_POST["mode"] == "set1") { 326 $this->tpl_mainpage = 'mypage/set1.tpl'; 327 $this->tpl_title = '登録変更(2/3)'; 328 } elseif ($_POST["mode"] == "set2") { 329 $this->tpl_mainpage = 'mypage/set2.tpl'; 330 $this->tpl_title = '登録変更(3/3)'; 331 } elseif ($_POST["mode"] == "confirm") { 332 //パスワード表示 333 $passlen = strlen($this->arrForm['password']); 334 $this->passlen = lfPassLen($passlen); 335 336 // メール受け取り 337 if (strtolower($_POST['mailmaga_flg']) == "on") { 338 $_POST['mailmaga_flg'] = "2"; 339 } else { 340 $_POST['mailmaga_flg'] = "3"; 341 } 342 343 $this->tpl_mainpage = 'mypage/change_confirm.tpl'; 344 $this->tpl_title = '登録変更(確認ページ)'; 345 346 } 347 348 //-- データ設定 349 unset($this->list_data); 350 if ($_POST["mode"] == "set1") { 351 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02"); 352 } elseif ($_POST["mode"] == "set2") { 353 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mail_flag"); 354 } else { 355 $checkVal = array(); 356 } 357 358 foreach($_POST as $key => $val) { 359 if ($key != "return" && $key != "mode" && $key != "confirm" && $key != session_name() && !in_array($key, $checkVal)) { 360 $this->list_data[ $key ] = $val; 361 } 362 } 363 364 365 //-- 仮登録と完了画面 366 if ($_POST["mode"] == "complete") { 367 368 //-- 入力データの変換 369 $arrForm = $this->lfConvertParam($_POST, $arrRegistColumn); 370 $arrForm['email'] = strtolower($arrForm['email']); // emailはすべて小文字で処理 371 372 //エラーチェック 373 $this->arrErr = $this->lfErrorCheckMobile($this->arrForm); 374 $email_flag = true; 375 376 if($this->arrForm['email'] != $objCustomer->getValue('email_mobile')) { 377 //メールアドレスの重複チェック 378 $email_cnt = $objQuery->count("dtb_customer","del_flg=0 AND (email=? OR email_mobile=?)", array($this->arrForm['email'], $this->arrForm['email'])); 379 if ($email_cnt > 0){ 380 $email_flag = false; 381 } 382 } 383 384 //エラーなしでかつメールアドレスが重複していない場合 385 if($this->arrErr == "" && $email_flag) { 386 $arrForm['customer_id'] = $objCustomer->getValue('customer_id'); 387 //-- 編集登録 388 $objDb->sfEditCustomerData($arrForm, $arrRegistColumn); 389 //セッション情報を最新の状態に更新する 390 $objCustomer->updateSession(); 391 //完了ページへ 392 $this->sendRedirect($this->getLocation("./change_complete.php", array(session_name(), session_id())); 393 exit; 394 } else { 395 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 396 } 397 } 398 } 399 } 400 401 $arrPrivateVariables = array('secret_key', 'first_buy_date', 'last_buy_date', 'buy_times', 'buy_total', 'point', 'note', 'status', 'create_date', 'update_date', 'del_flg', 'cell01', 'cell02', 'cell03', 'mobile_phone_id'); 402 foreach ($arrPrivateVariables as $key) { 403 unset($this->list_data[$key]); 404 } 405 406 //---- ページ表示 407 $objView->assignobj($this); 408 $objView->display(SITE_FRAME); 409 } 410 198 411 /** 199 412 * デストラクタ. … … 204 417 parent::destroy(); 205 418 } 206 207 419 208 420 /* パラメータ情報の初期化 */ … … 357 569 } 358 570 } 571 572 573 // }}} 574 // {{{ mobile functions 575 576 function lfRegistDataMobile ($array, $arrRegistColumn, 577 $arrRejectRegistColumn) { 578 579 // 仮登録 580 foreach ($arrRegistColumn as $data) { 581 if (strlen($array[ $data["column"] ]) > 0 && ! in_array($data["column"], $arrRejectRegistColumn)) { 582 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 583 } 584 } 585 586 // 誕生日が入力されている場合 587 if (strlen($array["year"]) > 0 ) { 588 $arrRegist["birth"] = $array["year"] ."/". $array["month"] ."/". $array["day"] ." 00:00:00"; 589 } 590 591 // パスワードの暗号化 592 $arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC); 593 594 $count = 1; 595 while ($count != 0) { 596 $uniqid = sfGetUniqRandomId("t"); 597 $count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid)); 598 } 599 600 $arrRegist["secret_key"] = $uniqid; // 仮登録ID発行 601 $arrRegist["create_date"] = "now()"; // 作成日 602 $arrRegist["update_date"] = "now()"; // 更新日 603 $arrRegist["first_buy_date"] = ""; // 最初の購入日 604 605 // 携帯メールアドレス 606 $arrRegist['email_mobile'] = $arrRegist['email']; 607 608 //-- 仮登録実行 609 $objConn->query("BEGIN"); 610 611 $objQuery = new SC_Query(); 612 $objQuery->insert("dtb_customer", $arrRegist); 613 $objConn->query("COMMIT"); 614 615 return $uniqid; 616 } 617 618 619 //エラーチェック 620 621 function lfErrorCheckMobile($array) { 622 $objErr = new SC_CheckError($array); 623 624 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 625 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 626 $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 627 $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 628 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 629 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 630 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 631 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 632 $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 633 $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 634 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 635 $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK")); 636 $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK")); 637 $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK")); 638 $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 639 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03", TEL_LEN) ,array("TEL_CHECK")); 640 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 641 $objErr->doFunc(array("ご職業", "job") ,array("NUM_CHECK")); 642 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); 643 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "ALNUM_CHECK", "NUM_RANGE_CHECK")); 644 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 645 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 646 return $objErr->arrErr; 647 648 } 649 650 651 //---- 入力エラーチェック 652 function lfErrorCheck1($array) { 653 654 global $objConn; 655 global $objCustomer; 656 $objErr = new SC_CheckError($array); 657 658 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 659 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 660 $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 661 $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 662 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK")); 663 664 //現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 665 $array["customer_id"] = $objCustomer->getValue('customer_id'); 666 if (strlen($array["email"]) > 0) { 667 $objQuery = new SC_Query(); 668 $arrRet = $objQuery->select("email, update_date, del_flg", "dtb_customer","customer_id <> ? and (email ILIKE ? OR email_mobile ILIKE ?) ORDER BY del_flg", array($array["customer_id"], $array["email"], $array["email"])); 669 670 if(count($arrRet) > 0) { 671 if($arrRet[0]['del_flg'] != '1') { 672 // 会員である場合 673 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 674 } else { 675 // 退会した会員である場合 676 $leave_time = sfDBDatetoTime($arrRet[0]['update_date']); 677 $now_time = time(); 678 $pass_time = $now_time - $leave_time; 679 // 退会から何時間-経過しているか判定する。 680 $limit_time = ENTRY_LIMIT_HOUR * 3600; 681 if($pass_time < $limit_time) { 682 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />"; 683 } 684 } 685 } 686 } 687 688 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 689 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 690 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 691 692 return $objErr->arrErr; 693 } 694 695 //---- 入力エラーチェック 696 function lfErrorCheck2($array) { 697 698 global $objConn, $objDate; 699 $objErr = new SC_CheckError($array); 700 701 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 702 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 703 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 704 705 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 706 $objErr->doFunc(array("生年月日 (年)", "year", 4), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 707 if (!isset($objErr->arrErr['year'])) { 708 $objErr->doFunc(array("生年月日 (年)", "year", $objDate->getStartYear()), array("MIN_CHECK")); 709 $objErr->doFunc(array("生年月日 (年)", "year", $objDate->getEndYear()), array("MAX_CHECK")); 710 } 711 $objErr->doFunc(array("生年月日 (月日)", "month", "day"), array("SELECT_CHECK")); 712 if (!isset($objErr->arrErr['year']) && !isset($objErr->arrErr['month']) && !isset($objErr->arrErr['day'])) { 713 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); 714 } 715 716 return $objErr->arrErr; 717 } 718 719 //---- 入力エラーチェック 720 function lfErrorCheck3($array) { 721 722 global $objConn; 723 $objErr = new SC_CheckError($array); 724 725 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 726 $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 727 $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 728 $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" )); 729 $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" )); 730 $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" )); 731 $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03",TEL_ITEM_LEN) ,array("TEL_CHECK")); 732 733 return $objErr->arrErr; 734 } 735 736 // 郵便番号から住所の取得 737 function lfGetAddress($zipcode) { 738 global $arrPref; 739 740 $conn = new SC_DBconn(ZIP_DSN); 741 742 // 郵便番号検索文作成 743 $zipcode = mb_convert_kana($zipcode ,"n"); 744 $sqlse = "SELECT state, city, town FROM mtb_zip WHERE zipcode = ?"; 745 746 $data_list = $conn->getAll($sqlse, array($zipcode)); 747 748 // インデックスと値を反転させる。 749 $arrREV_PREF = array_flip($arrPref); 750 751 /* 752 総務省からダウンロードしたデータをそのままインポートすると 753 以下のような文字列が入っているので 対策する。 754 ・(1・19丁目) 755 ・以下に掲載がない場合 756 */ 757 $town = $data_list[0]['town']; 758 $town = ereg_replace("(.*)$","",$town); 759 $town = ereg_replace("以下に掲載がない場合","",$town); 760 $data_list[0]['town'] = $town; 761 $data_list[0]['state'] = $arrREV_PREF[$data_list[0]['state']]; 762 763 return $data_list; 764 } 765 766 //顧客情報の取得 767 function lfGetCustomerDataMobile(){ 768 global $objQuery; 769 global $objCustomer; 770 //顧客情報取得 771 $ret = $objQuery->select("*","dtb_customer","customer_id=?", array($objCustomer->getValue('customer_id'))); 772 $arrForm = $ret[0]; 773 $arrForm['email'] = $arrForm['email_mobile']; 774 775 //メルマガフラグ取得 776 $arrForm['mailmaga_flg'] = $objQuery->get("dtb_customer","mailmaga_flg","email=?", array($objCustomer->getValue('email_mobile'))); 777 778 //誕生日の年月日取得 779 if (isset($arrForm['birth'])){ 780 $birth = split(" ", $arrForm["birth"]); 781 list($year, $month, $day) = split("-",$birth[0]); 782 783 $arrForm['year'] = $year; 784 $arrForm['month'] = $month; 785 $arrForm['day'] = $day; 786 787 } 788 return $arrForm; 789 } 790 359 791 } 360 792 ?> -
branches/feature-module-update/data/class/pages/mypage/LC_Page_Mypage_ChangeComplate.php
r16074 r16234 63 63 64 64 /** 65 * モバイルページを初期化する. 66 * 67 * @return void 68 */ 69 function mobileInit() { 70 $this->tpl_mainpage = 'mypage/change_complete.tpl'; 71 $this->tpl_title = 'MYページ/会員登録内容変更(完了ページ)'; 72 } 73 74 /** 75 * Page のプロセス(モバイル). 76 * 77 * @return void 78 */ 79 function mobileProcess() { 80 $objView = new SC_MobileView(); 81 $objCustomer = new SC_Customer(); 82 83 84 //セッション情報を最新の状態に更新する 85 $objCustomer->updateSession(); 86 87 //ログイン判定 88 if (!$objCustomer->isLoginSuccess(true)){ 89 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 90 }else { 91 //マイページトップ顧客情報表示用 92 $this->CustomerName1 = $objCustomer->getvalue('name01'); 93 $this->CustomerName2 = $objCustomer->getvalue('name02'); 94 $this->CustomerPoint = $objCustomer->getvalue('point'); 95 } 96 97 $objView->assignobj($this); 98 $objView->display(SITE_FRAME); 99 } 100 101 /** 65 102 * デストラクタ. 66 103 * -
branches/feature-module-update/data/class/pages/mypage/LC_Page_Mypage_History.php
r16102 r16234 92 92 } 93 93 94 /** 95 * モバイルページを初期化する. 96 * 97 * @return void 98 */ 99 function mobileInit() { 100 $this->tpl_mainpage = MOBILE_TEMPLATE_DIR . 'mypage/history.tpl'; 101 $this->tpl_title = 'MYページ/購入履歴一覧'; 102 $this->allowClientCache(); 103 } 104 105 /** 106 * Page のプロセス(モバイル). 107 * 108 * @return void 109 */ 110 function mobileProcess() { 111 define ("HISTORY_NUM", 5); 112 113 $objView = new SC_MobileView(); 114 $objQuery = new SC_Query(); 115 $objCustomer = new SC_Customer(); 116 $pageNo = isset($_GET['pageno']) ? (int) $_GET['pageno'] : 0; // TODO 117 118 // ログインチェック 119 if(!isset($_SESSION['customer'])) { 120 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 121 } 122 123 $col = "order_id, create_date, payment_id, payment_total"; 124 $from = "dtb_order"; 125 $where = "del_flg = 0 AND customer_id=?"; 126 $arrval = array($objCustomer->getvalue('customer_id')); 127 $order = "order_id DESC"; 128 129 $linemax = $objQuery->count($from, $where, $arrval); 130 $this->tpl_linemax = $linemax; 131 132 // 取得範囲の指定(開始行番号、行数のセット) 133 $objQuery->setlimitoffset(HISTORY_NUM, $pageNo); 134 // 表示順序 135 $objQuery->setorder($order); 136 137 //購入履歴の取得 138 $this->arrOrder = $objQuery->select($col, $from, $where, $arrval); 139 140 // next 141 if ($pageNo + HISTORY_NUM < $linemax) { 142 $next = "<a href='history.php?pageno=" . ($pageNo + HISTORY_NUM) . "'>次へ→</a>"; 143 } else { 144 $next = ""; 145 } 146 147 // previous 148 if ($pageNo - HISTORY_NUM > 0) { 149 $previous = "<a href='history.php?pageno=" . ($pageNo - HISTORY_NUM) . "'>←前へ</a>"; 150 } elseif ($pageNo == 0) { 151 $previous = ""; 152 } else { 153 $previous = "<a href='history.php?pageno=0'>←前へ</a>"; 154 } 155 156 // bar 157 if ($next != '' && $previous != '') { 158 $bar = " | "; 159 } else { 160 $bar = ""; 161 } 162 163 $this->tpl_strnavi = $previous . $bar . $next; 164 $objView->assignobj($this); //$objpage内の全てのテンプレート変数をsmartyに格納 165 $objView->display(SITE_FRAME); //パスとテンプレート変数の呼び出し、実行 166 } 167 94 168 //受注詳細データの取得 95 169 function lfGetOrderData($order_id) { -
branches/feature-module-update/html/mobile/mypage/change.php
r16170 r16234 7 7 * 8 8 * 9 * 情報変更9 * モバイルサイト/Myページ登録情報変更 10 10 */ 11 11 12 // {{{ requires 12 13 require_once("../require.php"); 14 require_once(CLASS_PATH . "page_extends/mypage/LC_Page_Mypage_Change_Ex.php"); 13 15 14 class LC_Page { 15 function LC_Page() { 16 $this->tpl_mainpage = 'mypage/change.tpl'; // メインテンプレート 17 $this->tpl_title .= '登録変更(1/3)'; // ページタイトル 18 } 19 } 16 // }}} 17 // {{{ generate page 20 18 21 //---- ページ初期設定 22 $objDb = new SC_Helper_DB_Ex(); 23 $CONF = $objDb->sf_getBasisData(); // 店舗基本情報 24 $objConn = new SC_DbConn(); 25 $objPage = new LC_Page(); 26 $objView = new SC_MobileView(); 27 $objDate = new SC_Date(START_BIRTH_YEAR, date("Y",strtotime("now"))); 28 $objQuery = new SC_Query(); 29 $objCustomer = new SC_Customer(); 30 $objPage->arrPref = $arrPref; 31 $objPage->arrJob = $arrJob; 32 $objPage->arrReminder = $arrReminder; 33 $objPage->arrYear = $objDate->getYear('', 1950); // 日付プルダウン設定 34 $objPage->arrMonth = $objDate->getMonth(); 35 $objPage->arrDay = $objDate->getDay(); 36 37 // レイアウトデザインを取得 38 //$objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); 39 40 //---- 登録用カラム配列 41 $arrRegistColumn = array( 42 array( "column" => "name01", "convert" => "aKV" ), 43 array( "column" => "name02", "convert" => "aKV" ), 44 array( "column" => "kana01", "convert" => "CKV" ), 45 array( "column" => "kana02", "convert" => "CKV" ), 46 array( "column" => "zip01", "convert" => "n" ), 47 array( "column" => "zip02", "convert" => "n" ), 48 array( "column" => "pref", "convert" => "n" ), 49 array( "column" => "addr01", "convert" => "aKV" ), 50 array( "column" => "addr02", "convert" => "aKV" ), 51 array( "column" => "email", "convert" => "a" ), 52 array( "column" => "email_mobile", "convert" => "a" ), 53 array( "column" => "tel01", "convert" => "n" ), 54 array( "column" => "tel02", "convert" => "n" ), 55 array( "column" => "tel03", "convert" => "n" ), 56 array( "column" => "fax01", "convert" => "n" ), 57 array( "column" => "fax02", "convert" => "n" ), 58 array( "column" => "fax03", "convert" => "n" ), 59 array( "column" => "sex", "convert" => "n" ), 60 array( "column" => "job", "convert" => "n" ), 61 array( "column" => "birth", "convert" => "n" ), 62 array( "column" => "reminder", "convert" => "n" ), 63 array( "column" => "reminder_answer", "convert" => "aKV"), 64 array( "column" => "password", "convert" => "a" ), 65 array( "column" => "mailmaga_flg", "convert" => "n" ) 66 ); 67 68 //---- 登録除外用カラム配列 69 $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02"); 70 71 $objPage->arrForm = lfGetCustomerData(); 72 $objPage->arrForm['password'] = DEFAULT_PASSWORD; 73 74 if ($_SERVER["REQUEST_METHOD"] == "POST") { 75 76 //-- POSTデータの引き継ぎ 77 $objPage->arrForm = array_merge($objPage->arrForm, $_POST); 78 79 if($objPage->arrForm['year'] == '----') { 80 $objPage->arrForm['year'] = ''; 81 } 82 83 $objPage->arrForm['email'] = strtolower($objPage->arrForm['email']); // emailはすべて小文字で処理 84 85 //-- 入力データの変換 86 $objPage->arrForm = lfConvertParam($objPage->arrForm, $arrRegistColumn); 87 88 // 戻るボタン用処理 89 if (!empty($_POST["return"])) { 90 switch ($_POST["mode"]) { 91 case "complete": 92 $_POST["mode"] = "set3"; 93 break; 94 case "confirm": 95 $_POST["mode"] = "set2"; 96 break; 97 default: 98 $_POST["mode"] = "set1"; 99 break; 100 } 101 } 102 103 //-- 入力エラーチェック 104 if ($_POST["mode"] == "set1") { 105 $objPage->arrErr = lfErrorCheck1($objPage->arrForm); 106 $objPage->tpl_mainpage = 'mypage/change.tpl'; 107 $objPage->tpl_title = '登録変更(1/3)'; 108 } elseif ($_POST["mode"] == "set2") { 109 $objPage->arrErr = lfErrorCheck2($objPage->arrForm); 110 $objPage->tpl_mainpage = 'mypage/set1.tpl'; 111 $objPage->tpl_title = '登録変更(2/3)'; 112 } else { 113 $objPage->arrErr = lfErrorCheck3($objPage->arrForm); 114 $objPage->tpl_mainpage = 'mypage/set2.tpl'; 115 $objPage->tpl_title = '登録変更(3/3)'; 116 } 117 118 if ($objPage->arrErr || !empty($_POST["return"])) { // 入力エラーのチェック 119 foreach($objPage->arrForm as $key => $val) { 120 $objPage->$key = $val; 121 } 122 123 //-- データの設定 124 if ($_POST["mode"] == "set1") { 125 $checkVal = array("email", "password", "reminder", "reminder_answer", "name01", "name02", "kana01", "kana02"); 126 } elseif ($_POST["mode"] == "set2") { 127 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02"); 128 } else { 129 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mail_flag"); 130 } 131 132 foreach($objPage->arrForm as $key => $val) { 133 if ($key != "return" && $key != "mode" && $key != "confirm" && $key != session_name() && !in_array($key, $checkVal)) { 134 $objPage->list_data[ $key ] = $val; 135 } 136 } 137 138 } else { 139 140 //-- テンプレート設定 141 if ($_POST["mode"] == "set1") { 142 $objPage->tpl_mainpage = 'mypage/set1.tpl'; 143 $objPage->tpl_title = '登録変更(2/3)'; 144 } elseif ($_POST["mode"] == "set2") { 145 $objPage->tpl_mainpage = 'mypage/set2.tpl'; 146 $objPage->tpl_title = '登録変更(3/3)'; 147 } elseif ($_POST["mode"] == "confirm") { 148 //パスワード表示 149 $passlen = strlen($objPage->arrForm['password']); 150 $objPage->passlen = lfPassLen($passlen); 151 152 // メール受け取り 153 if (strtolower($_POST['mailmaga_flg']) == "on") { 154 $_POST['mailmaga_flg'] = "2"; 155 } else { 156 $_POST['mailmaga_flg'] = "3"; 157 } 158 159 $objPage->tpl_mainpage = 'mypage/change_confirm.tpl'; 160 $objPage->tpl_title = '登録変更(確認ページ)'; 161 162 } 163 164 //-- データ設定 165 unset($objPage->list_data); 166 if ($_POST["mode"] == "set1") { 167 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02"); 168 } elseif ($_POST["mode"] == "set2") { 169 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mail_flag"); 170 } else { 171 $checkVal = array(); 172 } 173 174 foreach($_POST as $key => $val) { 175 if ($key != "return" && $key != "mode" && $key != "confirm" && $key != session_name() && !in_array($key, $checkVal)) { 176 $objPage->list_data[ $key ] = $val; 177 } 178 } 179 180 181 //-- 仮登録と完了画面 182 if ($_POST["mode"] == "complete") { 183 184 //-- 入力データの変換 185 $arrForm = lfConvertParam($_POST, $arrRegistColumn); 186 $arrForm['email'] = strtolower($arrForm['email']); // emailはすべて小文字で処理 187 188 //エラーチェック 189 $objPage->arrErr = lfErrorCheck($objPage->arrForm); 190 $email_flag = true; 191 192 if($objPage->arrForm['email'] != $objCustomer->getValue('email_mobile')) { 193 //メールアドレスの重複チェック 194 $email_cnt = $objQuery->count("dtb_customer","del_flg=0 AND (email=? OR email_mobile=?)", array($objPage->arrForm['email'], $objPage->arrForm['email'])); 195 if ($email_cnt > 0){ 196 $email_flag = false; 197 } 198 } 199 200 //エラーなしでかつメールアドレスが重複していない場合 201 if($objPage->arrErr == "" && $email_flag) { 202 $arrForm['customer_id'] = $objCustomer->getValue('customer_id'); 203 //-- 編集登録 204 $objDb->sfEditCustomerData($arrForm, $arrRegistColumn); 205 //セッション情報を最新の状態に更新する 206 $objCustomer->updateSession(); 207 //完了ページへ 208 header("Location: " . gfAddSessionId("change_complete.php")); 209 exit; 210 } else { 211 SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 212 } 213 214 } 215 } 216 } 217 218 $arrPrivateVariables = array('secret_key', 'first_buy_date', 'last_buy_date', 'buy_times', 'buy_total', 'point', 'note', 'status', 'create_date', 'update_date', 'del_flg', 'cell01', 'cell02', 'cell03', 'mobile_phone_id'); 219 foreach ($arrPrivateVariables as $key) { 220 unset($objPage->list_data[$key]); 221 } 222 223 //---- ページ表示 224 $objView->assignobj($objPage); 225 $objView->display(SITE_FRAME); 226 227 //---------------------------------------------------------------------------------------------------------------------- 228 229 //---- function群 230 function lfRegistData ($array, $arrRegistColumn, $arrRejectRegistColumn) { 231 global $objConn; 232 233 // 仮登録 234 foreach ($arrRegistColumn as $data) { 235 if (strlen($array[ $data["column"] ]) > 0 && ! in_array($data["column"], $arrRejectRegistColumn)) { 236 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 237 } 238 } 239 240 // 誕生日が入力されている場合 241 if (strlen($array["year"]) > 0 ) { 242 $arrRegist["birth"] = $array["year"] ."/". $array["month"] ."/". $array["day"] ." 00:00:00"; 243 } 244 245 // パスワードの暗号化 246 $arrRegist["password"] = sha1($arrRegist["password"] . ":" . AUTH_MAGIC); 247 248 $count = 1; 249 while ($count != 0) { 250 $uniqid = sfGetUniqRandomId("t"); 251 $count = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($uniqid)); 252 } 253 254 $arrRegist["secret_key"] = $uniqid; // 仮登録ID発行 255 $arrRegist["create_date"] = "now()"; // 作成日 256 $arrRegist["update_date"] = "now()"; // 更新日 257 $arrRegist["first_buy_date"] = ""; // 最初の購入日 258 259 // 携帯メールアドレス 260 $arrRegist['email_mobile'] = $arrRegist['email']; 261 262 //-- 仮登録実行 263 $objConn->query("BEGIN"); 264 265 $objQuery = new SC_Query(); 266 $objQuery->insert("dtb_customer", $arrRegist); 267 $objConn->query("COMMIT"); 268 269 return $uniqid; 270 } 271 272 //---- 取得文字列の変換 273 function lfConvertParam($array, $arrRegistColumn) { 274 /* 275 * 文字列の変換 276 * K : 「半角(ハンカク)片仮名」を「全角片仮名」に変換 277 * C : 「全角ひら仮名」を「全角かた仮名」に変換 278 * V : 濁点付きの文字を一文字に変換。"K","H"と共に使用します 279 * n : 「全角」数字を「半角(ハンカク)」に変換 280 * a : 全角英数字を半角英数字に変換する 281 */ 282 // カラム名とコンバート情報 283 foreach ($arrRegistColumn as $data) { 284 $arrConvList[ $data["column"] ] = $data["convert"]; 285 } 286 // 文字変換 287 foreach ($arrConvList as $key => $val) { 288 // POSTされてきた値のみ変換する。 289 if(strlen(($array[$key])) > 0) { 290 $array[$key] = mb_convert_kana($array[$key] ,$val); 291 } 292 } 293 return $array; 294 } 295 296 297 //エラーチェック 298 299 function lfErrorCheck($array) { 300 $objErr = new SC_CheckError($array); 301 302 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 303 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 304 $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 305 $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 306 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 307 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 308 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 309 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 310 $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 311 $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 312 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 313 $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK")); 314 $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK")); 315 $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK")); 316 $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK")); 317 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03", TEL_LEN) ,array("TEL_CHECK")); 318 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 319 $objErr->doFunc(array("ご職業", "job") ,array("NUM_CHECK")); 320 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); 321 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "ALNUM_CHECK", "NUM_RANGE_CHECK")); 322 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 323 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 324 return $objErr->arrErr; 325 326 } 327 328 //---- 入力エラーチェック 329 function lfErrorCheck1($array) { 330 331 global $objConn; 332 global $objCustomer; 333 $objErr = new SC_CheckError($array); 334 335 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 336 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 337 $objErr->doFunc(array("お名前(カナ/姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 338 $objErr->doFunc(array("お名前(カナ/名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 339 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK")); 340 341 //現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 342 $array["customer_id"] = $objCustomer->getValue('customer_id'); 343 if (strlen($array["email"]) > 0) { 344 $objQuery = new SC_Query(); 345 $arrRet = $objQuery->select("email, update_date, del_flg", "dtb_customer","customer_id <> ? and (email ILIKE ? OR email_mobile ILIKE ?) ORDER BY del_flg", array($array["customer_id"], $array["email"], $array["email"])); 346 347 if(count($arrRet) > 0) { 348 if($arrRet[0]['del_flg'] != '1') { 349 // 会員である場合 350 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 351 } else { 352 // 退会した会員である場合 353 $leave_time = sfDBDatetoTime($arrRet[0]['update_date']); 354 $now_time = time(); 355 $pass_time = $now_time - $leave_time; 356 // 退会から何時間-経過しているか判定する。 357 $limit_time = ENTRY_LIMIT_HOUR * 3600; 358 if($pass_time < $limit_time) { 359 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />"; 360 } 361 } 362 } 363 } 364 365 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 366 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 367 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 368 369 return $objErr->arrErr; 370 } 371 372 //---- 入力エラーチェック 373 function lfErrorCheck2($array) { 374 375 global $objConn, $objDate; 376 $objErr = new SC_CheckError($array); 377 378 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 379 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 380 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 381 382 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 383 $objErr->doFunc(array("生年月日 (年)", "year", 4), array("EXIST_CHECK", "SPTAB_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK")); 384 if (!isset($objErr->arrErr['year'])) { 385 $objErr->doFunc(array("生年月日 (年)", "year", $objDate->getStartYear()), array("MIN_CHECK")); 386 $objErr->doFunc(array("生年月日 (年)", "year", $objDate->getEndYear()), array("MAX_CHECK")); 387 } 388 $objErr->doFunc(array("生年月日 (月日)", "month", "day"), array("SELECT_CHECK")); 389 if (!isset($objErr->arrErr['year']) && !isset($objErr->arrErr['month']) && !isset($objErr->arrErr['day'])) { 390 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_DATE")); 391 } 392 393 return $objErr->arrErr; 394 } 395 396 //---- 入力エラーチェック 397 function lfErrorCheck3($array) { 398 399 global $objConn; 400 $objErr = new SC_CheckError($array); 401 402 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 403 $objErr->doFunc(array("市区町村", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 404 $objErr->doFunc(array("番地", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 405 $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" )); 406 $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" )); 407 $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" )); 408 $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03",TEL_ITEM_LEN) ,array("TEL_CHECK")); 409 410 return $objErr->arrErr; 411 } 412 413 //確認ページ用パスワード表示用 414 415 function lfPassLen($passlen){ 416 $ret = ""; 417 for ($i=0;$i<$passlen;true){ 418 $ret.="*"; 419 $i++; 420 } 421 return $ret; 422 } 423 424 425 // 郵便番号から住所の取得 426 function lfGetAddress($zipcode) { 427 global $arrPref; 428 429 $conn = new SC_DBconn(ZIP_DSN); 430 431 // 郵便番号検索文作成 432 $zipcode = mb_convert_kana($zipcode ,"n"); 433 $sqlse = "SELECT state, city, town FROM mtb_zip WHERE zipcode = ?"; 434 435 $data_list = $conn->getAll($sqlse, array($zipcode)); 436 437 // インデックスと値を反転させる。 438 $arrREV_PREF = array_flip($arrPref); 439 440 /* 441 総務省からダウンロードしたデータをそのままインポートすると 442 以下のような文字列が入っているので 対策する。 443 ・(1・19丁目) 444 ・以下に掲載がない場合 445 */ 446 $town = $data_list[0]['town']; 447 $town = ereg_replace("(.*)$","",$town); 448 $town = ereg_replace("以下に掲載がない場合","",$town); 449 $data_list[0]['town'] = $town; 450 $data_list[0]['state'] = $arrREV_PREF[$data_list[0]['state']]; 451 452 return $data_list; 453 } 454 455 //顧客情報の取得 456 function lfGetCustomerData(){ 457 global $objQuery; 458 global $objCustomer; 459 //顧客情報取得 460 $ret = $objQuery->select("*","dtb_customer","customer_id=?", array($objCustomer->getValue('customer_id'))); 461 $arrForm = $ret[0]; 462 $arrForm['email'] = $arrForm['email_mobile']; 463 464 //メルマガフラグ取得 465 $arrForm['mailmaga_flg'] = $objQuery->get("dtb_customer","mailmaga_flg","email=?", array($objCustomer->getValue('email_mobile'))); 466 467 //誕生日の年月日取得 468 if (isset($arrForm['birth'])){ 469 $birth = split(" ", $arrForm["birth"]); 470 list($year, $month, $day) = split("-",$birth[0]); 471 472 $arrForm['year'] = $year; 473 $arrForm['month'] = $month; 474 $arrForm['day'] = $day; 475 476 } 477 return $arrForm; 478 } 479 480 481 //----------------------------------------------------------------------------------------------------------------------------------- 19 $objPage = new LC_Page_Mypage_Change_Ex(); 20 $objPage->mobileInit(); 21 $objPage->mobileProcess(); 22 register_shutdown_function(array($objPage, "destroy")); 482 23 ?> -
branches/feature-module-update/html/mobile/mypage/change_complete.php
r15532 r16234 1 1 <?php 2 2 /** 3 * 3 * 4 4 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved. 5 5 * 6 6 * http://www.lockon.co.jp/ 7 *8 7 * 9 * 変更完了 8 * 9 * モバイルサイト/会員情報変更完了 10 10 */ 11 12 // {{{ requires 11 13 require_once("../require.php"); 14 require_once(CLASS_PATH . "page_extends/mypage/LC_Page_Mypage_ChangeComplete_Ex.php"); 12 15 13 class LC_Page{ 14 function LC_Page(){ 15 $this->tpl_mainpage = 'mypage/change_complete.tpl'; 16 $this->tpl_title = 'MYページ/会員登録内容変更(完了ページ)'; 17 } 18 } 16 // }}} 17 // {{{ generate page 19 18 20 $objPage = new LC_Page(); 21 $objView = new SC_MobileView(); 22 $objCustomer = new SC_Customer(); 23 24 // レイアウトデザインを取得 25 $objPage = sfGetPageLayout($objPage, false, "mypage/index.php"); 26 27 //セッション情報を最新の状態に更新する 28 $objCustomer->updateSession(); 29 30 //ログイン判定 31 if (!$objCustomer->isLoginSuccess(true)){ 32 sfDispSiteError(CUSTOMER_ERROR, "", false, "", true); 33 }else { 34 //マイページトップ顧客情報表示用 35 $objPage->CustomerName1 = $objCustomer->getvalue('name01'); 36 $objPage->CustomerName2 = $objCustomer->getvalue('name02'); 37 $objPage->CustomerPoint = $objCustomer->getvalue('point'); 38 } 39 40 41 $objView->assignobj($objPage); 42 $objView->display(SITE_FRAME); 43 19 $objPage = new LC_Page_Mypage_ChangeComplete_Ex(); 20 $objPage->mobileInit(); 21 $objPage->mobileProcess(); 22 register_shutdown_function(array($objPage, "destroy")); 44 23 ?>
Note: See TracChangeset
for help on using the changeset viewer.