1 | <?php
|
---|
2 | /**
|
---|
3 | *
|
---|
4 | * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
|
---|
5 | *
|
---|
6 | * http://www.lockon.co.jp/
|
---|
7 | *
|
---|
8 | * モバイルサイト/携帯メール登録
|
---|
9 | */
|
---|
10 |
|
---|
11 | require_once('../require.php');
|
---|
12 |
|
---|
13 | class LC_Page {
|
---|
14 | function LC_Page() {
|
---|
15 | $this->tpl_mainpage = 'entry/email_mobile.tpl';
|
---|
16 | $this->tpl_title = '携帯メール登録';
|
---|
17 | /*
|
---|
18 | session_start時のno-cacheヘッダーを抑制することで
|
---|
19 | 「戻る」ボタン使用時の有効期限切れ表示を抑制する。
|
---|
20 | private-no-expire:クライアントのキャッシュを許可する。
|
---|
21 | */
|
---|
22 | session_cache_limiter('private-no-expire');
|
---|
23 | }
|
---|
24 | }
|
---|
25 |
|
---|
26 | $objPage = new LC_Page;
|
---|
27 | $objView = new SC_MobileView;
|
---|
28 | $objCustomer = new SC_Customer;
|
---|
29 | $objFormParam = new SC_FormParam;
|
---|
30 |
|
---|
31 | if (isset($_SESSION['mobile']['kara_mail_from'])) {
|
---|
32 | $_SERVER['REQUEST_METHOD'] = 'POST';
|
---|
33 | $_POST['email_mobile'] = $_SESSION['mobile']['kara_mail_from'];
|
---|
34 | }
|
---|
35 |
|
---|
36 | lfInitParam($objFormParam);
|
---|
37 |
|
---|
38 | if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
---|
39 | $objFormParam->setParam($_POST);
|
---|
40 | $objFormParam->convParam();
|
---|
41 | $objPage->arrErr = lfCheckError($objFormParam, $objCustomer);
|
---|
42 |
|
---|
43 | if (empty($objPage->arrErr)) {
|
---|
44 | lfRegister($objFormParam, $objCustomer);
|
---|
45 | $objPage->tpl_mainpage = 'entry/email_mobile_complete.tpl';
|
---|
46 | $objPage->tpl_title = '携帯メール登録完了';
|
---|
47 | }
|
---|
48 | }
|
---|
49 |
|
---|
50 | // 空メール用のトークンを作成する。
|
---|
51 | if (MOBILE_USE_KARA_MAIL) {
|
---|
52 | $token = gfPrepareKaraMail('entry/email_mobile.php');
|
---|
53 | if ($token !== false) {
|
---|
54 | $objPage->tpl_kara_mail_to = MOBILE_KARA_MAIL_ADDRESS_USER . MOBILE_KARA_MAIL_ADDRESS_DELIMITER . 'entry_' . $token . '@' . MOBILE_KARA_MAIL_ADDRESS_DOMAIN;
|
---|
55 | }
|
---|
56 | }
|
---|
57 |
|
---|
58 | $objPage->tpl_name = $objCustomer->getValue('name01');
|
---|
59 | $objPage->arrForm = $objFormParam->getFormParamList();
|
---|
60 |
|
---|
61 | $objView->assignobj($objPage);
|
---|
62 | $objView->display(SITE_FRAME);
|
---|
63 |
|
---|
64 | //-----------------------------------------------------------------------------------------------------------------------------------
|
---|
65 |
|
---|
66 | function lfInitParam(&$objFormParam) {
|
---|
67 | $objFormParam->addParam('メールアドレス', 'email_mobile', MTEXT_LEN, 'a',
|
---|
68 | array('NO_SPTAB', 'EXIST_CHECK', 'MAX_LENGTH_CHECK', 'CHANGE_LOWER', 'EMAIL_CHAR_CHECK', 'MOBILE_EMAIL_CHECK'));
|
---|
69 | }
|
---|
70 |
|
---|
71 | function lfCheckError(&$objFormParam, &$objCustomer) {
|
---|
72 | $arrRet = $objFormParam->getHashArray();
|
---|
73 | $objErr = new SC_CheckError($arrRet);
|
---|
74 | $objErr->arrErr = $objFormParam->checkError();
|
---|
75 |
|
---|
76 | if (count($objErr->arrErr) > 0) {
|
---|
77 | return $objErr->arrErr;
|
---|
78 | }
|
---|
79 |
|
---|
80 | $email_mobile = $objFormParam->getValue('email_mobile');
|
---|
81 | $customer_id = $objCustomer->getValue('customer_id');
|
---|
82 | $objQuery = new SC_Query();
|
---|
83 | $arrRet = $objQuery->select('email, email_mobile, update_date, del_flg', 'dtb_customer', '(email ILIKE ? OR email_mobile ILIKE ?) AND customer_id <> ? ORDER BY del_flg', array($email_mobile, $email_mobile, $customer_id));
|
---|
84 |
|
---|
85 | if (count($arrRet) > 0) {
|
---|
86 | if ($arrRet[0]['del_flg'] != '1') {
|
---|
87 | // 会員である場合
|
---|
88 | $objErr->arrErr['email_mobile'] .= '※ すでに登録されているメールアドレスです。<br>';
|
---|
89 | } else {
|
---|
90 | // 退会した会員である場合
|
---|
91 | $leave_time = sfDBDatetoTime($arrRet[0]['update_date']);
|
---|
92 | $now_time = time();
|
---|
93 | $pass_time = $now_time - $leave_time;
|
---|
94 | // 退会から何時間-経過しているか判定する。
|
---|
95 | $limit_time = ENTRY_LIMIT_HOUR * 3600;
|
---|
96 | if ($pass_time < $limit_time) {
|
---|
97 | $objErr->arrErr['email_mobile'] .= '※ 退会から一定期間の間は、同じメールアドレスを使用することはできません。<br>';
|
---|
98 | }
|
---|
99 | }
|
---|
100 | }
|
---|
101 |
|
---|
102 | return $objErr->arrErr;
|
---|
103 | }
|
---|
104 |
|
---|
105 | function lfRegister(&$objFormParam, &$objCustomer)
|
---|
106 | {
|
---|
107 | $customer_id = $objCustomer->getValue('customer_id');
|
---|
108 | $email_mobile = $objFormParam->getValue('email_mobile');
|
---|
109 |
|
---|
110 | $objQuery = new SC_Query();
|
---|
111 | $objQuery->update('dtb_customer', array('email_mobile' => $email_mobile), 'customer_id = ?', array($customer_id));
|
---|
112 |
|
---|
113 | $objCustomer->setValue('email_mobile', $email_mobile);
|
---|
114 | }
|
---|
115 | ?>
|
---|