1 | <?php |
---|
2 | /** |
---|
3 | * |
---|
4 | * @copyright 2000-2007 LOCKON CO.,LTD. All Rights Reserved. |
---|
5 | * @version CVS: $Id$ |
---|
6 | * @link http://www.lockon.co.jp/ |
---|
7 | * |
---|
8 | */ |
---|
9 | require_once '../require.php'; |
---|
10 | require_once MODULE_PATH . "mdl_remise/mdl_remise.inc"; |
---|
11 | |
---|
12 | if (REMISE_IP_ADDRESS_DENY == 1) { |
---|
13 | if (!isset($_SERVER["REMOTE_ADDR"]) || !lfIpAddressDenyCheck($_SERVER["REMOTE_ADDR"])) { |
---|
14 | print("NOT REMISE SERVER"); |
---|
15 | exit; |
---|
16 | } |
---|
17 | } |
---|
18 | |
---|
19 | switch (lfGetMode()) { |
---|
20 | case 'credit_complete': |
---|
21 | // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý |
---|
22 | lfRemiseCreditResultCheck(); |
---|
23 | break; |
---|
24 | |
---|
25 | case 'conveni_mobile_complete': |
---|
26 | // ¥â¥Ð¥¤¥ë´°Î»¥Æ¥ó¥×¥ì¡¼¥È |
---|
27 | lfRemiseConveniComplete(); |
---|
28 | break; |
---|
29 | |
---|
30 | case 'conveni_check': |
---|
31 | // ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯ |
---|
32 | lfRemiseConveniCheck(); |
---|
33 | break; |
---|
34 | |
---|
35 | default: |
---|
36 | break; |
---|
37 | } |
---|
38 | |
---|
39 | //------------------------------------------------------------------------------------------------------- |
---|
40 | function lfGetMode() { |
---|
41 | $mode = ''; |
---|
42 | if (isset($_POST["X-TRANID"]) && isset($_POST["X-PARTOFCARD"])) { |
---|
43 | $mode = 'credit_complete'; |
---|
44 | |
---|
45 | // ¥â¥Ð¥¤¥ë¥³¥ó¥Ó¥Ë´°Î»¥Æ¥ó¥×¥ì¡¼¥È |
---|
46 | } elseif (isset($_POST['X-JOB_ID'])) { |
---|
47 | $mode = 'conveni_mobile_complete'; |
---|
48 | |
---|
49 | // ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ |
---|
50 | } elseif (isset($_POST["JOB_ID"]) && isset($_POST["REC_FLG"]) && REMISE_CONVENIENCE_RECIVE == 1) { |
---|
51 | $mode = 'conveni_check'; |
---|
52 | } |
---|
53 | return $mode; |
---|
54 | } |
---|
55 | // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý |
---|
56 | function lfRemiseCreditResultCheck(){ |
---|
57 | $objQuery = new SC_Query; |
---|
58 | |
---|
59 | $log_path = DATA_PATH . "logs/remise_card_result.log"; |
---|
60 | gfPrintLog("remise card result : ".$_POST["X-TRANID"] , $log_path); |
---|
61 | |
---|
62 | // TRAN_ID ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥«¡¼¥É¾ðÊ󤬤¢¤ë¾ì¹ç |
---|
63 | if (isset($_POST["X-TRANID"]) && isset($_POST["X-PARTOFCARD"])) { |
---|
64 | |
---|
65 | $errFlg = FALSE; |
---|
66 | |
---|
67 | gfPrintLog("remise card result start----------", $log_path); |
---|
68 | foreach($_POST as $key => $val){ |
---|
69 | gfPrintLog( "\t" . $key . " => " . $val, $log_path); |
---|
70 | } |
---|
71 | gfPrintLog("remise credit result end ----------", $log_path); |
---|
72 | |
---|
73 | // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç |
---|
74 | if (REMISE_IP_ADDRESS_DENY == 1) { |
---|
75 | gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); |
---|
76 | if (!isset($_SERVER["REMOTE_ADDR"]) || !lfIpAddressDenyCheck($_SERVER["REMOTE_ADDR"])) { |
---|
77 | print("NOT REMISE SERVER"); |
---|
78 | exit; |
---|
79 | } |
---|
80 | } |
---|
81 | |
---|
82 | // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ |
---|
83 | $order_id = 0; |
---|
84 | $payment_total = 0; |
---|
85 | |
---|
86 | if (isset($_POST["X-S_TORIHIKI_NO"])) { |
---|
87 | $order_id = $_POST["X-S_TORIHIKI_NO"]; |
---|
88 | } |
---|
89 | |
---|
90 | if (isset($_POST["X-TOTAL"])) { |
---|
91 | $payment_total = $_POST["X-TOTAL"]; |
---|
92 | } |
---|
93 | |
---|
94 | gfPrintLog("order_id : ".$order_id, $log_path); |
---|
95 | gfPrintLog("payment_total : ".$payment_total, $log_path); |
---|
96 | |
---|
97 | // Ãíʸ¥Ç¡¼¥¿¼èÆÀ |
---|
98 | $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); |
---|
99 | |
---|
100 | // ¶â³Û¤ÎÁê°ã |
---|
101 | if (count($arrTempOrder) > 0) { |
---|
102 | gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); |
---|
103 | if ($arrTempOrder[0]['payment_total'] == $payment_total) { |
---|
104 | $errFlg = TRUE; |
---|
105 | } |
---|
106 | } |
---|
107 | |
---|
108 | if ($errFlg) { |
---|
109 | // ¥â¥Ð¥¤¥ë¤Î¾ì¹ç¤Ï¡¢¹ØÆþ´°Î»½èÍý¤ò¹Ô¤¦ |
---|
110 | $arrCarier = array('imode', 'ezweb', 'jsky'); |
---|
111 | if (isset($_POST["CARIER_TYPE"]) && in_array($_POST["CARIER_TYPE"], $arrCarier)) { |
---|
112 | gfPrintLog("Mobile Complete Start", $log_path); |
---|
113 | if (lfMobileComplete(REMISE_PAY_TYPE_CREDIT)) { |
---|
114 | gfPrintLog("Mobile Complete Success", $log_path); |
---|
115 | print(REMISE_PAYMENT_CHARGE_OK_MOBILE); |
---|
116 | } else { |
---|
117 | gfPrintLog("Mobile Complete Error", $log_path); |
---|
118 | print("ERROR"); |
---|
119 | } |
---|
120 | gfPrintLog("Mobile Complete End", $log_path); |
---|
121 | exit; |
---|
122 | } |
---|
123 | |
---|
124 | // PCÈǤϹØÆþ´°Î»²èÌ̤Ǵ°Î»¤¹¤ë¤¿¤á¡¢¤³¤³¤Ç¤ÏÀ®¸ù¥³¡¼¥É¤òÊÖ¤¹ |
---|
125 | print(REMISE_PAYMENT_CHARGE_OK); |
---|
126 | exit; |
---|
127 | } |
---|
128 | print("ERROR"); |
---|
129 | exit; |
---|
130 | } |
---|
131 | } |
---|
132 | |
---|
133 | // ¥â¥Ð¥¤¥ë´°Î»¥Æ¥ó¥×¥ì¡¼¥È |
---|
134 | function lfRemiseConveniComplete() { |
---|
135 | require_once DATA_PATH . 'conf/mobile_conf.php'; |
---|
136 | |
---|
137 | gfPrintLog('remise mobile conveni finish start----------:', REMISE_LOG_PATH_CONVENI_RET); |
---|
138 | foreach($_POST as $key => $val){ |
---|
139 | gfPrintLog( "\t" . $key . " => " . $val, REMISE_LOG_PATH_CONVENI_RET); |
---|
140 | } |
---|
141 | gfPrintLog("remise mobile conveni finish end ----------", REMISE_LOG_PATH_CONVENI_RET); |
---|
142 | |
---|
143 | $objForm = lfInitParamMobileCompleteConveni(); |
---|
144 | // ¥Ñ¥é¥á¡¼¥¿¥Á¥§¥Ã¥¯ |
---|
145 | if ($arrErr = $objForm->checkError()) { |
---|
146 | gfPrintLog("Param Invalid", REMISE_LOG_PATH_CONVENI_RET); |
---|
147 | foreach ($arrErr as $k => $v) { |
---|
148 | gfPrintLog("\t$k => $v", REMISE_LOG_PATH_CONVENI_RET); |
---|
149 | } |
---|
150 | mb_http_output(REMISE_SEND_ENCODE); |
---|
151 | sfDispSiteError(FREE_ERROR_MSG, "", true, "¹ØÆþ½èÍýÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br /><br /><br />¡¦¥Ñ¥é¥á¡¼¥¿¤¬ÉÔÀµ¤Ç¤¹¡£", true); |
---|
152 | } |
---|
153 | $arrForm = $objForm->getHashArray(); |
---|
154 | $arrOrderTemp = lfGetOrderTempConveni($arrForm, new SC_Query); |
---|
155 | $arrOrderTemp = $arrOrderTemp[0]; |
---|
156 | |
---|
157 | // ½èÍý·ë²Ì¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ |
---|
158 | global $arrRemiseErrorWord; |
---|
159 | gfPrintLog("\terror check", REMISE_LOG_PATH_CONVENI_RET); |
---|
160 | if ($arrForm["X-R_CODE"] !== $arrRemiseErrorWord["OK"]) { |
---|
161 | $err_detail = $arrForm["X-R_CODE"]; |
---|
162 | gfPrintLog("\t error check result: $err_detail", REMISE_LOG_PATH_CONVENI_RET); |
---|
163 | mb_http_output(REMISE_SEND_ENCODE); |
---|
164 | sfDispSiteError(FREE_ERROR_MSG, "", true, "¹ØÆþ½èÍýÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br /><br /><br />¡¦" . $err_detail, true); |
---|
165 | } |
---|
166 | // ¶â³Û¤ÎÀ°¹çÀ¥Á¥§¥Ã¥¯ |
---|
167 | gfPrintLog("\tpayment total check", REMISE_LOG_PATH_CONVENI_RET); |
---|
168 | if ($arrOrderTemp["payment_total"] != $arrForm["X-TOTAL"]) { |
---|
169 | $xtotal = $arrForm["X-TOTAL"]; |
---|
170 | $paytotal = $arrOrderTemp["payment_total"]; |
---|
171 | gfPrintLog("\t payment total check result: X-TOTAL($xtotal) != payment_total($paytotal)", REMISE_LOG_PATH_CONVENI_RET); |
---|
172 | mb_http_output(REMISE_SEND_ENCODE); |
---|
173 | sfDispSiteError(FREE_ERROR_MSG, "", true, "¹ØÆþ½èÍýÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br /><br /><br />¡¦ÀÁµá¶â³Û¤È»Ùʧ¤¤¶â³Û¤¬°ã¤¤¤Þ¤¹¡£", true); |
---|
174 | } |
---|
175 | |
---|
176 | gfPrintLog("\tdtb_order_temp update...", REMISE_LOG_PATH_CONVENI_RET); |
---|
177 | // ¥ë¥ß¡¼¥º¤«¤é¤ÎÃͤμèÆÀ |
---|
178 | $job_id = lfSetConvMSG("¥¸¥ç¥ÖID(REMISE)", $arrForm["X-JOB_ID"]); |
---|
179 | $payment_limit = lfSetConvMSG("»Ùʧ¤¤´ü¸Â", $arrForm["X-PAYDATE"]); |
---|
180 | global $arrConvenience; |
---|
181 | $conveni_type = lfSetConvMSG("»Ùʧ¤¤¥³¥ó¥Ó¥Ë", $arrConvenience[$arrForm["X-PAY_CSV"]]); |
---|
182 | $payment_total = lfSetConvMSG("¹ç·×¶â³Û", $arrForm["X-TOTAL"]); |
---|
183 | $receipt_no = lfSetConvMSG("¥³¥ó¥Ó¥Ëʧ¤¤½Ð¤·ÈÖ¹æ", $arrForm["X-PAY_NO1"]); |
---|
184 | |
---|
185 | // ¥Õ¥¡¥ß¥ê¡¼¥Þ¡¼¥È¤Î¤ßURL¤¬¤Ê¤¤ |
---|
186 | if ($arrForm["X-PAY_CSV"] != "D030") { |
---|
187 | $payment_url = lfSetConvMSG("¥³¥ó¥Ó¥Ëʧ¤¤½Ð¤·URL", $arrForm["X-PAY_NO2"]); |
---|
188 | } else { |
---|
189 | $payment_url = lfSetConvMSG("ÃíʸÈÖ¹æ", $arrForm["X-PAY_NO2"]); |
---|
190 | } |
---|
191 | |
---|
192 | $arrRet['cv_type'] = $conveni_type; // ¥³¥ó¥Ó¥Ë¤Î¼ïÎà |
---|
193 | $arrRet['cv_payment_url'] = $payment_url; // ʧ¹þɼURL(PC) |
---|
194 | $arrRet['cv_receipt_no'] = $receipt_no; // ʧ¹þɼÈÖ¹æ |
---|
195 | $arrRet['cv_payment_limit'] = $payment_limit; // »Ùʧ¤¤´ü¸Â |
---|
196 | $arrRet['title'] = lfSetConvMSG("¥³¥ó¥Ó¥Ë·èºÑ", true); |
---|
197 | |
---|
198 | // ·èºÑÁ÷¿®¥Ç¡¼¥¿ºîÀ® |
---|
199 | $arrModule['module_id'] = MDL_REMISE_ID; |
---|
200 | $arrModule['payment_total'] = $arrOrderTemp["payment_total"]; |
---|
201 | $arrModule['payment_id'] = PAYMENT_CONVENIENCE_ID; |
---|
202 | |
---|
203 | // ¥¹¥Æ¡¼¥¿¥¹¤Ï̤Æþ¶â¤Ë¤¹¤ë |
---|
204 | $sqlval['status'] = 2; |
---|
205 | |
---|
206 | // ¥³¥ó¥Ó¥Ë·èºÑ¾ðÊó¤ò³ÊǼ |
---|
207 | $sqlval['conveni_data'] = serialize($arrRet); |
---|
208 | $sqlval['memo01'] = PAYMENT_CONVENIENCE_ID; |
---|
209 | $sqlval['memo02'] = serialize($arrRet); |
---|
210 | $sqlval['memo03'] = MDL_REMISE_ID; |
---|
211 | $sqlval['memo04'] = $arrForm["X-JOB_ID"]; |
---|
212 | $sqlval['memo05'] = serialize($arrModule); |
---|
213 | |
---|
214 | // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë¹¹¿· |
---|
215 | sfRegistTempOrder($arrForm['OPT'], $sqlval); |
---|
216 | gfPrintLog("\tdtb_order_temp update done", REMISE_LOG_PATH_CONVENI_RET); |
---|
217 | |
---|
218 | gfPrintLog("Mobile Complete Start", REMISE_LOG_PATH_CONVENI_RET); |
---|
219 | if (lfMobileComplete(REMISE_PAY_TYPE_CONVENI)) { |
---|
220 | gfPrintLog("Mobile Complete Success", REMISE_LOG_PATH_CONVENI_RET); |
---|
221 | } else { |
---|
222 | gfPrintLog("Mobile Complete Error", REMISE_LOG_PATH_CONVENI_RET); |
---|
223 | mb_http_output(REMISE_SEND_ENCODE); |
---|
224 | sfDispSiteError(FREE_ERROR_MSG, "", true, "¹ØÆþ½èÍýÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br>¤ª¼ê¿ô¤Ç¤¹¤¬¥µ¥¤¥È´ÉÍý¼Ô¤Þ¤Ç¤ªÌ䤤¹ç¤ï¤»²¼¤µ¤¤", true); |
---|
225 | } |
---|
226 | gfPrintLog("Mobile Complete End", $log_path); |
---|
227 | |
---|
228 | |
---|
229 | } |
---|
230 | |
---|
231 | // ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý |
---|
232 | function lfRemiseConveniCheck(){ |
---|
233 | $objQuery = new SC_Query; |
---|
234 | |
---|
235 | $log_path = DATA_PATH . "logs/remise_cv_charge.log"; |
---|
236 | gfPrintLog("remise conveni result : ".$_POST["JOB_ID"] , $log_path); |
---|
237 | |
---|
238 | // ɬÍפʥǡ¼¥¿¤¬Á÷¿®¤µ¤ì¤Æ¤¤¤Æ¡¢¼ýǼÄÌÃΤμ«Æ°¼õ¿®¤òµö²Ä¤·¤Æ¤¤¤ë¾ì¹ç |
---|
239 | if(isset($_POST["JOB_ID"]) && isset($_POST["REC_FLG"]) && REMISE_CONVENIENCE_RECIVE == 1){ |
---|
240 | |
---|
241 | $errFlg = FALSE; |
---|
242 | |
---|
243 | // ¼ýǼºÑ¤ß¤Î¾ì¹ç |
---|
244 | if ($_POST["REC_FLG"] == REMISE_CONVENIENCE_CHARGE) { |
---|
245 | // POST¤ÎÆâÍƤòÁ´¤Æ¥í¥°Êݸ |
---|
246 | gfPrintLog("remise conveni charge start----------", $log_path); |
---|
247 | foreach($_POST as $key => $val){ |
---|
248 | gfPrintLog( "\t" . $key . " => " . $val, $log_path); |
---|
249 | } |
---|
250 | gfPrintLog("remise conveni charge end ----------", $log_path); |
---|
251 | |
---|
252 | // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç |
---|
253 | if (REMISE_IP_ADDRESS_DENY == 1) { |
---|
254 | gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); |
---|
255 | if (!isset($_SERVER["REMOTE_ADDR"]) || !lfIpAddressDenyCheck($_SERVER["REMOTE_ADDR"])) { |
---|
256 | print("NOT REMISE SERVER"); |
---|
257 | exit; |
---|
258 | } |
---|
259 | } |
---|
260 | |
---|
261 | // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ |
---|
262 | $order_id = 0; |
---|
263 | $payment_total = 0; |
---|
264 | |
---|
265 | if (isset($_POST["S_TORIHIKI_NO"])) { |
---|
266 | $order_id = $_POST["S_TORIHIKI_NO"]; |
---|
267 | } |
---|
268 | |
---|
269 | if (isset($_POST["TOTAL"])) { |
---|
270 | $payment_total = $_POST["TOTAL"]; |
---|
271 | } |
---|
272 | |
---|
273 | gfPrintLog("order_id : ".$order_id, $log_path); |
---|
274 | gfPrintLog("payment_total : ".$payment_total, $log_path); |
---|
275 | |
---|
276 | // Ãíʸ¥Ç¡¼¥¿¼èÆÀ |
---|
277 | $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); |
---|
278 | |
---|
279 | // ¶â³Û¤ÎÁê°ã |
---|
280 | if (count($arrTempOrder) > 0) { |
---|
281 | gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); |
---|
282 | if ($arrTempOrder[0]['payment_total'] == $payment_total) { |
---|
283 | $errFlg = TRUE; |
---|
284 | } |
---|
285 | } |
---|
286 | |
---|
287 | // JOB_ID¤ÈÀÁµáÈֹ档Æþ¶â¶â³Û¤¬°ìÃפ¹¤ë¾ì¹ç¤Î¤ß¡¢¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë |
---|
288 | if ($errFlg) { |
---|
289 | $sql = "UPDATE dtb_order SET status = 6, update_date = now() ". |
---|
290 | "WHERE order_id = ? AND memo04 = ? "; |
---|
291 | $objQuery->query($sql, array($order_id, $_POST["JOB_ID"])); |
---|
292 | |
---|
293 | //±þÅú·ë²Ì¤òɽ¼¨ |
---|
294 | print(REMISE_CONVENIENCE_CHARGE_OK); |
---|
295 | exit; |
---|
296 | } |
---|
297 | } |
---|
298 | print("ERROR"); |
---|
299 | exit; |
---|
300 | } |
---|
301 | } |
---|
302 | |
---|
303 | /** |
---|
304 | * IP¥¢¥É¥ì¥¹ÂÓ°è¥Á¥§¥Ã¥¯ |
---|
305 | * @param $ip IP¥¢¥É¥ì¥¹ |
---|
306 | * @return boolean |
---|
307 | */ |
---|
308 | function lfIpAddressDenyCheck($ip) { |
---|
309 | |
---|
310 | // IP¥¢¥É¥ì¥¹ÈϰϤËÆþ¤Ã¤Æ¤Ê¤¤¾ì¹ç |
---|
311 | if (ip2long(REMISE_IP_ADDRESS_S) > ip2long($ip) || |
---|
312 | ip2long(REMISE_IP_ADDRESS_E) < ip2long($ip)) { |
---|
313 | return FALSE; |
---|
314 | } |
---|
315 | return TRUE; |
---|
316 | } |
---|
317 | |
---|
318 | /** |
---|
319 | * ¾¦ÉʹØÆþ¤ò´°Î»¤¹¤ë(¥â¥Ð¥¤¥ë) |
---|
320 | * |
---|
321 | * @param string $type ¥¯¥ì¥¸¥Ã¥È¤«¥³¥ó¥Ó¥Ë¤« |
---|
322 | * @return boolean |
---|
323 | */ |
---|
324 | function lfMobileComplete($type) { |
---|
325 | $logPath = ($type == REMISE_PAY_TYPE_CONVENI) |
---|
326 | ? REMISE_LOG_PATH_CONVENI_RET |
---|
327 | : REMISE_LOG_PATH_CARD_RET; |
---|
328 | $objForm = ($type == REMISE_PAY_TYPE_CONVENI) |
---|
329 | ? lfInitParamMobileCompleteConveni() |
---|
330 | : lfInitParamMobileCompleteCredit(); |
---|
331 | $objSiteSess = new SC_SiteSession(); |
---|
332 | $objCartSess = new SC_CartSession(); |
---|
333 | $objCampaignSess = new SC_CampaignSession(); |
---|
334 | $objCustomer = new SC_Customer(); |
---|
335 | $objQuery = new SC_Query(); |
---|
336 | $arrInfo = sf_getBasisData(); |
---|
337 | |
---|
338 | if ($arrErr = $objForm->checkError()) { |
---|
339 | gfPrintLog("\tParam Invalid", $logPath); |
---|
340 | foreach ($arrErr as $k => $v) { |
---|
341 | gfPrintLog("\t$k => $v", $logPath); |
---|
342 | } |
---|
343 | return false; |
---|
344 | } |
---|
345 | |
---|
346 | $order_id = $objForm->getValue('X-S_TORIHIKI_NO'); |
---|
347 | |
---|
348 | // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¼èÆÀ |
---|
349 | $getOrderTempFucntion = ($type == REMISE_PAY_TYPE_CONVENI) |
---|
350 | ? 'lfGetOrderTempConveni' |
---|
351 | : 'lfUpdateOrderTemp'; |
---|
352 | $arrOrderTemp = $getOrderTempFucntion($objForm->getHashArray(), $objQuery); |
---|
353 | if (empty($arrOrderTemp[0])) { |
---|
354 | gfPrintLog("\tOrder Temp Not Found: $order_id", $logPath); |
---|
355 | return false; |
---|
356 | } |
---|
357 | $arrOrderTemp = $arrOrderTemp[0]; |
---|
358 | gfPrintLog("\tOrder Temp Found: $order_id", $logPath); |
---|
359 | |
---|
360 | // ¥»¥Ã¥·¥ç¥ó¤ÎÉü¸µ |
---|
361 | $_SESSION = unserialize($arrOrderTemp['session']); |
---|
362 | |
---|
363 | $uniqid = $arrOrderTemp['order_temp_id']; |
---|
364 | $customer_id = $objCustomer->getValue('customer_id'); |
---|
365 | $execSetCustomerPurchase = false; |
---|
366 | $preCustomer = false; // ²¾²ñ°÷ÅÐÏ¿¥Õ¥é¥°¡¢true¤Ê¤é²¾²ñ°÷ÅÐÏ¿¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë |
---|
367 | |
---|
368 | gfPrintLog("\tBegin Transaction...", $logPath); |
---|
369 | $objQuery = new SC_Query(); |
---|
370 | $objQuery->begin(); |
---|
371 | |
---|
372 | // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý |
---|
373 | if ($objCustomer->isLoginSuccess()) { |
---|
374 | // ¿·¤ªÆϤ±Àè¤ÎÅÐÏ¿ |
---|
375 | gfPrintLog("\tlfSetNewAddr() Start.", $logPath); |
---|
376 | lfSetNewAddr($uniqid, $customer_id, $objQuery); |
---|
377 | $execSetCustomerPurchase = true; |
---|
378 | } else { |
---|
379 | //¹ØÆþ»þ¶¯À©²ñ°÷ÅÐÏ¿ |
---|
380 | switch(PURCHASE_CUSTOMER_REGIST) { |
---|
381 | //̵¸ú |
---|
382 | case '0': |
---|
383 | // ¹ØÆþ»þ²ñ°÷ÅÐÏ¿ |
---|
384 | if($arrOrderTemp['member_check'] == '1') { |
---|
385 | // ²¾²ñ°÷ÅÐÏ¿ |
---|
386 | gfPrintLog("\t0: lfRegistPreCustomer() Start.", $logPath); |
---|
387 | $customer_id = lfRegistPreCustomer($arrOrderTemp, $arrInfo, $objQuery); |
---|
388 | $execSetCustomerPurchase = true; |
---|
389 | $preCustomer = true; |
---|
390 | } |
---|
391 | break; |
---|
392 | //͸ú |
---|
393 | case '1': |
---|
394 | // ²¾²ñ°÷ÅÐÏ¿ |
---|
395 | gfPrintLog("\t1: lfRegistPreCustomer() Start.", $logPath); |
---|
396 | $customer_id = lfRegistPreCustomer($arrOrderTemp, $arrInfo, $objQuery); |
---|
397 | $execSetCustomerPurchase = true; |
---|
398 | $preCustomer = true; |
---|
399 | break; |
---|
400 | } |
---|
401 | } |
---|
402 | |
---|
403 | // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç |
---|
404 | gfPrintLog("\tlfSetCustomerPurchase() Start.", $logPath); |
---|
405 | if ($execSetCustomerPurchase && !lfSetCustomerPurchase($customer_id, $arrOrderTemp, $objQuery)) { |
---|
406 | gfPrintLog("\tFailed lfSetCustomerPurchase();", $logPath); |
---|
407 | $objQuery->rollback(); |
---|
408 | return false; |
---|
409 | } |
---|
410 | // °ì»þ¥Æ¡¼¥Ö¥ë¤ò¼õÃí¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë |
---|
411 | gfPrintLog("\tlfRegistOrder() Start.", $logPath); |
---|
412 | if (!lfRegistOrder($objQuery, $arrOrderTemp)) { |
---|
413 | gfPrintLog("\t" . 'Failed lfRegistOrder();', $logPath); |
---|
414 | $objQuery->rollback(); |
---|
415 | return false; |
---|
416 | } |
---|
417 | // ¥«¡¼¥È¾¦Éʤò¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë |
---|
418 | gfPrintLog("\tlfRegistOrderDetail() Start.", $logPath); |
---|
419 | if (!lfRegistOrderDetail($objQuery, $order_id, $objCartSess)) { |
---|
420 | gfPrintLog("\t" . 'Failed lfRegistOrderDetail();', $logPath); |
---|
421 | $objQuery->rollback(); |
---|
422 | return false; |
---|
423 | } |
---|
424 | // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òºï½ü¤¹¤ë¡£ |
---|
425 | gfPrintLog("\tlfDeleteTempOrder() Start.", $logPath); |
---|
426 | if (!lfDeleteTempOrder($objQuery, $uniqid)) { |
---|
427 | gfPrintLog("\t" . 'Failed lfDeleteTempOrder();', $logPath); |
---|
428 | $objQuery->rollback(); |
---|
429 | return false; |
---|
430 | } |
---|
431 | // ¥¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤Î¾ì¹çÅÐÏ¿¤¹¤ë¡£ |
---|
432 | if ($objCampaignSess->getIsCampaign()) { |
---|
433 | gfPrintLog("\tlfRegistCampaignOrder() Start.", $logPath); |
---|
434 | if (!lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id)) { |
---|
435 | gfPrintLog("\t" . 'Failed lfRegistCampaignOrder();', $logPath); |
---|
436 | $objQuery->rollback(); |
---|
437 | return false; |
---|
438 | } |
---|
439 | } |
---|
440 | |
---|
441 | // sfSendOrderMail(), sfMakeSubject()Æâ¤Ç¡¢LC_Page¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á¡¢¤³¤³¤ÇLC_Page¥¯¥é¥¹¤òÄêµÁ¤¹¤ë. |
---|
442 | // ¤³¤³¤ÇÄêµÁ¤·¤Ê¤¤¤ÈLC_Page¥¯¥é¥¹¤¬Ì¤ÄêµÁ¤Ê¤Î¤ÇFatal Error¤Ë¤Ê¤ë. |
---|
443 | if (!class_exists('LC_Page')) { |
---|
444 | gfPrintLog("\t" . 'define LC_Page Class.', $logPath); |
---|
445 | class LC_Page {} |
---|
446 | } |
---|
447 | |
---|
448 | gfPrintLog("\t" . 'Send Mail Start.', $logPath); |
---|
449 | lfSendMail($order_id, $preCustomer, $customer_id); // ¥á¡¼¥ëÁ÷¿® |
---|
450 | |
---|
451 | gfPrintLog("\t" . 'Commit Transaction.', $logPath); |
---|
452 | $objQuery->commit(); |
---|
453 | |
---|
454 | gfPrintLog("\t" . 'Success lfMobileComplete();', $logPath); |
---|
455 | return true; |
---|
456 | } |
---|
457 | /** |
---|
458 | * ¥â¥Ð¥¤¥ë¥¯¥ì¥¸¥Ã¥È´°Î»Íѥѥé¥á¡¼¥¿¤Î½é´ü²½ |
---|
459 | * |
---|
460 | * @return SC_FormParam |
---|
461 | */ |
---|
462 | function lfInitParamMobileCompleteCredit() { |
---|
463 | /** |
---|
464 | X-TRANID => 0802242008300000873041892525 from 211.0.149.169 |
---|
465 | X-S_TORIHIKI_NO => 50 from 211.0.149.169 |
---|
466 | X-REFAPPROVED => 2008224 from 211.0.149.169 |
---|
467 | X-REFFORWARDED => 15250 from 211.0.149.169 |
---|
468 | X-ERRCODE => from 211.0.149.169 |
---|
469 | X-ERRINFO => 000000000 from 211.0.149.169 |
---|
470 | X-ERRLEVEL => 0 from 211.0.149.169 |
---|
471 | X-R_CODE => 0:0000 from 211.0.149.169 |
---|
472 | CARIER_TYPE => imode from 211.0.149.169 |
---|
473 | REC_TYPE => RET from 211.0.149.169 |
---|
474 | X-REFGATEWAYNO => 1 from 211.0.149.169 |
---|
475 | X-AMOUNT => 2733 from 211.0.149.169 |
---|
476 | X-TAX => 0 from 211.0.149.169 |
---|
477 | X-TOTAL => 2733 from 211.0.149.169 |
---|
478 | X-PAYQUICKID => from 211.0.149.169 |
---|
479 | X-PARTOFCARD => 1234 from 211.0.149.169 |
---|
480 | X-EXPIRE => 1122 from 211.0.149.169 |
---|
481 | X-NAME => LOCKON from 211.0.149.169 |
---|
482 | */ |
---|
483 | $objForm = new SC_FormParam(); |
---|
484 | $objForm->addParam('¥È¥é¥ó¥¶¥¯¥·¥ç¥óID', 'X-TRANID', 28, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
485 | $objForm->addParam('ÀÁµáÈÖ¹æ', 'X-S_TORIHIKI_NO', 17, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
486 | $objForm->addParam('¶â³Û', 'X-AMOUNT', 8, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
487 | $objForm->addParam('ÀÇÁ÷ÎÁ', 'X-TAX', 7, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
488 | $objForm->addParam('¹ç·×¶â³Û', 'X-TOTAL', 8, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
489 | $objForm->addParam('¾µÇ§ÈÖ¹æ', 'X-REFAPPROVED', 7, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
490 | $objForm->addParam('»Å¸þÀ襳¡¼¥É', 'X-REFFORWARDED', 7, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
491 | $objForm->addParam('¥¨¥é¡¼¥³¡¼¥É', 'X-ERRCODE', 3, '', array('MAX_LENGTH_CHECK')); |
---|
492 | $objForm->addParam('¥¨¥é¡¼¾ÜºÙ¥³¡¼¥É', 'X-ERRINFO', 9, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
493 | $objForm->addParam('¥¨¥é¡¼¥ì¥Ù¥ë', 'X-ERRLEVEL', 1, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
494 | $objForm->addParam('Ìá¤ê¥³¡¼¥É', 'X-R_CODE', 6, '', array('MAX_LENGTH_CHECK')); |
---|
495 | $objForm->addParam('Ìá¤ê¶èʬ', 'REC_TYPE', 3,'', array('EXIST_CHECK', 'ALNUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
496 | $objForm->addParam('¥²¡¼¥È¥¦¥§¥¤ÈÖ¹æ', 'X-REFGATEWAYNO', 2, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
497 | $objForm->addParam('¥Ú¥¤¥¯¥¤¥Ã¥¯ID', 'X-PAYQUICKID', 20, '', array('ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
498 | $objForm->addParam('¥¥ã¥ê¥¢', 'CARIER_TYPE', 5, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
499 | $objForm->addParam('¥«¡¼¥ÉÈÖ¹æ', 'X-PARTOFCARD', 4, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
500 | $objForm->addParam('͸ú´ü¸Â', 'X-EXPIRE', 4, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
501 | |
---|
502 | $objForm->setParam($_POST); |
---|
503 | return $objForm; |
---|
504 | } |
---|
505 | |
---|
506 | /** |
---|
507 | * ¥â¥Ð¥¤¥ë¥³¥ó¥Ó¥Ë´°Î»Íѥѥé¥á¡¼¥¿¤Î½é´ü²½ |
---|
508 | * |
---|
509 | * @return SC_FormParam |
---|
510 | */ |
---|
511 | function lfInitParamMobileCompleteConveni() { |
---|
512 | $objForm = new SC_FormParam(); |
---|
513 | $objForm->addParam('¥¸¥ç¥ÖID', 'X-JOB_ID', 17, '', array('EXIST_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
514 | $objForm->addParam('ÀÁµáÈÖ¹æ', 'X-S_TORIHIKI_NO', 17, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
515 | $objForm->addParam('Ìá¤ê¥³¡¼¥É', 'X-R_CODE', 6, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK')); |
---|
516 | $objForm->addParam('ÀÁµá¶â³Û', 'X-TOTAL', 6, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
517 | $objForm->addParam('³°ÀÇʬ¾ÃÈñÀÇ', 'X-TAX', 6, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
518 | $objForm->addParam('»Ùʧ´ü¸Â', 'X-PAYDATE', 8, '', array('ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
519 | $objForm->addParam('»Ùʧ¤¤ÊýË¡¥³¡¼¥É', 'X-PAY_WAY', 3, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
520 | $objForm->addParam('¥³¥ó¥Ó¥Ë¥³¡¼¥É', 'X-PAY_CSV', 4, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
521 | $objForm->addParam('ʧ¤¤½Ð¤·ÈÖ¹æ1', 'X-PAY_NO1', 20, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK')); |
---|
522 | $objForm->addParam('ʧ¤¤½Ð¤·ÈÖ¹æ2', 'X-PAY_NO2', 120, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK')); |
---|
523 | $objForm->addParam('¥ª¥×¥·¥ç¥ó', 'OPT', 100, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
524 | $objForm->addParam('Ìá¤ê¶èʬ', 'REC_TYPE', 3,'', array('EXIST_CHECK', 'ALNUM_CHECK', 'NUM_COUNT_CHECK')); |
---|
525 | $objForm->addParam('¥¥ã¥ê¥¢', 'CARIER_TYPE', 5, '', array('EXIST_CHECK', 'ALNUM_CHECK', 'MAX_LENGTH_CHECK')); |
---|
526 | $objForm->setParam($_POST); |
---|
527 | |
---|
528 | return $objForm; |
---|
529 | } |
---|
530 | /** |
---|
531 | * ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤ò¹¹¿·¤¹¤ë |
---|
532 | * |
---|
533 | * @param array $arrForm |
---|
534 | * @param SC_Query $objQuery |
---|
535 | * @return array|null |
---|
536 | */ |
---|
537 | function lfUpdateOrderTemp($arrForm, $objQuery) { |
---|
538 | $order_id = $arrForm['X-S_TORIHIKI_NO']; |
---|
539 | |
---|
540 | // POST¥Ç¡¼¥¿¤òÊݸ |
---|
541 | $arrVal["credit_result"] = $arrForm["X-TRANID"]; |
---|
542 | $arrVal["memo01"] = PAYMENT_CREDIT_ID; |
---|
543 | $arrVal["memo03"] = MDL_REMISE_ID; |
---|
544 | $arrVal["memo04"] = $arrForm["X-TRANID"]; |
---|
545 | |
---|
546 | // ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É |
---|
547 | $arrMemo["trans_code"] = array("name"=>"Remise¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É", "value" => $arrForm["X-TRANID"]); |
---|
548 | $arrVal["memo02"] = serialize($arrMemo); |
---|
549 | |
---|
550 | // ·èºÑÁ÷¿®¥Ç¡¼¥¿ºîÀ® |
---|
551 | $arrModule['module_id'] = MDL_REMISE_ID; |
---|
552 | $arrModule['payment_total'] = $arrForm["X-TOTAL"]; |
---|
553 | $arrModule['payment_id'] = PAYMENT_CREDIT_ID; |
---|
554 | $arrVal['memo05'] = serialize($arrModule); |
---|
555 | |
---|
556 | $objQuery->update('dtb_order_temp', $arrVal, 'order_id = ?', array($order_id)); |
---|
557 | return $objQuery->select('*', 'dtb_order_temp', 'order_id = ? AND del_flg = 0', array($order_id)); |
---|
558 | } |
---|
559 | |
---|
560 | /** |
---|
561 | * ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î½»½ê¤¬ÅÐÏ¿ºÑ¤ß¥Æ¡¼¥Ö¥ë¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Ê̤ΤªÆϤ±Àè¤ËÄɲ乤ë |
---|
562 | * |
---|
563 | * @param string $uniqid |
---|
564 | * @param integer $customer_id |
---|
565 | */ |
---|
566 | function lfSetNewAddr($uniqid, $customer_id, $objQuery) { |
---|
567 | $diff = false; |
---|
568 | $find_same = false; |
---|
569 | |
---|
570 | $col = "deliv_name01,deliv_name02,deliv_kana01,deliv_kana02,deliv_tel01,deliv_tel02,deliv_tel03,deliv_zip01,deliv_zip02,deliv_pref,deliv_addr01,deliv_addr02"; |
---|
571 | $where = "order_temp_id = ?"; |
---|
572 | $arrRet = $objQuery->select($col, "dtb_order_temp", $where, array($uniqid)); |
---|
573 | |
---|
574 | // Í×ÁÇ̾¤Îdeliv_¤òºï½ü¤¹¤ë¡£ |
---|
575 | foreach($arrRet[0] as $key => $val) { |
---|
576 | $keyname = ereg_replace("^deliv_", "", $key); |
---|
577 | $arrNew[$keyname] = $val; |
---|
578 | } |
---|
579 | |
---|
580 | // ²ñ°÷¾ðÊó¥Æ¡¼¥Ö¥ë¤È¤ÎÈæ³Ó |
---|
581 | $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; |
---|
582 | $where = "customer_id = ?"; |
---|
583 | $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); |
---|
584 | |
---|
585 | // ²ñ°÷¾ðÊó¤Î½»½ê¤È°Û¤Ê¤ë¾ì¹ç |
---|
586 | if($arrNew != $arrCustomerAddr[0]) { |
---|
587 | // Ê̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤Î½»½ê¤ÈÈæ³Ó¤¹¤ë |
---|
588 | $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; |
---|
589 | $where = "customer_id = ?"; |
---|
590 | $arrOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($customer_id)); |
---|
591 | |
---|
592 | foreach($arrOtherAddr as $arrval) { |
---|
593 | if($arrNew == $arrval) { |
---|
594 | // ¤¹¤Ç¤ËƱ¤¸½»½ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë |
---|
595 | $find_same = true; |
---|
596 | } |
---|
597 | } |
---|
598 | |
---|
599 | if(!$find_same) { |
---|
600 | $diff = true; |
---|
601 | } |
---|
602 | } |
---|
603 | |
---|
604 | // ¿·¤·¤¤¤ªÆϤ±À褬ÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤È°Û¤Ê¤ë¾ì¹ç¤ÏÊ̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë |
---|
605 | if($diff) { |
---|
606 | $sqlval = $arrNew; |
---|
607 | $sqlval['customer_id'] = $customer_id; |
---|
608 | $objQuery->insert("dtb_other_deliv", $sqlval); |
---|
609 | } |
---|
610 | } |
---|
611 | |
---|
612 | /** |
---|
613 | * ¹ØÆþ¾ðÊó¤ò²ñ°÷¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë |
---|
614 | * |
---|
615 | * @param integer $customer_id |
---|
616 | * @param array $arrData ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¾ðÊó |
---|
617 | * @param SC_Query $objQuery |
---|
618 | * @return booean |
---|
619 | */ |
---|
620 | function lfSetCustomerPurchase($customer_id, $arrData, $objQuery) { |
---|
621 | $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; |
---|
622 | $where = "customer_id = ?"; |
---|
623 | $arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); |
---|
624 | $sqlval = $arrRet[0]; |
---|
625 | |
---|
626 | if($sqlval['first_buy_date'] == "") { |
---|
627 | $sqlval['first_buy_date'] = "Now()"; |
---|
628 | } |
---|
629 | $sqlval['last_buy_date'] = "Now()"; |
---|
630 | $sqlval['buy_times']++; |
---|
631 | $sqlval['buy_total']+= $arrData['total']; |
---|
632 | $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); |
---|
633 | |
---|
634 | // ¥Ý¥¤¥ó¥È¤¬ÉÔ¤·¤Æ¤¤¤ë¾ì¹ç |
---|
635 | if($sqlval['point'] < 0) { |
---|
636 | return false; |
---|
637 | } |
---|
638 | $objQuery->update("dtb_customer", $sqlval, $where, array($customer_id)); |
---|
639 | return true; |
---|
640 | } |
---|
641 | /** |
---|
642 | * ²ñ°÷ÅÐÏ¿¡Ê²¾ÅÐÏ¿¡Ë¤ò¼Â¹Ô¤¹¤ë |
---|
643 | * |
---|
644 | * @param array $arrData ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¾ðÊó |
---|
645 | * @param array $arrInfo ¥µ¥¤¥È¾ðÊó |
---|
646 | * @return integer customer_id ¸ÜµÒID |
---|
647 | */ |
---|
648 | function lfRegistPreCustomer($arrData, $arrInfo, $objQuery) { |
---|
649 | foreach ($arrData as $k => $v) { |
---|
650 | gfPrintLog("$k -> $v", REMISE_LOG_PATH_CARD_RET); |
---|
651 | } |
---|
652 | // ¹ØÆþ»þ¤Î²ñ°÷ÅÐÏ¿ |
---|
653 | $sqlval['name01'] = $arrData['order_name01']; |
---|
654 | $sqlval['name02'] = $arrData['order_name02']; |
---|
655 | $sqlval['kana01'] = $arrData['order_kana01']; |
---|
656 | $sqlval['kana02'] = $arrData['order_kana02']; |
---|
657 | $sqlval['zip01'] = $arrData['order_zip01']; |
---|
658 | $sqlval['zip02'] = $arrData['order_zip02']; |
---|
659 | $sqlval['pref'] = $arrData['order_pref']; |
---|
660 | $sqlval['addr01'] = $arrData['order_addr01']; |
---|
661 | $sqlval['addr02'] = $arrData['order_addr02']; |
---|
662 | $sqlval['email'] = $arrData['order_email']; |
---|
663 | $sqlval['tel01'] = $arrData['order_tel01']; |
---|
664 | $sqlval['tel02'] = $arrData['order_tel02']; |
---|
665 | $sqlval['tel03'] = $arrData['order_tel03']; |
---|
666 | $sqlval['fax01'] = $arrData['order_fax01']; |
---|
667 | $sqlval['fax02'] = $arrData['order_fax02']; |
---|
668 | $sqlval['fax03'] = $arrData['order_fax03']; |
---|
669 | $sqlval['sex'] = $arrData['order_sex']; |
---|
670 | $sqlval['password'] = $arrData['password']; |
---|
671 | $sqlval['reminder'] = $arrData['reminder']; |
---|
672 | $sqlval['reminder_answer'] = $arrData['reminder_answer']; |
---|
673 | |
---|
674 | // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥե饰¤ÎȽÄê |
---|
675 | switch($arrData['mail_flag']) { |
---|
676 | case '1': // HTML¥á¡¼¥ë |
---|
677 | $mail_flag = 4; |
---|
678 | break; |
---|
679 | case '2': // TEXT¥á¡¼¥ë |
---|
680 | $mail_flag = 5; |
---|
681 | break; |
---|
682 | case '3': // ´õ˾¤Ê¤· |
---|
683 | $mail_flag = 6; |
---|
684 | break; |
---|
685 | default: |
---|
686 | $mail_flag = 6; |
---|
687 | break; |
---|
688 | } |
---|
689 | // ¥á¥ë¥Þ¥¬¥Õ¥é¥° |
---|
690 | $sqlval['mailmaga_flg'] = $mail_flag; |
---|
691 | |
---|
692 | // ²ñ°÷²¾ÅÐÏ¿ |
---|
693 | $sqlval['status'] = 1; |
---|
694 | // URLȽÄêÍÑ¥¡¼ |
---|
695 | $sqlval['secret_key'] = sfGetUniqRandomId("t"); |
---|
696 | |
---|
697 | $objQuery = new SC_Query(); |
---|
698 | $sqlval['create_date'] = "now()"; |
---|
699 | $sqlval['update_date'] = "now()"; |
---|
700 | $objQuery->insert("dtb_customer", $sqlval); |
---|
701 | |
---|
702 | // ¸ÜµÒID¤Î¼èÆÀ |
---|
703 | $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key'])); |
---|
704 | $customer_id = $arrRet[0]['customer_id']; |
---|
705 | |
---|
706 | return $customer_id; |
---|
707 | } |
---|
708 | /** |
---|
709 | * ¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ |
---|
710 | * |
---|
711 | * @param SC_Query $objQuery |
---|
712 | * @param array $arrData |
---|
713 | * @return $order_id |
---|
714 | */ |
---|
715 | function lfRegistOrder($objQuery, $arrData) { |
---|
716 | $objCampaignSess = new SC_CampaignSession(); |
---|
717 | $sqlval = $arrData; |
---|
718 | |
---|
719 | // Ãíʸ¥¹¥Æ¡¼¥¿¥¹:»ØÄ̵꤬¤±¤ì¤Ð¿·µ¬¼õÉÕ¤ËÀßÄê |
---|
720 | if(!isset($sqlval["status"])) { |
---|
721 | $sqlval['status'] = '1'; |
---|
722 | } |
---|
723 | |
---|
724 | // Ê̤ΤªÆϤ±Àè¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÇÛÁ÷Àè¤ËÅÐÏ¿½»½ê¤ò¥³¥Ô¡¼¤¹¤ë¡£ |
---|
725 | if(empty($arrData["deliv_check"]) || $arrData["deliv_check"] == "-1") { |
---|
726 | $sqlval['deliv_name01'] = $arrData['order_name01']; |
---|
727 | $sqlval['deliv_name02'] = $arrData['order_name02']; |
---|
728 | $sqlval['deliv_kana01'] = $arrData['order_kana01']; |
---|
729 | $sqlval['deliv_kana02'] = $arrData['order_kana02']; |
---|
730 | $sqlval['deliv_pref'] = $arrData['order_pref']; |
---|
731 | $sqlval['deliv_zip01'] = $arrData['order_zip01']; |
---|
732 | $sqlval['deliv_zip02'] = $arrData['order_zip02']; |
---|
733 | $sqlval['deliv_addr01'] = $arrData['order_addr01']; |
---|
734 | $sqlval['deliv_addr02'] = $arrData['order_addr02']; |
---|
735 | $sqlval['deliv_tel01'] = $arrData['order_tel01']; |
---|
736 | $sqlval['deliv_tel02'] = $arrData['order_tel02']; |
---|
737 | $sqlval['deliv_tel03'] = $arrData['order_tel03']; |
---|
738 | } |
---|
739 | |
---|
740 | $order_id = $arrData['order_id']; // ¥ª¡¼¥À¡¼ID |
---|
741 | $sqlval['create_date'] = 'now()'; // ¼õÃíÆü |
---|
742 | |
---|
743 | // ¥¥ã¥ó¥Ú¡¼¥óID |
---|
744 | if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); |
---|
745 | |
---|
746 | // ¼õÃí¥Æ¡¼¥Ö¥ë¤Ë½ñ¤¹þ¤Þ¤Ê¤¤Îó¤ò½üµî |
---|
747 | unset($sqlval['mailmaga_flg']); // ¥á¥ë¥Þ¥¬¥Á¥§¥Ã¥¯ |
---|
748 | unset($sqlval['deliv_check']); // Ê̤ΤªÆϤ±Àè¥Á¥§¥Ã¥¯ |
---|
749 | unset($sqlval['point_check']); // ¥Ý¥¤¥ó¥ÈÍøÍÑ¥Á¥§¥Ã¥¯ |
---|
750 | unset($sqlval['member_check']); // ¹ØÆþ»þ²ñ°÷¥Á¥§¥Ã¥¯ |
---|
751 | unset($sqlval['password']); // ¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É |
---|
752 | unset($sqlval['reminder']); // ¥ê¥Þ¥¤¥ó¥À¡¼¼ÁÌä |
---|
753 | unset($sqlval['reminder_answer']); // ¥ê¥Þ¥¤¥ó¥À¡¼Åú¤¨ |
---|
754 | unset($sqlval['mail_flag']); // ¥á¡¼¥ë¥Õ¥é¥° |
---|
755 | unset($sqlval['session']); // ¥»¥Ã¥·¥ç¥ó¾ðÊó |
---|
756 | |
---|
757 | // INSERT¤Î¼Â¹Ô |
---|
758 | $objQuery->insert("dtb_order", $sqlval); |
---|
759 | |
---|
760 | return true; |
---|
761 | } |
---|
762 | /** |
---|
763 | * ¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ |
---|
764 | * |
---|
765 | * @param SC_Query $objQuery |
---|
766 | * @param integer $order_id |
---|
767 | * @param boolean |
---|
768 | */ |
---|
769 | function lfRegistOrderDetail($objQuery, $order_id, $objCartSess) { |
---|
770 | // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ |
---|
771 | $arrCart = $objCartSess->getCartList(); |
---|
772 | $max = count($arrCart); |
---|
773 | |
---|
774 | // ´û¤Ë¸ºß¤¹¤ë¾ÜºÙ¥ì¥³¡¼¥É¤ò¾Ã¤·¤Æ¤ª¤¯¡£ |
---|
775 | $objQuery->delete("dtb_order_detail", "order_id = ?", array($order_id)); |
---|
776 | |
---|
777 | // µ¬³Ê̾°ìÍ÷ |
---|
778 | $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); |
---|
779 | // µ¬³ÊʬÎà̾°ìÍ÷ |
---|
780 | $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); |
---|
781 | |
---|
782 | for ($i = 0; $i < $max; $i++) { |
---|
783 | // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ |
---|
784 | $arrData = sfGetProductsClass($arrCart[$i]['id']); |
---|
785 | |
---|
786 | // ¸ºß¤¹¤ë¾¦ÉʤΤßɽ¼¨¤¹¤ë¡£ |
---|
787 | if($arrData != "") { |
---|
788 | $sqlval['order_id'] = $order_id; |
---|
789 | $sqlval['product_id'] = $arrCart[$i]['id'][0]; |
---|
790 | $sqlval['classcategory_id1'] = $arrCart[$i]['id'][1]; |
---|
791 | $sqlval['classcategory_id2'] = $arrCart[$i]['id'][2]; |
---|
792 | $sqlval['product_name'] = $arrData['name']; |
---|
793 | $sqlval['product_code'] = $arrData['product_code']; |
---|
794 | $sqlval['classcategory_name1'] = $arrClassCatName[$arrData['classcategory_id1']]; |
---|
795 | $sqlval['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']]; |
---|
796 | $sqlval['point_rate'] = $arrCart[$i]['point_rate']; |
---|
797 | $sqlval['price'] = $arrCart[$i]['price']; |
---|
798 | $sqlval['quantity'] = $arrCart[$i]['quantity']; |
---|
799 | // ºß¸Ë¤Î¸º¾¯½èÍý |
---|
800 | if (!lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity'])) { |
---|
801 | return false; |
---|
802 | } |
---|
803 | // INSERT¤Î¼Â¹Ô |
---|
804 | $objQuery->insert("dtb_order_detail", $sqlval); |
---|
805 | } else { |
---|
806 | return false; |
---|
807 | } |
---|
808 | } |
---|
809 | return true; |
---|
810 | } |
---|
811 | /** |
---|
812 | * ¹ØÆþ¾¦Éʤκ߸ˤò¸º¤é¤¹. |
---|
813 | * |
---|
814 | * @param SC_Query $objQuery |
---|
815 | * @param array $arrID ¾¦ÉÊID |
---|
816 | * @param integer $quantity ¾¦ÉÊ¿ô |
---|
817 | * @return boolean |
---|
818 | */ |
---|
819 | function lfReduceStock($objQuery, $arrID, $quantity) { |
---|
820 | $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; |
---|
821 | $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); |
---|
822 | |
---|
823 | // Çä¤êÀڤ쥨¥é¡¼ |
---|
824 | if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { |
---|
825 | return false; |
---|
826 | |
---|
827 | // ̵À©¸Â¤Î¾ì¹ç¡¢ºß¸Ë¤ÏNULL |
---|
828 | } elseif($arrRet[0]['stock_unlimited'] == '1') { |
---|
829 | $sqlval['stock'] = null; |
---|
830 | $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); |
---|
831 | // ºß¸Ë¤ò¸º¤é¤¹ |
---|
832 | } else { |
---|
833 | $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); |
---|
834 | if($sqlval['stock'] == "") { |
---|
835 | $sqlval['stock'] = '0'; |
---|
836 | } |
---|
837 | $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); |
---|
838 | } |
---|
839 | return true; |
---|
840 | } |
---|
841 | /** |
---|
842 | * ¥¥ã¥ó¥Ú¡¼¥ó¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ |
---|
843 | * |
---|
844 | * @param SC_Query $objQuery |
---|
845 | * @param SC_CampaignSession $objCampaignSess |
---|
846 | * @param integer $order_id |
---|
847 | */ |
---|
848 | function lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id) { |
---|
849 | |
---|
850 | // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ |
---|
851 | $cols = "order_id, campaign_id, customer_id, message, order_name01, order_name02,". |
---|
852 | "order_kana01, order_kana02, order_email, order_tel01, order_tel02, order_tel03,". |
---|
853 | "order_fax01, order_fax02, order_fax03, order_zip01, order_zip02, order_pref, order_addr01,". |
---|
854 | "order_addr02, order_sex, order_birth, order_job, deliv_name01, deliv_name02, deliv_kana01,". |
---|
855 | "deliv_kana02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_fax01, deliv_fax02, deliv_fax03,". |
---|
856 | "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, payment_total"; |
---|
857 | |
---|
858 | $arrOrder = $objQuery->select($cols, "dtb_order", "order_id = ?", array($order_id)); |
---|
859 | |
---|
860 | $sqlval = $arrOrder[0]; |
---|
861 | $sqlval['create_date'] = 'now()'; |
---|
862 | |
---|
863 | // INSERT¤Î¼Â¹Ô |
---|
864 | $objQuery->insert("dtb_campaign_order", $sqlval); |
---|
865 | |
---|
866 | // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· |
---|
867 | $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($sqlval['campaign_id'])); |
---|
868 | $arrCampaign['total_count'] = $total_count += 1; |
---|
869 | $objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($sqlval['campaign_id'])); |
---|
870 | |
---|
871 | return true; |
---|
872 | } |
---|
873 | /** |
---|
874 | * ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Îºï½ü |
---|
875 | * |
---|
876 | * @param SC_Query $objQuery |
---|
877 | * @param string $uniqid |
---|
878 | */ |
---|
879 | function lfDeleteTempOrder($objQuery, $uniqid) { |
---|
880 | $where = "order_temp_id = ?"; |
---|
881 | $sqlval['del_flg'] = 1; |
---|
882 | $objQuery->update("dtb_order_temp", $sqlval, $where, array($uniqid)); |
---|
883 | return true; |
---|
884 | } |
---|
885 | /** |
---|
886 | * ¥á¡¼¥ëÁ÷¿®½èÍý |
---|
887 | * |
---|
888 | * @param integer $order_id |
---|
889 | * @param boolean $preCustomer |
---|
890 | * @param integer $customer_id |
---|
891 | */ |
---|
892 | function lfSendMail($order_id, $preCustomer = false, $customer_id = null) { |
---|
893 | $objQuery = new SC_Query; |
---|
894 | $arrOrder = $objQuery->select("*", "dtb_order", "order_id = ?", array($order_id)); |
---|
895 | $arrOrder = $arrOrder[0]; |
---|
896 | |
---|
897 | $secret_key = $objQuery->get('dtb_customer', 'secret_key', 'customer_id=?', array($customer_id)); |
---|
898 | |
---|
899 | // ¥â¥Ð¥¤¥ë²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿® |
---|
900 | if ($preCustomer && $customer_id) { |
---|
901 | |
---|
902 | gfPrintLog("\tPre Customer Mail Send.", REMISE_LOG_PATH_CARD_RET); |
---|
903 | $arrInfo = sf_getBasisData(); |
---|
904 | $objMailPage = new StdClass(); |
---|
905 | $objMailPage->to_name01 = $arrOrder['order_name01']; |
---|
906 | $objMailPage->to_name02 = $arrOrder['order_name02']; |
---|
907 | $objMailPage->CONF = $arrInfo; |
---|
908 | $objMailPage->uniqid = $secret_key; |
---|
909 | $objMailView = new SC_SiteView; |
---|
910 | $objMailView->assignobj($objMailPage); |
---|
911 | $body = $objMailView->fetch("mobile/mail_templates/customer_mail.tpl"); |
---|
912 | |
---|
913 | $objMail = new GC_SendMail(); |
---|
914 | $objMail->setItem( |
---|
915 | '' //¡¡°¸Àè |
---|
916 | , sfMakeSubject("²ñ°÷ÅÐÏ¿¤Î¤´³Îǧ") //¡¡¥µ¥Ö¥¸¥§¥¯¥È |
---|
917 | , $body //¡¡ËÜʸ |
---|
918 | , $arrInfo['email03'] //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ |
---|
919 | , $arrInfo['shop_name'] //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° |
---|
920 | , $arrInfo["email03"] //¡¡reply_to |
---|
921 | , $arrInfo["email04"] //¡¡return_path |
---|
922 | , $arrInfo["email04"] // Errors_to |
---|
923 | , $arrInfo["email01"] // Bcc |
---|
924 | ); |
---|
925 | // °¸Àè¤ÎÀßÄê |
---|
926 | $name = $arrOrder['order_name01'] . $arrOrder['order_name02'] ." ÍÍ"; |
---|
927 | $objMail->setTo($arrOrder['order_email'], $name); |
---|
928 | $objMail->sendMail(); |
---|
929 | } |
---|
930 | |
---|
931 | // ¥â¥Ð¥¤¥ë¹ØÆþ´°Î»¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë |
---|
932 | sfSendOrderMail($order_id, '2'); |
---|
933 | } |
---|
934 | |
---|
935 | /** |
---|
936 | * ¼õÃí°ì»þ¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë |
---|
937 | * |
---|
938 | * @param array $arrForm |
---|
939 | * @param SC_Query $objQuery |
---|
940 | * @return array|null |
---|
941 | */ |
---|
942 | function lfGetOrderTempConveni($arrForm, $objQuery) { |
---|
943 | $order_id = $arrForm['X-S_TORIHIKI_NO']; |
---|
944 | $uniqid = $arrForm['OPT']; |
---|
945 | $where = 'order_id = ? AND order_temp_id = ? AND del_flg = 0'; |
---|
946 | return $objQuery->select('*', 'dtb_order_temp', $where, array($order_id, $uniqid)); |
---|
947 | } |
---|
948 | |
---|
949 | function lfSetConvMSG($name, $value){ |
---|
950 | return array("name" => $name, "value" => $value); |
---|
951 | } |
---|
952 | ?> |
---|