source: branches/comu/html/regist/index.php @ 12197

Revision 12197, 5.7 KB checked in by adati, 17 years ago (diff)

1.3.0正式版のマージ

Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8require_once("../require.php");
9
10//---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹
11class LC_Page {
12   
13    var $arrSession;
14    var $tpl_mainpage;
15    var $arrPref;
16
17    function LC_Page() {
18        $this->tpl_css = URL_DIR.'css/layout/regist/index.css'; // ¥á¥¤¥óCSS¥Ñ¥¹
19    }
20}
21
22$objConn = new SC_DBConn();
23$objQuery = new SC_Query();
24$objPage = new LC_Page();
25$objView = new SC_SiteView();
26$objSiteInfo = $objView->objSiteInfo;
27$objCustomer = new SC_Customer();
28$CONF = sf_getBasisData();
29$arrInfo = $objSiteInfo->data;
30
31// ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÅÐÏ¿¤Î¾ì¹ç¤Î½èÍý
32if($_GET["cp"] != "") {
33    $etc_val = "?cp=" . $_GET['cp'];
34}
35
36//--¡¡ËÜÅÐÏ¿´°Î»¤Î¤¿¤á¤Ë¥á¡¼¥ë¤«¤éÀܳ¤·¤¿¾ì¹ç
37if ($_GET["mode"] == "regist") {
38   
39    //-- ÆþÎÏ¥Á¥§¥Ã¥¯
40    $objPage->arrErr = lfErrorCheck($_GET);
41    if ($objPage->arrErr) {
42        $objPage->tpl_mainpage = 'regist/error.tpl';
43        $objPage->tpl_css = "/css/layout/regist/error.css";
44        $objPage->tpl_title = '¥¨¥é¡¼';
45
46    } else {
47        //$objPage->tpl_mainpage = 'regist/complete.tpl';
48        //$objPage->tpl_title = ' ²ñ°÷ÅÐÏ¿(´°Î»¥Ú¡¼¥¸)';
49        $registSecretKey = lfRegistData($_GET);         //Ëܲñ°÷ÅÐÏ¿¡Ê¥Õ¥é¥°Êѹ¹¡Ë
50        lfSendRegistMail($registSecretKey);             //Ëܲñ°÷ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿®
51
52        // ¥í¥°¥¤¥óºÑ¤ß¤Î¾õÂ֤ˤ¹¤ë¡£
53        $email = $objQuery->get("dtb_customer", "email", "secret_key = ?", array($registSecretKey));
54        $objCustomer->setLogin($email);
55        header("Location: " . sfGetCurrentUri() . "/complete.php$etc_val");
56        exit;
57    }
58
59//--¡¡¤½¤ì°Ê³°¤Î¥¢¥¯¥»¥¹¤Ï̵¸ú¤È¤¹¤ë
60} else {
61    $objPage->arrErr["id"] = "̵¸ú¤Ê¥¢¥¯¥»¥¹¤Ç¤¹¡£";
62    $objPage->tpl_mainpage = 'regist/error.tpl';
63    $objPage->tpl_css = "/css/layout/regist/error.css";
64    $objPage->tpl_title = '¥¨¥é¡¼';
65
66}
67
68//----¡¡¥Ú¡¼¥¸É½¼¨
69$objView->assignobj($objPage);
70$objView->display(SITE_FRAME);
71
72//---- ÅÐÏ¿
73function lfRegistData($array) {
74    global $objQuery;
75    global $objConn;
76    global $arrInfo;
77   
78    do {
79        $secret = sfGetUniqRandomId("r");
80    } while( ($result = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($secret)) ) != 0);
81
82    $sql = "SELECT email FROM dtb_customer WHERE secret_key = ? AND status = 1";
83    $email = $objConn->getOne($sql, array($array["id"]));
84
85    $objConn->query("BEGIN");
86    $arrRegist["secret_key"] = $secret; //¡¡ËÜÅÐÏ¿IDȯ¹Ô
87    $arrRegist["status"] = 2;
88    $arrRegist["update_date"] = "NOW()";
89   
90    $objQuery = new SC_Query();
91    $where = "secret_key = ? AND status = 1";
92   
93    $arrRet = $objQuery->select("point", "dtb_customer", $where, array($array["id"]));
94    // ²ñ°÷ÅÐÏ¿»þ¤Î²Ã»»¥Ý¥¤¥ó¥È(¹ØÆþ»þ²ñ°÷ÅÐÏ¿¤Î¾ì¹ç¤Ï¡¢¥Ý¥¤¥ó¥È²Ã»»¡Ë
95    $arrRegist['point'] = $arrRet[0]['point'] + addslashes($arrInfo['welcome_point']);
96   
97    $objQuery->update("dtb_customer", $arrRegist, $where, array($array["id"]));
98
99    /* ¹ØÆþ»þ¤Î¼«Æ°²ñ°÷ÅÐÏ¿¤Ï¹Ô¤ï¤Ê¤¤¤¿¤áDEL
100    // ¹ØÆþ»þÅÐÏ¿¤Î¾ì¹ç¡¢¤½¤Î²ó¤Î¹ØÆþ¤ò²ñ°÷¹ØÆþ¤È¤ß¤Ê¤¹¡£
101    // ²ñ°÷¾ðÊó¤ÎÆɤ߹þ¤ß
102    $where1 = "secret_key = ? AND status = 2";
103    $customer = $objQuery->select("*", "dtb_customer", $where1, array($secret));
104    // ½é²ó¹ØÆþ¾ðÊó¤ÎÆɤ߹þ¤ß
105    $order_temp_id = $objQuery->get("dtb_order_temp", "order_temp_id");
106    // ¹ØÆþ¾ðÊó¤Î¹¹¿·
107    if ($order_temp_id != null) {
108        $arrCustomer['customer_id'] = $customer[0]['customer_id'];
109        $where3 = "order_temp_id = ?";
110        $objQuery->update("dtb_order_temp", $arrCustomer, $where3, array($order_temp_id));
111        $objQuery->update("dtb_order", $arrCustomer, $where3, array($order_temp_id));
112    }
113    */
114
115    $sql = "SELECT mailmaga_flg FROM dtb_customer WHERE email = ?";
116    $result = $objConn->getOne($sql, array($email));
117   
118    switch($result) {
119    // ²¾HTML
120    case '4':
121        $arrRegistMail["mailmaga_flg"] = 1;
122        break;
123    // ²¾TEXT
124    case '5':
125        $arrRegistMail["mailmaga_flg"] = 2;
126        break;
127    // ²¾¤Ê¤·
128    case '6':
129        $arrRegistMail["mailmaga_flg"] = 3;
130        break;
131    default:
132        $arrRegistMail["mailmaga_flg"] = $result;
133        break;
134    }
135
136    $objQuery->update("dtb_customer", $arrRegistMail, "email = '" .addslashes($email). "' AND del_flg = 0");
137    $objConn->query("COMMIT");
138       
139    return $secret;     // ËÜÅÐÏ¿ID¤òÊÖ¤¹
140}
141
142//---- ÆþÎÏ¥¨¥é¡¼¥Á¥§¥Ã¥¯
143function lfErrorCheck($array) {
144
145    global $objConn;
146    $objErr = new SC_CheckError($array);
147
148    $objErr->doFunc(array("²¾ÅÐÏ¿ID", 'id'), array("EXIST_CHECK"));
149    if (! EregI("^[[:alnum:]]+$",$array["id"] )) {
150        $objErr->arrErr["id"] = "̵¸ú¤ÊURL¤Ç¤¹¡£¥á¡¼¥ë¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ëËܲñ°÷ÅÐÏ¿ÍÑURL¤òºÆÅÙ¤´³Îǧ¤¯¤À¤µ¤¤¡£";
151    }
152    if (! $objErr->arrErr["id"]) {
153
154        $sql = "SELECT customer_id FROM dtb_customer WHERE secret_key = ? AND status = 1 AND del_flg = 0";
155        $result = $objConn->getOne($sql, array($array["id"]));
156
157        if (! is_numeric($result)) {
158            $objErr->arrErr["id"] .= "¢¨ ´û¤Ë²ñ°÷ÅÐÏ¿¤¬´°Î»¤·¤Æ¤¤¤ë¤«¡¢Ìµ¸ú¤ÊURL¤Ç¤¹¡£<br>";
159            return $objErr->arrErr;
160
161        }
162    }
163
164    return $objErr->arrErr;
165}
166
167//---- Àµ²ñ°÷ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿®
168function lfSendRegistMail($registSecretKey) {
169    global $objConn;
170    global $CONF;
171
172    //-- À«Ì¾¤ò¼èÆÀ
173    $sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?";
174    $result = $objConn->getAll($sql, array($registSecretKey));
175    $data = $result[0];
176   
177    //--¡¡¥á¡¼¥ëÁ÷¿®
178    $objMailText = new SC_SiteView();
179    $objMailText->assign("CONF", $CONF);
180    $objMailText->assign("name01", $data["name01"]);
181    $objMailText->assign("name02", $data["name02"]);
182    $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl");
183    $subject = sfMakeSubject('²ñ°÷ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');
184    $objMail = new GC_SendMail();
185
186    $objMail->setItem(
187                          ''                                //¡¡°¸Àè
188                        , $subject//"¡Ú" .$CONF["shop_name"]. "¡Û".ENTRY_CUSTOMER_REGIST_SUBJECT        //¡¡¥µ¥Ö¥¸¥§¥¯¥È
189                        , $toCustomerMail                   //¡¡ËÜʸ
190                        , $CONF["email03"]                  //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹
191                        , $CONF["shop_name"]                //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á°
192                        , $CONF["email03"]                  //¡¡reply_to
193                        , $CONF["email04"]                  //¡¡return_path
194                        , $CONF["email04"]                  //  Errors_to
195                    );
196    // °¸Àè¤ÎÀßÄê
197    $name = $data["name01"] . $data["name02"] ." ÍÍ";
198    $objMail->setTo($data["email"], $name);
199    $objMail->sendMail();
200}
201
202?>
Note: See TracBrowser for help on using the repository browser.