source: branches/dev/html/mobile/shopping/deliv_addr.php @ 11894

Revision 11894, 10.1 KB checked in by uehara, 19 years ago (diff)
  • Property svn:eol-style set to native
Line 
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 */
10require_once("../require.php");
11
12class LC_Page{
13    function LC_Page(){
14        $this->tpl_mainpage = 'shopping/deliv_addr.tpl';
15        $this->tpl_title = "¿·¤·¤¤¤ªÆÏ¤±Àè¤ÎÄɲÃ";
16    }
17}
18
19$objPage = new LC_Page();
20$objView = new SC_MobileView(false);
21$objQuery = new SC_Query();
22$objCustomer = new SC_Customer();
23$objConn = new SC_DBConn();
24$objSiteSess = new SC_SiteSession();
25$objCartSess = new SC_CartSession();
26
27//¥í¥°¥¤¥óȽÄê
28if (!$objCustomer->isLoginSuccess()){
29    sfDispSiteError(CUSTOMER_ERROR, "", false, "", true);
30}
31
32$objPage->arrForm = $_POST;
33$objPage->arrPref = $arrPref;
34//-- ¥Ç¡¼¥¿ÀßÄê
35foreach($_POST as $key => $val) {
36    if ($key != "mode") $objPage->list_data[ $key ] = $val;
37}
38
39// ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ­¤ò¥Á¥§¥Ã¥¯
40$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess);
41
42//Ê̤ΤªÆÏ¤±Àè£Ä£ÂÅÐÏ¿ÍÑ¥«¥é¥àÇÛÎó
43$arrRegistColumn = array(
44                             array(  "column" => "name01",      "convert" => "aKV" ),
45                             array(  "column" => "name02",      "convert" => "aKV" ),
46                             array(  "column" => "kana01",      "convert" => "CKV" ),
47                             array(  "column" => "kana02",      "convert" => "CKV" ),
48                             array(  "column" => "zip01",       "convert" => "n" ),
49                             array(  "column" => "zip02",       "convert" => "n" ),
50                             array(  "column" => "pref",        "convert" => "n" ),
51                             array(  "column" => "addr01",      "convert" => "aKV" ),
52                             array(  "column" => "addr02",      "convert" => "aKV" ),
53                             array(  "column" => "tel01",       "convert" => "n" ),
54                             array(  "column" => "tel02",       "convert" => "n" ),
55                             array(  "column" => "tel03",       "convert" => "n" ),
56                        );
57
58switch ($_POST['mode']){
59    case 'set1':
60        $objPage->arrErr = lfErrorCheck1($objPage->arrForm);
61        if (count($objPage->arrErr) == 0) {
62            $objPage->tpl_mainpage = 'shopping/set1.tpl';
63
64            // Í¹ÊØÈֹ椫¤é½»½ê¤Î¼èÆÀ
65            $address = lfGetAddress($_REQUEST['zip01'].$_REQUEST['zip02']);
66
67            $objPage->arrForm['pref'] = @$address[0]['state'];
68            $objPage->arrForm['addr01'] = @$address[0]['city'] . @$address[0]['town'];
69        }
70        break;
71    case 'set2':
72        $objPage->arrErr = lfErrorCheck2($objPage->arrForm);
73        if (count($objPage->arrErr) == 0) {
74            $objPage->tpl_mainpage = 'shopping/set2.tpl';
75        } else {
76            $objPage->tpl_mainpage = 'shopping/set1.tpl';
77
78            $checkVal = array("pref", "addr01", "addr02", "addr03", "tel01", "tel02", "tel03");
79            //-- ¥Ç¡¼¥¿ÀßÄê
80            unset($objPage->list_data);
81            foreach($_POST as $key => $val) {
82                if ($key != "mode" && !in_array($key, $checkVal)) $objPage->list_data[ $key ] = $val;
83            }
84        }
85        break;
86    case 'complete':
87        $objPage->arrErr = lfErrorCheck($objPage->arrForm);
88        if (count($objPage->arrErr) == 0) {
89            // ÅÐÏ¿
90            $other_deliv_id = lfRegistData($_POST,$arrRegistColumn);
91
92            // ÅÐÏ¿ºÑ¤ß¤ÎÊ̤ΤªÆÏ¤±Àè¤ò¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤à
93            lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id);
94
95            // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯
96            $objSiteSess->setRegistFlag();
97            // ¤ª»Ùʧ¤¤ÊýË¡ÁªÂò¥Ú¡¼¥¸¤Ø°Üư
98            header("Location: " . gfAddSessionId(MOBILE_URL_SHOP_PAYMENT));
99            exit;
100        } else {
101            sfDispSiteError(CUSTOMER_ERROR);
102        }
103        break;
104    default:
105        $deliv_count = $objQuery->count("dtb_other_deliv", "customer_id=?", array($objCustomer->getValue('customer_id')));
106        if ($deliv_count >= DELIV_ADDR_MAX){
107            sfDispSiteError(FREE_ERROR_MSG, "", false, "ºÇÂçÅÐÏ¿·ï¿ô¤òͤ¨¤Æ¤¤¤Þ¤¹¡£");
108        }
109}
110
111$objView->assignobj($objPage);
112$objView->display(SITE_FRAME);
113
114//-------------------------------------------------------------------------------------------------------------
115
116/* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */
117function lfErrorCheck() {
118    $objErr = new SC_CheckError();
119   
120    $objErr->doFunc(array("¤ªÌ¾Á°¡ÊÀ«¡Ë", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
121    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê̾¡Ë", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK"));
122    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/À«¡Ë", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
123    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/̾¡Ë", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
124    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
125    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
126    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
127    $objErr->doFunc(array("ÅÔÆ»Éܸ©", 'pref'), array("SELECT_CHECK","NUM_CHECK"));
128    $objErr->doFunc(array("»Ô¶èĮ¼", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
129    $objErr->doFunc(array("ÈÖÃÏ", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
130    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ1", 'tel01'), array("EXIST_CHECK","NUM_CHECK"));
131    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ2", 'tel02'), array("EXIST_CHECK","NUM_CHECK"));
132    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ3", 'tel03'), array("EXIST_CHECK","NUM_CHECK"));
133    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK"));
134    return $objErr->arrErr;
135   
136}
137
138/* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */
139function lfErrorCheck1() {
140    $objErr = new SC_CheckError();
141   
142    $objErr->doFunc(array("¤ªÌ¾Á°¡ÊÀ«¡Ë", 'name01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
143    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê̾¡Ë", 'name02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK"));
144    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/À«¡Ë", 'kana01', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
145    $objErr->doFunc(array("¤ªÌ¾Á°¡Ê¥«¥Ê/̾¡Ë", 'kana02', STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK", "MAX_LENGTH_CHECK", "KANA_CHECK"));
146    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ1", "zip01", ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
147    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ2", "zip02", ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK", "NUM_COUNT_CHECK"));
148    $objErr->doFunc(array("Í¹ÊØÈÖ¹æ", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
149    return $objErr->arrErr;
150   
151}
152
153/* ¥¨¥é¡¼¥Á¥§¥Ã¥¯ */
154function lfErrorCheck2() {
155    $objErr = new SC_CheckError();
156   
157    $objErr->doFunc(array("ÅÔÆ»Éܸ©", 'pref'), array("SELECT_CHECK","NUM_CHECK"));
158    $objErr->doFunc(array("»Ô¶èĮ¼", "addr01", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
159    $objErr->doFunc(array("ÈÖÃÏ", "addr02", MTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
160    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ1", 'tel01'), array("EXIST_CHECK","NUM_CHECK"));
161    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ2", 'tel02'), array("EXIST_CHECK","NUM_CHECK"));
162    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ3", 'tel03'), array("EXIST_CHECK","NUM_CHECK"));
163    $objErr->doFunc(array("ÅÅÏÃÈÖ¹æ", "tel01", "tel02", "tel03", TEL_LEN) ,array("TEL_CHECK"));
164    return $objErr->arrErr;
165   
166}
167
168
169
170/* ÅÐÏ¿¼Â¹Ô */
171function lfRegistData($array, $arrRegistColumn) {
172    global $objConn;
173    global $objCustomer;
174   
175    foreach ($arrRegistColumn as $data) {
176        if (strlen($array[ $data["column"] ]) > 0) {
177            $arrRegist[ $data["column"] ] = $array[ $data["column"] ];
178        }
179    }
180   
181    $arrRegist['customer_id'] = $objCustomer->getvalue('customer_id');
182   
183    //-- ÊÔ½¸ÅÐÏ¿¼Â¹Ô
184    $objConn->query("BEGIN");
185    if ($array['other_deliv_id'] != ""){
186        $objConn->autoExecute("dtb_other_deliv", $arrRegist, "other_deliv_id='" .addslashes($array["other_deliv_id"]). "'");
187    }else{
188        $objConn->autoExecute("dtb_other_deliv", $arrRegist);
189
190        $sqlse = "SELECT max(other_deliv_id) FROM dtb_other_deliv WHERE customer_id = ?";
191        $array['other_deliv_id'] = $objConn->getOne($sqlse, array($arrRegist['customer_id']));
192    }
193
194    $objConn->query("COMMIT");
195
196    return $array['other_deliv_id'];
197}
198
199//----¡¡¼èÆÀʸ»úÎó¤ÎÊÑ´¹
200function lfConvertParam($array, $arrRegistColumn) {
201    /*
202     *  ʸ»úÎó¤ÎÊÑ´¹
203     *  K :  ¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)ÊÒ²¾Ì¾¡×¤ò¡ÖÁ´³ÑÊÒ²¾Ì¾¡×¤ËÊÑ´¹
204     *  C :  ¡ÖÁ´³Ñ¤Ò¤é²¾Ì¾¡×¤ò¡ÖÁ´³Ñ¤«¤¿²¾Ì¾¡×¤ËÊÑ´¹
205     *  V :  ÂùÅÀÉÕ¤­¤Îʸ»ú¤ò°ìʸ»ú¤ËÊÑ´¹¡£"K","H"¤È¶¦¤Ë»ÈÍѤ·¤Þ¤¹ 
206     *  n :  ¡ÖÁ´³Ñ¡×¿ô»ú¤ò¡ÖȾ³Ñ(ŽÊŽÝ޶ޏ)¡×¤ËÊÑ´¹
207     *  a :  Á´³Ñ±Ñ¿ô»ú¤òȾ³Ñ±Ñ¿ô»ú¤ËÊÑ´¹¤¹¤ë
208     */
209    // ¥«¥é¥à̾¤È¥³¥ó¥Ð¡¼¥È¾ðÊó
210    foreach ($arrRegistColumn as $data) {
211        $arrConvList[ $data["column"] ] = $data["convert"];
212    }
213   
214    // ʸ»úÊÑ´¹
215    foreach ($arrConvList as $key => $val) {
216        // POST¤µ¤ì¤Æ¤­¤¿ÃͤΤßÊÑ´¹¤¹¤ë¡£
217        if(strlen(($array[$key])) > 0) {
218            $array[$key] = mb_convert_kana($array[$key] ,$val);
219        }
220    }
221    return $array;
222}
223
224// Í¹ÊØÈֹ椫¤é½»½ê¤Î¼èÆÀ
225function lfGetAddress($zipcode) {
226    global $arrPref;
227
228    $conn = new SC_DBconn(ZIP_DSN);
229
230    // Í¹ÊØÈֹ渡º÷ʸºîÀ®
231    $zipcode = mb_convert_kana($zipcode ,"n");
232    $sqlse = "SELECT state, city, town FROM mtb_zip WHERE zipcode = ?";
233
234    $data_list = $conn->getAll($sqlse, array($zipcode));
235
236    // ¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÈÃͤòȿž¤µ¤»¤ë¡£
237    $arrREV_PREF = array_flip($arrPref);
238
239    /*
240        Áí̳¾Ê¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤Þ¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤È
241        °Ê²¼¤Î¤è¤¦¤Êʸ»úÎ󤬯þ¤Ã¤Æ¤¤¤ë¤Î¤Ç  Âкö¤¹¤ë¡£
242        ¡¦¡Ê£±¡¦£±£¹ÃúÌÜ¡Ë
243        ¡¦°Ê²¼¤Ë·ÇºÜ¤¬¤Ê¤¤¾ì¹ç
244    */
245    $town =  $data_list[0]['town'];
246    $town = ereg_replace("¡Ê.*¡Ë$","",$town);
247    $town = ereg_replace("°Ê²¼¤Ë·ÇºÜ¤¬¤Ê¤¤¾ì¹ç","",$town);
248    $data_list[0]['town'] = $town;
249    $data_list[0]['state'] = $arrREV_PREF[$data_list[0]['state']];
250
251    return $data_list;
252}
253
254/* Ê̤ΤªÆÏ¤±Àè½»½ê¤ò°ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Ø */
255function lfRegistOtherDelivData($uniqid, $objCustomer, $other_deliv_id) {
256    // ÅÐÏ¿¥Ç¡¼¥¿¤ÎºîÀ®
257    $sqlval['order_temp_id'] = $uniqid;
258    $sqlval['update_date'] = 'Now()';
259    $sqlval['customer_id'] = $objCustomer->getValue('customer_id');
260    $sqlval['order_birth'] = $objCustomer->getValue('birth');
261
262    $objQuery = new SC_Query();
263    $where = "other_deliv_id = ?";
264    $arrRet = $objQuery->select("*", "dtb_other_deliv", $where, array($other_deliv_id));
265   
266    $sqlval['deliv_check'] = '1';
267    $sqlval['deliv_name01'] = $arrRet[0]['name01'];
268    $sqlval['deliv_name02'] = $arrRet[0]['name02'];
269    $sqlval['deliv_kana01'] = $arrRet[0]['kana01'];
270    $sqlval['deliv_kana02'] = $arrRet[0]['kana02'];
271    $sqlval['deliv_zip01'] = $arrRet[0]['zip01'];
272    $sqlval['deliv_zip02'] = $arrRet[0]['zip02'];
273    $sqlval['deliv_pref'] = $arrRet[0]['pref'];
274    $sqlval['deliv_addr01'] = $arrRet[0]['addr01'];
275    $sqlval['deliv_addr02'] = $arrRet[0]['addr02'];
276    $sqlval['deliv_tel01'] = $arrRet[0]['tel01'];
277    $sqlval['deliv_tel02'] = $arrRet[0]['tel02'];
278    $sqlval['deliv_tel03'] = $arrRet[0]['tel03'];
279    sfRegistTempOrder($uniqid, $sqlval);
280}
281
282?>
Note: See TracBrowser for help on using the repository browser.