source: temp/branches/ec-cube-beta/html/regist/index.php @ 11287

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