- Timestamp:
- 2011/01/05 22:10:58 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/entry/LC_Page_Entry.php
r19805 r19830 171 171 $CONF = $objDb->sfGetBasisData(); 172 172 173 $ssl_url = rtrim(HTTPS_URL,"/"); 174 $ssl_url .= $_SERVER['PHP_SELF']; 175 176 // 規約ページからの遷移でなければエラー画面へ遷移する 177 if (empty($_POST) && !preg_match('/kiyaku.php/', basename($_SERVER['HTTP_REFERER']))) { 178 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 179 } 180 181 //---- 登録用カラム配列 173 // PC時は規約ページからの遷移でなければエラー画面へ遷移する 174 $this->lfCheckReferer(); 175 176 //---- 登録用カラム配列 182 177 $arrRegistColumn = array( 183 178 array( "column" => "name01", "convert" => "aKV" ), … … 217 212 218 213 if ($_SERVER["REQUEST_METHOD"] == "POST") { 219 214 215 //CSRF対策 220 216 if (!SC_Helper_Session_Ex::isValidToken()) { 221 217 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); … … 223 219 224 220 // 空白・改行の削除 225 $_POST["name01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["name01"]); 226 $_POST["name02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["name02"]); 227 $_POST["kana01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["kana01"]); 228 $_POST["kana02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["kana02"]); 229 $_POST["zip01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["zip01"]); 230 $_POST["zip02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["zip02"]); 231 $_POST["addr01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["addr01"]); 232 $_POST["addr02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["addr02"]); 233 $_POST["tel01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["tel01"]); 234 $_POST["tel02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["tel02"]); 235 $_POST["tel03"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["tel03"]); 236 $_POST["fax01"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["fax01"]); 237 $_POST["fax02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["fax02"]); 238 $_POST["fax03"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["fax03"]); 239 $_POST["email"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["email"]); 240 $_POST["email02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["email02"]); 241 $_POST["password"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["password"]); 242 $_POST["password02"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["password02"]); 243 $_POST["reminder_answer"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["reminder_answer"]); 221 foreach ($arrRegistColumn as $item){ 222 $_POST["${item["column"]}"] = preg_replace('/^[ \r\n]*(.*?)[ \r\n]*$/u', '$1', $_POST["${item["column"]}"]); 223 } 244 224 245 225 //-- POSTデータの引き継ぎ … … 247 227 248 228 // SSL用 249 $this->arrForm['ssl_url'] = $ssl_url; 250 229 $this->arrForm['ssl_url'] = rtrim(HTTPS_URL,"/").$_SERVER['PHP_SELF']; 230 231 // 251 232 $this->arrForm['email'] = strtolower($this->arrForm['email']); // emailはすべて小文字で処理 252 233 $this->arrForm['email02'] = strtolower($this->arrForm['email02']); // emailはすべて小文字で処理 … … 254 235 //-- 入力データの変換 255 236 $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn); 256 237 // mobile用 238 if (!empty($_POST["return"])) { 239 $_POST["mode"] = "return"; 240 } 241 242 257 243 //-- 入力エラーチェック 258 244 $this->arrErr = $this->lfErrorCheck($this->arrForm); 259 245 260 246 if ($this->arrErr || $_POST["mode"] == "return") { // 入力エラーのチェック 261 247 foreach($arrRegistColumn as $key) { 262 248 $this->$key['column'] = $this->arrForm[$key['column']]; 263 } 264 249 } 265 250 } else { 266 251 267 252 //-- 確認 268 253 if ($_POST["mode"] == "confirm") { 269 254 foreach($this->arrForm as $key => $val) { 270 if ($key != "mode" && $key != "subm" ) $this->list_data[ $key ] = $val;255 if ($key != "mode" && $key != "subm" && $key != "transactionid") $this->list_data[ $key ] = $val; 271 256 } 272 257 //パスワード表示 … … 329 314 $this->objDisplay->redirect($this->getLocation("./complete.php", array("ci" => $customer_id))); 330 315 exit; 316 331 317 } 332 318 } 333 319 } 334 335 320 $this->transactionid = SC_Helper_Session_Ex::getToken(); 336 }337 338 /**339 * モバイルページを初期化する.340 *341 * @return void342 */343 function mobileInit() {344 $this->init();345 $this->tpl_title .= '会員登録(1/3)'; // ページタイトル346 }347 348 /**349 * Page のプロセス(モバイル).350 *351 * @return void352 */353 function mobileProcess() {354 $this->mobileAction();355 $this->sendResponse();356 }357 358 /**359 * Page のアクション(モバイル).360 *361 * @return void362 */363 function mobileAction() {364 //---- ページ初期設定365 $objDb = new SC_Helper_DB_Ex();366 $objMobile = new SC_Helper_Mobile_Ex();367 $CONF = $objDb->sfGetBasisData(); // 店舗基本情報368 $objView = new SC_MobileView();369 $objCustomer = new SC_Customer();370 371 // 空メール372 if (isset($_SESSION['mobile']['kara_mail_from'])) {373 $_POST['email'] = $_SESSION['mobile']['kara_mail_from'];374 $this->tpl_kara_mail_from = $_POST['email'];375 } elseif (MOBILE_USE_KARA_MAIL) {376 $token = $objMobile->gfPrepareKaraMail('entry/' . DIR_INDEX_URL);377 if ($token !== false) {378 $this->tpl_mainpage = 'entry/mail.tpl';379 $this->tpl_title = '会員登録(空メール)';380 $this->tpl_kara_mail_to = MOBILE_KARA_MAIL_ADDRESS_USER . MOBILE_KARA_MAIL_ADDRESS_DELIMITER . 'entry_' . $token . '@' . MOBILE_KARA_MAIL_ADDRESS_DOMAIN;381 $this->tpl_from_address = $CONF['email03'];382 }383 }384 385 //---- 登録用カラム配列386 $arrRegistColumn = array(387 array( "column" => "name01", "convert" => "aKV" ),388 array( "column" => "name02", "convert" => "aKV" ),389 array( "column" => "kana01", "convert" => "CKV" ),390 array( "column" => "kana02", "convert" => "CKV" ),391 array( "column" => "zip01", "convert" => "n" ),392 array( "column" => "zip02", "convert" => "n" ),393 array( "column" => "pref", "convert" => "n" ),394 array( "column" => "addr01", "convert" => "aKV" ),395 array( "column" => "addr02", "convert" => "aKV" ),396 array( "column" => "email", "convert" => "a" ),397 array( "column" => "email02", "convert" => "a" ),398 array( "column" => "email_mobile", "convert" => "a" ),399 array( "column" => "email_mobile02", "convert" => "a" ),400 array( "column" => "tel01", "convert" => "n" ),401 array( "column" => "tel02", "convert" => "n" ),402 array( "column" => "tel03", "convert" => "n" ),403 array( "column" => "fax01", "convert" => "n" ),404 array( "column" => "fax02", "convert" => "n" ),405 array( "column" => "fax03", "convert" => "n" ),406 array( "column" => "sex", "convert" => "n" ),407 array( "column" => "job", "convert" => "n" ),408 array( "column" => "birth", "convert" => "n" ),409 array( "column" => "year", "convert" => "n" ),410 array( "column" => "month", "convert" => "n" ),411 array( "column" => "day", "convert" => "n" ),412 array( "column" => "reminder", "convert" => "n" ),413 array( "column" => "reminder_answer", "convert" => "aKV"),414 array( "column" => "password", "convert" => "a" ),415 array( "column" => "password02", "convert" => "a" ),416 array( "column" => "mailmaga_flg", "convert" => "n" ),417 );418 419 //---- 登録除外用カラム配列420 $arrRejectRegistColumn = array("year", "month", "day", "email02", "email_mobile02", "password02");421 422 if ($_SERVER["REQUEST_METHOD"] == "POST") {423 424 //-- POSTデータの引き継ぎ425 $this->arrForm = $_POST;426 $this->arrForm['email'] = strtolower($this->arrForm['email']); // emailはすべて小文字で処理427 428 //-- 入力データの変換429 $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn);430 431 // 戻るボタン用処理432 if (!empty($_POST["return"])) {433 switch ($_POST["mode"]) {434 case "complete":435 $_POST["mode"] = "set3";436 break;437 case "confirm":438 $_POST["mode"] = "set2";439 break;440 default:441 $_POST["mode"] = "set1";442 break;443 }444 }445 446 //-- 入力エラーチェック447 if ($_POST["mode"] == "set1") {448 $this->arrErr = $this->lfErrorCheck1($this->arrForm);449 $this->tpl_mainpage = 'entry/index.tpl';450 $this->tpl_title = '会員登録(1/3)';451 } elseif ($_POST["mode"] == "set2") {452 $this->arrErr = $this->lfErrorCheck2($this->arrForm);453 $this->tpl_mainpage = 'entry/set1.tpl';454 $this->tpl_title = '会員登録(2/3)';455 } else {456 $this->arrErr = $this->lfErrorCheck3($this->arrForm);457 $this->tpl_mainpage = 'entry/set2.tpl';458 $this->tpl_title = '会員登録(3/3)';459 }460 461 foreach($arrRegistColumn as $key) {462 $this->$key['column'] = $this->arrForm[$key['column']];463 }464 465 if ($this->arrErr || !empty($_POST["return"])) { // 入力エラーのチェック466 467 //-- データの設定468 if ($_POST["mode"] == "set1") {469 $checkVal = array("email", "password", "reminder", "reminder_answer", "name01", "name02", "kana01", "kana02");470 } elseif ($_POST["mode"] == "set2") {471 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02");472 } else {473 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mailmaga_flg");474 }475 476 foreach($this->arrForm as $key => $val) {477 if ($key != "mode" && $key != "submit" && $key != "return" && $key != session_name() && !in_array($key, $checkVal))478 $this->list_data[ $key ] = $val;479 }480 481 482 483 } else {484 485 //-- テンプレート設定486 if ($_POST["mode"] == "set1") {487 $this->tpl_mainpage = 'entry/set1.tpl';488 $this->tpl_title = '会員登録(2/3)';489 } elseif ($_POST["mode"] == "set2") {490 $this->tpl_mainpage = 'entry/set2.tpl';491 $this->tpl_title = '会員登録(3/3)';492 493 if (@$this->arrForm['pref'] == "" && @$this->arrForm['addr01'] == "" && @$this->arrForm['addr02'] == "") {494 $address = SC_Utils_Ex::sfGetAddress($_REQUEST['zip01'].$_REQUEST['zip02']);495 $this->pref = @$address[0]['state'];496 $this->addr01 = @$address[0]['city'] . @$address[0]['town'];497 }498 } elseif ($_POST["mode"] == "confirm") {499 // パスワード表示500 $passlen = strlen($this->arrForm['password']);501 $this->passlen = $this->lfPassLen($passlen);502 503 // メール受け取り504 if (!isset($this->arrForm['mailmaga_flg'])) $this->arrForm['mailmaga_flg'] = "";505 if (strtolower($this->arrForm['mailmaga_flg']) == "on") {506 $this->arrForm['mailmaga_flg'] = "2";507 } else {508 $this->arrForm['mailmaga_flg'] = "3";509 }510 511 $this->tpl_mainpage = 'entry/confirm.tpl';512 $this->tpl_title = '会員登録(確認ページ)';513 514 }515 516 //-- データ設定517 unset($this->list_data);518 if ($_POST["mode"] == "set1") {519 $checkVal = array("sex", "year", "month", "day", "zip01", "zip02");520 } elseif ($_POST["mode"] == "set2") {521 $checkVal = array("pref", "addr01", "addr02", "tel01", "tel02", "tel03", "mailmaga_flg");522 } else {523 $checkVal = array();524 }525 526 foreach($this->arrForm as $key => $val) {527 if ($key != "mode" && $key != "submit" && $key != "confirm" && $key != "return" && $key != session_name() && !in_array($key, $checkVal)) {528 $this->list_data[ $key ] = $val;529 }530 }531 532 533 //-- 仮登録と完了画面534 if ($_POST["mode"] == "complete") {535 536 // 確認画面で再度エラーチェックを行う。(画面1)537 $arrErr = $this->lfErrorCheck1($this->arrForm);538 if(count($arrErr) > 0){539 $this->tpl_mainpage = 'entry/index.tpl';540 $this->tpl_title = '会員登録(1/3)';541 $this->arrErr = $arrErr;542 //---- ページ表示543 $objView->assignobj($this);544 $objView->display(SITE_FRAME);545 exit();546 }547 548 // 確認画面で再度エラーチェックを行う。(画面2)549 $arrErr = $this->lfErrorCheck2($this->arrForm);550 if(count($arrErr) > 0){551 $this->tpl_mainpage = 'entry/set1.tpl';552 $this->tpl_title = '会員登録(2/3)';553 $this->arrErr = $arrErr;554 //---- ページ表示555 $objView->assignobj($this);556 $objView->display(SITE_FRAME);557 exit();558 }559 560 // 確認画面で再度エラーチェックを行う。(画面3)561 $arrErr = $this->lfErrorCheck3($this->arrForm);562 if(count($arrErr) > 0){563 $this->tpl_mainpage = 'entry/set2.tpl';564 $this->tpl_title = '会員登録(3/3)';565 $this->arrErr = $arrErr;566 //---- ページ表示567 $objView->assignobj($this);568 $objView->display(SITE_FRAME);569 exit();570 }571 572 $this->CONF = $CONF;573 $this->uniqid = $this->lfRegistData ($this->arrForm, $arrRegistColumn, $arrRejectRegistColumn, CUSTOMER_CONFIRM_MAIL, true, $this->arrForm["email"]);574 575 // 空メールを受信済みの場合はすぐに本登録完了にする。576 if (isset($_SESSION['mobile']['kara_mail_from'])) {577 $param = array("mode" => "regist",578 "id" => $this->uniqid,579 session_name() => session_id());580 $this->objDisplay->redirect($this->getLocation(MOBILE_URL_PATH . "regist/" . DIR_INDEX_URL, $param));581 exit;582 }583 584 $this->tpl_mainpage = 'entry/complete.tpl';585 $this->tpl_title = '会員登録(完了ページ)';586 587 $objMobile->sfMobileSetExtSessionId('id', $this->uniqid, 'regist/' . DIR_INDEX_URL);588 589 // 仮登録完了メール送信590 $this->to_name01 = $_POST['name01'];591 $this->to_name02 = $_POST['name02'];592 $objMailText = new SC_MobileView();593 $objMailText->assignobj($this);594 $objHelperMail = new SC_Helper_Mail_Ex();595 $objQuery = new SC_Query();596 597 // 仮会員が有効の場合598 if(CUSTOMER_CONFIRM_MAIL == true) {599 // Moba8パラメーターを保持する場合はカラム追加600 if (isset($_SESSION['a8'])) $this->etc_value = "&a8=". $_SESSION['a8'];601 $subject = $objHelperMail->sfMakeSubject('会員登録のご確認');602 $toCustomerMail = $objMailText->fetch("mail_templates/customer_mail.tpl");603 } else {604 $subject = $objHelperMail->sfMakeSubject('会員登録のご完了');605 $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");606 // ログイン状態にする607 $objCustomer->setLogin($_POST["email"]);608 }609 610 $objMail = new SC_SendMail();611 $objMail->setItem(612 '' // 宛先613 , $subject // サブジェクト614 , $toCustomerMail // 本文615 , $CONF["email03"] // 配送元アドレス616 , $CONF["shop_name"] // 配送元 名前617 , $CONF["email03"] // reply_to618 , $CONF["email04"] // return_path619 , $CONF["email04"] // Errors_to620 , $CONF["email01"] // Bcc621 );622 // 宛先の設定623 $name = $_POST["name01"] . $_POST["name02"] ." 様";624 $objMail->setTo($_POST["email"], $name);625 $objMail->sendMail();626 627 // 完了ページに移動させる。628 $this->objDisplay->redirect($this->getLocation("./complete.php"));629 exit;630 }631 }632 }633 321 } 634 322 … … 697 385 /* 698 386 secret_keyは、テーブルで重複許可されていない場合があるので、 699 本会員登録では利用されないがセットしておく。387 本会員登録では利用されないがセットしておく。 700 388 */ 701 389 $arrRegist["secret_key"] = $uniqid; // 会員登録キー … … 718 406 $arrRegist['customer_id'] = $objQuery->nextVal('dtb_customer_customer_id'); 719 407 $objQuery->insert("dtb_customer", $arrRegist); 720 721 722 /* メルマガ会員機能は現在停止中 2007/03/07 723 724 725 //-- 非会員でメルマガ登録しているかの判定 726 $sql = "SELECT count(*) FROM dtb_customer_mail WHERE email = ?"; 727 $mailResult = $objConn->getOne($sql, array($arrRegist["email"])); 728 729 //-- メルマガ仮登録実行 730 $arrRegistMail["email"] = $arrRegist["email"]; 731 if ($array["mailmaga_flg"] == 1) { 732 $arrRegistMail["mailmaga_flg"] = 4; 733 } elseif ($array["mailmaga_flg"] == 2) { 734 $arrRegistMail["mailmaga_flg"] = 5; 735 } else { 736 $arrRegistMail["mailmaga_flg"] = 6; 737 } 738 $arrRegistMail["update_date"] = "now()"; 739 740 // 非会員でメルマガ登録している場合 741 if ($mailResult == 1) { 742 $objQuery->update("dtb_customer_mail", $arrRegistMail, "email = '" .addslashes($arrRegistMail["email"]). "'"); 743 } else { // 新規登録の場合 744 $arrRegistMail["create_date"] = "now()"; 745 $objQuery->insert("dtb_customer_mail", $arrRegistMail); 746 } 747 */ 408 748 409 $objQuery->commit(); 749 410 … … 784 445 $objErr->doFunc(array("お名前(フリガナ・姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 785 446 $objErr->doFunc(array("お名前(フリガナ・名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 447 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 448 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 449 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 786 450 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 787 451 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); … … 790 454 $objErr->doFunc(array("住所1", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 791 455 $objErr->doFunc(array("住所2", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 792 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 793 $objErr->doFunc(array('メールアドレス(確認)', "email02", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 794 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 456 $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" )); 457 $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" )); 458 $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" )); 459 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03") ,array("TEL_CHECK")); 460 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 461 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY")); 462 463 if (Net_UserAgent_Mobile::isMobile() === false){ 464 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 465 $objErr->doFunc(array("FAX番号1", 'fax01'), array("SPTAB_CHECK")); 466 $objErr->doFunc(array("FAX番号2", 'fax02'), array("SPTAB_CHECK")); 467 $objErr->doFunc(array("FAX番号3", 'fax03'), array("SPTAB_CHECK")); 468 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK")); 469 $objErr->doFunc(array("メールマガジン", "mailmaga_flg") ,array("SELECT_CHECK", "NUM_CHECK")); 470 $objErr->doFunc(array("メールマガジン", 'mailmaga_flg'), array("SELECT_CHECK")); 471 $objErr->doFunc(array("パスワード(確認)", 'password02', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 472 $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK")); 473 $objErr->doFunc(array('メールアドレス(確認)', "email02", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK")); 474 $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 475 } 795 476 796 477 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 … … 819 500 } 820 501 } 821 822 $objErr->doFunc(array("お電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" ));823 $objErr->doFunc(array("お電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" ));824 $objErr->doFunc(array("お電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" ));825 $objErr->doFunc(array("お電話番号", "tel01", "tel02", "tel03") ,array("TEL_CHECK"));826 $objErr->doFunc(array("FAX番号1", 'fax01'), array("SPTAB_CHECK"));827 $objErr->doFunc(array("FAX番号2", 'fax02'), array("SPTAB_CHECK"));828 $objErr->doFunc(array("FAX番号3", 'fax03'), array("SPTAB_CHECK"));829 $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK"));830 $objErr->doFunc(array("ご性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK"));831 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK"));832 $objErr->doFunc(array("パスワード(確認)", 'password02', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK"));833 $objErr->doFunc(array('パスワード', 'パスワード(確認)', "password", "password02") ,array("EQUAL_CHECK"));834 $objErr->doFunc(array("パスワードを忘れたときのヒント 質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK"));835 $objErr->doFunc(array("パスワードを忘れたときのヒント 答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK"));836 $objErr->doFunc(array("メールマガジン", "mailmaga_flg") ,array("SELECT_CHECK", "NUM_CHECK"));837 838 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY"));839 $objErr->doFunc(array("メールマガジン", 'mailmaga_flg'), array("SELECT_CHECK"));840 502 return $objErr->arrErr; 841 503 } … … 851 513 return $ret; 852 514 } 853 854 // }}} 855 // {{{ mobile functions 856 857 //---- 入力エラーチェック 858 function lfErrorCheck1($array) { 859 860 $objErr = new SC_CheckError($array); 861 $objDb = new SC_Helper_DB_Ex(); 862 863 $objErr->doFunc(array("お名前(姓)", 'name01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 864 $objErr->doFunc(array("お名前(名)", 'name02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 865 $objErr->doFunc(array("お名前(フリガナ・姓)", 'kana01', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 866 $objErr->doFunc(array("お名前(フリガナ・名)", 'kana02', STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 867 $objErr->doFunc(array('メールアドレス', "email", MTEXT_LEN) ,array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK", "MOBILE_EMAIL_CHECK")); 868 869 // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 870 if (strlen($array["email"]) > 0) { 871 $array['email'] = strtolower($array['email']); 872 $objQuery = new SC_Query(); 873 $arrRet = $objQuery->select("email, update_date, del_flg", "dtb_customer","email = ? OR email_mobile = ? ORDER BY del_flg", array($array["email"], $array["email"])); 874 875 if(count($arrRet) > 0) { 876 if($arrRet[0]['del_flg'] != '1') { 877 // 会員である場合 878 $objErr->arrErr["email"] .= "※ すでに会員登録で使用されているメールアドレスです。<br />"; 879 } else { 880 // 退会した会員である場合 881 $leave_time = SC_Utils_Ex::sfDBDatetoTime($arrRet[0]['update_date']); 882 $now_time = time(); 883 $pass_time = $now_time - $leave_time; 884 // 退会から何時間-経過しているか判定する。 885 $limit_time = ENTRY_LIMIT_HOUR * 3600; 886 if($pass_time < $limit_time) { 887 $objErr->arrErr["email"] .= "※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br />"; 888 } 889 } 890 } 891 } 892 893 $objErr->doFunc(array("パスワード", 'password', PASSWORD_LEN1, PASSWORD_LEN2), array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK", "NUM_RANGE_CHECK")); 894 $objErr->doFunc(array("パスワード確認用の質問", "reminder") ,array("SELECT_CHECK", "NUM_CHECK")); 895 $objErr->doFunc(array("パスワード確認用の質問の答え", "reminder_answer", STEXT_LEN) ,array("EXIST_CHECK","SPTAB_CHECK" , "MAX_LENGTH_CHECK")); 896 897 return $objErr->arrErr; 898 } 899 900 //---- 入力エラーチェック 901 function lfErrorCheck2($array) { 902 $objErr = new SC_CheckError($array); 903 904 $objErr->doFunc(array("郵便番号1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 905 $objErr->doFunc(array("郵便番号2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "SPTAB_CHECK" ,"NUM_CHECK", "NUM_COUNT_CHECK")); 906 $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK")); 907 908 $objErr->doFunc(array("性別", "sex") ,array("SELECT_CHECK", "NUM_CHECK")); 909 $objErr->doFunc(array("生年月日", "year", "month", "day"), array("CHECK_BIRTHDAY")); 910 911 return $objErr->arrErr; 912 } 913 914 //---- 入力エラーチェック 915 function lfErrorCheck3($array) { 916 $objErr = new SC_CheckError($array); 917 918 $objErr->doFunc(array("都道府県", 'pref'), array("SELECT_CHECK","NUM_CHECK")); 919 $objErr->doFunc(array('住所1', "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 920 $objErr->doFunc(array('住所2', "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 921 $objErr->doFunc(array("電話番号1", 'tel01'), array("EXIST_CHECK","SPTAB_CHECK" )); 922 $objErr->doFunc(array("電話番号2", 'tel02'), array("EXIST_CHECK","SPTAB_CHECK" )); 923 $objErr->doFunc(array("電話番号3", 'tel03'), array("EXIST_CHECK","SPTAB_CHECK" )); 924 $objErr->doFunc(array("電話番号", "tel01", "tel02", "tel03") ,array("TEL_CHECK")); 925 926 return $objErr->arrErr; 515 516 function lfCheckReferer(){ 517 /** 518 * 規約ページからの遷移でなければエラー画面へ遷移する 519 */ 520 if (Net_UserAgent_Mobile::isMobile() === FALSE 521 && empty($_POST) 522 && !preg_match('/kiyaku.php/', basename($_SERVER['HTTP_REFERER'])) 523 ) { 524 SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true); 525 } 927 526 } 928 527
Note: See TracChangeset
for help on using the changeset viewer.
