source: temp/branches/mobile/html/shopping/deliv.php @ 10399

Revision 10399, 10.7 KB checked in by uehara, 20 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
10class LC_Page {
11    var $arrSession;
12    var $tpl_mode;
13    var $arrAddr;
14    function LC_Page() {
15        $this->tpl_mainpage = 'shopping/deliv.tpl';
16        $this->tpl_css = URL_DIR.'css/layout/shopping/index.css';
17        global $arrPref;
18        $this->arrPref = $arrPref;
19        $this->tpl_title = "¤ªÆÏ¤±Àè»ØÄê";      // ¥¿¥¤¥È¥ë
20
21        /*
22         session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç
23         ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤ÎÍ­¸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£
24         private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£
25        */
26        session_cache_limiter('private-no-expire');     
27
28    }
29}
30
31$objPage = new LC_Page();
32$objView = new SC_SiteView();
33$objSiteSess = new SC_SiteSession();
34$objCartSess = new SC_CartSession();
35$objCustomer = new SC_Customer();
36// ¥¯¥Ã¥­¡¼´ÉÍý¥¯¥é¥¹
37$objCookie = new SC_Cookie(COOKIE_EXPIRE);
38// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
39$objFormParam = new SC_FormParam();
40// ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½
41lfInitParam();
42// POSTÃͤμèÆÀ
43$objFormParam->setParam($_POST);
44
45$objLoginFormParam = new SC_FormParam();    // ¥í¥°¥¤¥ó¥Õ¥©¡¼¥àÍÑ
46lfInitLoginFormParam();                     // ½é´üÀßÄê
47$objLoginFormParam->setParam($_POST);       // POSTÃͤμèÆÀ
48
49// ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ­¤ò¥Á¥§¥Ã¥¯
50$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess);
51$objPage->tpl_uniqid = $uniqid;
52
53// ¥í¥°¥¤¥ó¥Á¥§¥Ã¥¯
54if($_POST['mode'] != 'login' && !$objCustomer->isLoginSuccess()) {
55    // ÉÔÀµ¥¢¥¯¥»¥¹¤È¤ß¤Ê¤¹
56    sfDispSiteError(CUSTOMER_ERROR);
57}
58
59switch($_POST['mode']) {
60case 'login':
61    $objLoginFormParam->toLower('login_email');
62    $objPage->arrErr = $objLoginFormParam->checkError();
63    $arrForm =  $objLoginFormParam->getHashArray();
64    // ¥¯¥Ã¥­¡¼ÊݸȽÄê
65    if($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") {
66        $objCookie->setCookie('login_email', $_POST['login_email']);
67    } else {
68        $objCookie->setCookie('login_email', '');
69    }
70
71    if(count($objPage->arrErr) == 0) {
72        // ¥í¥°¥¤¥óȽÄê
73        if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) {
74            // ²¾ÅÐÏ¿¤ÎȽÄê
75            $objQuery = new SC_Query;
76            $where = "email = ? AND status = 1 AND del_flg = 0";
77            $ret = $objQuery->count("dtb_customer", $where, array($arrForm['login_email']));
78           
79            if($ret > 0) {
80                sfDispSiteError(TEMP_LOGIN_ERROR);
81            } else {
82                sfDispSiteError(SITE_LOGIN_ERROR);
83            }
84        }
85    } else {
86        // ¥í¥°¥¤¥ó¥Ú¡¼¥¸¤ËÌá¤ë
87        header("Location: " . URL_SHOP_TOP);
88        exit;   
89    }
90    break;
91// ºï½ü
92case 'delete':
93    if (sfIsInt($_POST['other_deliv_id'])) {
94        $objQuery = new SC_Query();
95        $where = "other_deliv_id = ?";
96        $arrRet = $objQuery->delete("dtb_other_deliv", $where, array($_POST['other_deliv_id']));
97        $objFormParam->setValue('select_addr_id', '');
98    }
99    break;
100// ²ñ°÷ÅÐÏ¿½»½ê¤ËÁ÷¤ë
101case 'customer_addr':
102    // ¤ªÆÏ¤±À褬¥Á¥§¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¹¹¿·½èÍý¤ò¹Ô¤¦
103    if ($_POST['deli'] != "") {
104        // ²ñ°÷¾ðÊó¤Î½»½ê¤ò¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤à
105        lfRegistDelivData($uniqid, $objCustomer);
106        // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯
107        $objSiteSess->setRegistFlag();
108        // ¤ª»Ùʧ¤¤ÊýË¡ÁªÂò¥Ú¡¼¥¸¤Ø°Üư
109        header("Location: " . URL_SHOP_PAYMENT);
110        exit;
111    }else{
112        // ¥¨¥é¡¼¤òÊÖ¤¹
113        $arrErr['deli'] = '¢¨ ¤ªÆÏ¤±Àè¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£';
114    }
115    break;
116   
117// ÅÐÏ¿ºÑ¤ß¤ÎÊ̤ΤªÆÏ¤±Àè¤ËÁ÷¤ë
118case 'other_addr':
119    // ¤ªÆÏ¤±À褬¥Á¥§¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¹¹¿·½èÍý¤ò¹Ô¤¦
120    if ($_POST['deli'] != "") {
121        if (sfIsInt($_POST['other_deliv_id'])) {
122            // ÅÐÏ¿ºÑ¤ß¤ÎÊ̤ΤªÆÏ¤±Àè¤ò¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤à
123            lfRegistOtherDelivData($uniqid, $objCustomer, $_POST['other_deliv_id']);
124            // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯
125            $objSiteSess->setRegistFlag();
126            // ¤ª»Ùʧ¤¤ÊýË¡ÁªÂò¥Ú¡¼¥¸¤Ø°Üư
127            header("Location: " . URL_SHOP_PAYMENT);
128            exit;
129        }
130    }else{
131        // ¥¨¥é¡¼¤òÊÖ¤¹
132        $arrErr['deli'] = '¢¨ ¤ªÆÏ¤±Àè¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£';
133    }
134    break;
135
136/*
137// Ê̤ΤªÆÏ¤±Àè¤ò»ØÄê
138case 'new_addr':
139    // ÆþÎÏÃͤÎÊÑ´¹
140    $objFormParam->convParam();
141    $objPage->arrErr = lfCheckError($arrRet);
142    // ÆþÎÏ¥¨¥é¡¼¤Ê¤·
143    if(count($objPage->arrErr) == 0) {
144        // DB¤Ø¤ªÆÏ¤±Àè¤òÅÐÏ¿
145        lfRegistNewAddrData($uniqid, $objCustomer);
146        // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯
147        $objSiteSess->setRegistFlag();
148        // ¤ª»Ùʧ¤¤ÊýË¡ÁªÂò¥Ú¡¼¥¸¤Ø°Üư
149        header("Location: " . URL_SHOP_PAYMENT);
150        exit;       
151    }
152    break;
153*/
154
155// Á°¤Î¥Ú¡¼¥¸¤ËÌá¤ë
156case 'return':
157    // ³Îǧ¥Ú¡¼¥¸¤Ø°Üư
158    header("Location: " . URL_CART_TOP);
159    exit;
160    break;
161default:
162    $objQuery = new SC_Query();
163    $where = "order_temp_id = ?";
164    $arrRet = $objQuery->select("*", "dtb_order_temp", $where, array($uniqid));
165    $objFormParam->setParam($arrRet[0]);
166    break;
167}
168
169/** ɽ¼¨½èÍý **/
170
171// ²ñ°÷ÅÐÏ¿½»½ê¤Î¼èÆÀ
172$col = "name01, name02, pref, addr01, addr02";
173$where = "customer_id = ?";
174$objQuery = new SC_Query();
175$arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($_SESSION['customer']['customer_id']));
176// Ê̤ΤªÆÏ¤±Àè½»½ê¤Î¼èÆÀ
177$col = "other_deliv_id, name01, name02, pref, addr01, addr02";
178$objQuery->setorder("other_deliv_id DESC");
179$objOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($_SESSION['customer']['customer_id']));
180$objPage->arrAddr = $arrCustomerAddr;
181$cnt = 1;
182foreach($objOtherAddr as $val) {
183    $objPage->arrAddr[$cnt] = $val;
184    $cnt++;
185}
186
187// ÆþÎÏÃͤμèÆÀ
188$objPage->arrForm = $objFormParam->getFormParamList();
189$objPage->arrErr = $arrErr;
190$objView->assignobj($objPage);
191$objView->display(SITE_FRAME);
192//--------------------------------------------------------------------------------------------------------------------------
193/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
194function lfInitParam() {
195    global $objFormParam;
196    $objFormParam->addParam("¤ªÌ¾Á°1", "deliv_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
197    $objFormParam->addParam("¤ªÌ¾Á°2", "deliv_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
198    $objFormParam->addParam("¥Õ¥ê¥¬¥Ê1", "deliv_kana01", STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
199    $objFormParam->addParam("¥Õ¥ê¥¬¥Ê2", "deliv_kana02", STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
200    $objFormParam->addParam("Í¹ÊØÈÖ¹æ1", "deliv_zip01", ZIP01_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
201    $objFormParam->addParam("Í¹ÊØÈÖ¹æ2", "deliv_zip02", ZIP02_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
202    $objFormParam->addParam("ÅÔÆ»Éܸ©", "deliv_pref", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
203    $objFormParam->addParam("½»½ê1", "deliv_addr01", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
204    $objFormParam->addParam("½»½ê2", "deliv_addr02", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
205    $objFormParam->addParam("ÅÅÏÃÈÖ¹æ1", "deliv_tel01", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
206    $objFormParam->addParam("ÅÅÏÃÈÖ¹æ2", "deliv_tel02", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
207    $objFormParam->addParam("ÅÅÏÃÈÖ¹æ3", "deliv_tel03", TEL_ITEM_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK" ,"NUM_CHECK"));
208}
209
210function lfInitLoginFormParam() {
211    global $objLoginFormParam;
212    $objLoginFormParam->addParam("µ­²±¤¹¤ë", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
213    $objLoginFormParam->addParam("¥á¡¼¥ë¥¢¥É¥ì¥¹", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
214    $objLoginFormParam->addParam("¥Ñ¥¹¥ï¡¼¥É", "login_pass", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
215}
216
217/* DB¤Ø¥Ç¡¼¥¿¤ÎÅÐÏ¿ */
218function lfRegistNewAddrData($uniqid, $objCustomer) {
219    global $objFormParam;
220    $arrRet = $objFormParam->getHashArray();
221    $sqlval = $objFormParam->getDbArray();
222    // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ®
223    $sqlval['deliv_check'] = '1';
224    $sqlval['order_temp_id'] = $uniqid;
225    $sqlval['update_date'] = 'Now()';
226    $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
227    $sqlval['order_birth'] = $objCustomer->getValue('birth');
228   
229    sfRegistTempOrder($uniqid, $sqlval);
230}
231
232/* ²ñ°÷¾ðÊó¤Î½»½ê¤ò°ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Ø */
233function lfRegistDelivData($uniqid, $objCustomer) {
234    // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ®
235    $sqlval['order_temp_id'] = $uniqid;
236    $sqlval['update_date'] = 'Now()';
237    $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
238    $sqlval['deliv_check'] = '1';
239    $sqlval['deliv_name01'] = $objCustomer->getValue('name01');
240    $sqlval['deliv_name02'] = $objCustomer->getValue('name02');
241    $sqlval['deliv_kana01'] = $objCustomer->getValue('kana01');
242    $sqlval['deliv_kana02'] = $objCustomer->getValue('kana02');
243    $sqlval['deliv_zip01'] = $objCustomer->getValue('zip01');
244    $sqlval['deliv_zip02'] = $objCustomer->getValue('zip02');
245    $sqlval['deliv_pref'] = $objCustomer->getValue('pref');
246    $sqlval['deliv_addr01'] = $objCustomer->getValue('addr01');
247    $sqlval['deliv_addr02'] = $objCustomer->getValue('addr02');
248    $sqlval['deliv_tel01'] = $objCustomer->getValue('tel01');
249    $sqlval['deliv_tel02'] = $objCustomer->getValue('tel02');
250    $sqlval['deliv_tel03'] = $objCustomer->getValue('tel03');
251
252    $sqlval['deliv_fax01'] = $objCustomer->getValue('fax01');
253    $sqlval['deliv_fax02'] = $objCustomer->getValue('fax02');
254    $sqlval['deliv_fax03'] = $objCustomer->getValue('fax03');
255
256    sfRegistTempOrder($uniqid, $sqlval);
257}
258
259/* Ê̤ΤªÆÏ¤±Àè½»½ê¤ò°ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Ø */
260function lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id) {
261    // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ®
262    $sqlval['order_temp_id'] = $uniqid;
263    $sqlval['update_date'] = 'Now()';
264    $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
265    $sqlval['order_birth'] = $objCustomer->getValue('birth');
266       
267    $objQuery = new SC_Query();
268    $where = "other_deliv_id = ?";
269    $arrRet = $objQuery->select("*", "dtb_other_deliv", $where, array($other_deliv_id));
270   
271    $sqlval['deliv_check'] = '1';
272    $sqlval['deliv_name01'] = $arrRet[0]['name01'];
273    $sqlval['deliv_name02'] = $arrRet[0]['name02'];
274    $sqlval['deliv_kana01'] = $arrRet[0]['kana01'];
275    $sqlval['deliv_kana02'] = $arrRet[0]['kana02'];
276    $sqlval['deliv_zip01'] = $arrRet[0]['zip01'];
277    $sqlval['deliv_zip02'] = $arrRet[0]['zip02'];
278    $sqlval['deliv_pref'] = $arrRet[0]['pref'];
279    $sqlval['deliv_addr01'] = $arrRet[0]['addr01'];
280    $sqlval['deliv_addr02'] = $arrRet[0]['addr02'];
281    $sqlval['deliv_tel01'] = $arrRet[0]['tel01'];
282    $sqlval['deliv_tel02'] = $arrRet[0]['tel02'];
283    $sqlval['deliv_tel03'] = $arrRet[0]['tel03'];
284    sfRegistTempOrder($uniqid, $sqlval);
285}
286
287/* ÆþÎÏÆâÍÆ¤Î¥Á¥§¥Ã¥¯ */
288function lfCheckError() {
289    global $objFormParam;
290    // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£
291    $arrRet =  $objFormParam->getHashArray();
292    $objErr = new SC_CheckError($arrRet);
293    $objErr->arrErr = $objFormParam->checkError();
294    // Ê£¿ô¹àÌÜ¥Á¥§¥Ã¥¯
295    if ($_POST['mode'] == 'login'){
296    $objErr->doFunc(array("¥á¡¼¥ë¥¢¥É¥ì¥¹", "login_email", STEXT_LEN), array("EXIST_CHECK"));
297    $objErr->doFunc(array("¥Ñ¥¹¥ï¡¼¥É", "login_pass", STEXT_LEN), array("EXIST_CHECK"));
298    }
299    $objErr->doFunc(array("TEL", "deliv_tel01", "deliv_tel02", "deliv_tel03", TEL_ITEM_LEN), array("TEL_CHECK"));
300    return $objErr->arrErr;
301}
302?>
Note: See TracBrowser for help on using the repository browser.