source: branches/dev/data/downloads/module/mdl_remise/mdl_remise.php @ 11646

Revision 11646, 11.9 KB checked in by inoue, 16 years ago (diff)

コンビニの下限値を200円に設定

Line 
1<?php
2/**
3 *
4 * @copyright   2000-2007 LOCKON CO.,LTD. All Rights Reserved.
5 * @version CVS: $Id: mdl_remise.php 1.0 2007-02-05 06:08:28Z inoue $
6 * @link        http://www.lockon.co.jp/
7 *
8 */
9require_once(MODULE_PATH . "mdl_remise/mdl_remise.inc");
10
11//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹
12class LC_Page {
13    //¥³¥ó¥¹¥È¥é¥¯¥¿
14    function LC_Page() {
15        //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê
16        $this->tpl_mainpage = MODULE_PATH . 'mdl_remise/mdl_remise.tpl';
17        $this->tpl_subtitle = '¥ë¥ß¡¼¥º·èºÑ¥â¥¸¥å¡¼¥ë';
18        global $arrPayment;
19        $this->arrPayment = $arrPayment;
20        global $arrCredit;
21        $this->arrCredit = $arrCredit;
22        global $arrCreditDivide;
23        $this->arrCreditDivide = $arrCreditDivide;
24        global $arrConvenience;
25        $this->arrConvenience = $arrConvenience;
26        global $arrMobileConvenience;
27        $this->arrMobileConvenience = $arrMobileConvenience;
28    }
29}
30$objPage = new LC_Page();
31$objView = new SC_AdminView();
32$objQuery = new SC_Query();
33
34// ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý
35lfRemiseCreditResultCheck();
36
37// ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯
38lfRemiseConveniCheck();
39
40// ǧ¾Ú³Îǧ
41$objSess = new SC_Session();
42sfIsSuccess($objSess);
43
44// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
45$objFormParam = new SC_FormParam();
46$objFormParam = lfInitParam($objFormParam);
47
48// POSTÃͤμèÆÀ
49$objFormParam->setParam($_POST);
50
51// ÈÆÍѹàÌܤòÄɲÃ(ɬ¿Ü¡ª¡ª)
52sfAlterMemo();
53
54$mode = "";
55if (isset($_POST['mode'])) {
56    $mode = $_POST['mode'];
57}
58
59switch($mode) {
60    case 'edit':
61        // ÆþÎÏ¥¨¥é¡¼È½Äê
62        $objPage->arrErr = lfCheckError();
63
64        // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç¤Ë¤Ï¥Ç¡¼¥¿¤ò¹¹¿·
65        if (count($objPage->arrErr) == 0) {
66            // ¥Ç¡¼¥¿¹¹¿·
67            lfUpdPaymentDB();
68           
69            // javascript¼Â¹Ô
70            $objPage->tpl_onload = 'alert("ÅÐÏ¿´°Î»¤·¤Þ¤·¤¿¡£\n´ðËܾðÊó¡ä»ÙʧÊýË¡ÀßÄê¤è¤ê¾ÜºÙÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£"); window.close();';
71        }
72        break;
73    case 'module_del':
74        // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯
75        if (sfColumnExists("dtb_payment", "memo01")) {
76            // ¥Ç¡¼¥¿¤Îºï½ü¥Õ¥é¥°¤ò¤¿¤Æ¤ë
77            $objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array(MDL_REMISE_ID));
78        }
79        break;
80    default:
81        // ¥Ç¡¼¥¿¤Î¥í¡¼¥É
82        lfLoadData();
83        break;
84}
85
86$objPage->arrForm = $objFormParam->getFormParamList();
87
88$objView->assignobj($objPage);                  //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë
89$objView->display($objPage->tpl_mainpage);      //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ
90//-------------------------------------------------------------------------------------------------------
91/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
92function lfInitParam($objFormParam) {
93    $objFormParam->addParam("²ÃÌÁŹ¥³¡¼¥É", "code", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
94    $objFormParam->addParam("¥Û¥¹¥ÈÈÖ¹æ", "host_id", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
95    $objFormParam->addParam("¥¯¥ì¥¸¥Ã¥ÈÀܳÀèURL(PC)", "credit_url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK"));
96    $objFormParam->addParam("¥¯¥ì¥¸¥Ã¥ÈÀܳÀèURL(¥â¥Ð¥¤¥ë)", "mobile_credit_url");
97    $objFormParam->addParam("»Ùʧ¤¤ÊýË¡", "credit_method");
98    $objFormParam->addParam("ʬ³ä²ó¿ô", "credit_divide");
99    $objFormParam->addParam("¥ª¥×¥·¥ç¥ó", "payment");
100    $objFormParam->addParam("¥³¥ó¥Ó¥ËÀܳÀèURL(PC)", "convenience_url");
101    $objFormParam->addParam("¥³¥ó¥Ó¥ËÀܳÀèURL(¥â¥Ð¥¤¥ë)", "mobile_convenience_url");
102    return $objFormParam;
103}
104
105// ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
106function lfCheckError(){
107    global $objFormParam;
108   
109    $arrErr = $objFormParam->checkError();
110   
111    // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¡¢ÍøÍÑ¥³¥ó¥Ó¥Ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯
112    $arrChkPay = $_POST["payment"];
113
114    // ¥¯¥ì¥¸¥Ã¥È¤Î»Ùʧ¤¤ÊýË¡
115    if (count($_POST["credit_method"]) <= 0) {
116        $arrErr["credit_method"] = "»Ùʧ¤¤ÊýË¡¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";
117    }
118
119    // ÍøÍÑ¥³¥ó¥Ó¥Ë
120    if (isset($arrChkPay)) {
121        if ($_POST["convenience_url"] == "" && $_POST["mobile_convenience_url"] == "") {
122            $arrErr["convenience_url"] = "¥³¥ó¥Ó¥ËÀܳÀèURL(PC)¤Þ¤¿¤Ï¥³¥ó¥Ó¥ËÀܳÀèURL(¥â¥Ð¥¤¥ë)¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";
123        }
124    }
125
126    return $arrErr;
127}
128
129// ÅÐÏ¿¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à
130function lfLoadData(){
131    global $objFormParam;
132   
133    //¥Ç¡¼¥¿¤ò¼èÆÀ
134    $arrRet = lfGetPaymentDB(" AND del_flg = '0'");
135
136    // Ãͤò¥»¥Ã¥È
137    $objFormParam->setParam($arrRet[0]);
138
139    // ²èÌÌɽ¼¨ÍѤ˥ǡ¼¥¿¤òÊÑ´¹
140    $arrDisp = array();
141    $arrDisp["payment"][0] = 0;
142
143    foreach($arrRet as $key => $val) {
144        // ¥¯¥ì¥¸¥Ã¥È¤Î·èºÑ¶èʬ¤ò¼èÆÀ
145        if($val["payment"] == 1) {
146            $credit = $val["payment_code"];
147            $arrDisp["credit_divide"] = $val["credit_divide"];
148        }
149
150        // ¥³¥ó¥Ó¥Ë¤Î·èºÑ¶èʬ¤ò¼èÆÀ
151        if($val["payment"] == 2) {
152            $arrDisp["convenience"] = $val["convenience"];
153            $arrDisp["payment"][0] = 1;
154            $arrDisp["convenience_url"] = $val["convenience_url"];
155            $arrDisp["mobile_convenience_url"] = $val["mobile_convenience_url"];
156        }
157    }
158
159    $objFormParam->setParam($arrDisp);
160   
161    // ¥¯¥ì¥¸¥Ã¥È»Ùʧ¤¤¶èʬ
162    $objFormParam->splitParamCheckBoxes("credit_method");
163   
164    // ¥³¥ó¥Ó¥Ë
165    $objFormParam->splitParamCheckBoxes("convenience");
166}
167
168// DB¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
169function lfGetPaymentDB($where = "", $arrWhereVal = array()){
170    global $objQuery;
171   
172    $arrVal = array(MDL_REMISE_ID);
173    $arrVal = array_merge($arrVal, $arrWhereVal);
174   
175    $arrRet = array();
176    $sql = "SELECT
177                module_id,
178                memo01 as code,
179                memo02 as host_id,
180                memo03 as payment,
181                memo04 as credit_url,
182                memo05 as convenience_url,
183                memo06 as mobile_credit_url,
184                memo07 as mobile_convenience_url,
185                memo08 as credit_method,
186                memo09 as credit_divide
187            FROM dtb_payment WHERE module_id = ? " . $where;
188    $arrRet = $objQuery->getall($sql, $arrVal);
189
190    return $arrRet;
191}
192
193
194// ¥Ç¡¼¥¿¤Î¹¹¿·½èÍý
195function lfUpdPaymentDB(){
196    global $objQuery;
197    global $objSess;
198   
199    // »Ùʧ¤¤ÊýË¡¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ï¥¤¥Õ¥ó¶èÀÚ¤ê¤ËÊÔ½¸¤¹¤ë
200    $convCnt = count($_POST["credit_method"]);
201    if ($convCnt > 0) {
202        $credit_method = $_POST["credit_method"][0];
203        for ($i = 1 ; $i < $convCnt ; $i++) {
204            $credit_method .= "-" . $_POST["credit_method"][$i];
205        }
206    }
207
208    // del_flg¤òºï½ü¤Ë¤·¤Æ¤ª¤¯
209    $del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? ";
210    $arrDel = array(MDL_REMISE_ID);
211    $objQuery->query($del_sql, $arrDel);
212
213    $arrEntry = array('1');
214
215    if (count($_POST["payment"]) > 0) {
216        $arrEntry[] = '2';
217    }
218
219    foreach($arrEntry as $key => $val){
220        // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë
221        $max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment");
222
223        // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ         
224        $arrPaymentData = lfGetPaymentDB("AND memo03 = ?", array($val));
225
226        // ¥¯¥ì¥¸¥Ã¥È·èºÑÅÐÏ¿
227        if($val == 1) {
228
229            $arrData = array(
230                "payment_method" => "remise¥¯¥ì¥¸¥Ã¥È"
231                ,"fix" => 3
232                ,"creator_id" => $objSess->member_id
233                ,"create_date" => "now()"
234                ,"update_date" => "now()"
235                ,"upper_rule" => REMISE_CREDIT_UPPER
236                ,"module_id" => MDL_REMISE_ID
237                ,"module_path" => MODULE_PATH . "mdl_remise/card.php"
238                ,"memo01" => $_POST["code"]
239                ,"memo02" => $_POST["host_id"]
240                ,"memo03" => $val
241                ,"memo04" => $_POST["credit_url"]
242                ,"memo06" => $_POST["mobile_credit_url"]
243                ,"memo08" => $credit_method
244                ,"memo09" => REMISE_PAYMENT_DIVIDE_MAX
245                ,"del_flg" => "0"
246                ,"charge_flg" => "2"
247                ,"upper_rule_max" => REMISE_CREDIT_UPPER
248            );
249        }
250
251        // ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥³¥ó¥Ó¥Ë¤òÅÐÏ¿¤¹¤ë
252        if($val == 2) {
253           
254            $arrData = array(
255                "payment_method" => "remise¥³¥ó¥Ó¥Ë"
256                ,"fix" => 3
257                ,"creator_id" => $objSess->member_id
258                ,"create_date" => "now()"
259                ,"update_date" => "now()"
260                ,"upper_rule" => REMISE_CONVENIENCE_UPPER
261                ,"module_id" => MDL_REMISE_ID
262                ,"module_path" => MODULE_PATH . "mdl_remise/convenience.php"
263                ,"memo01" => $_POST["code"]
264                ,"memo02" => $_POST["host_id"]
265                ,"memo03" => $val
266                ,"memo05" => $_POST["convenience_url"]
267                ,"memo07" => $_POST["mobile_convenience_url"]
268                ,"del_flg" => "0"
269                ,"charge_flg" => "1"
270                ,"upper_rule_max" => REMISE_CONVENIENCE_UPPER
271                ,"rule_min" => REMISE_CONVENIENCE_BOTTOM
272            );
273        }
274
275        // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐUPDATE¡¢Ìµ¤±¤ì¤ÐINSERT
276        if (count($arrPaymentData) > 0) {
277            $objQuery->update("dtb_payment", $arrData, " module_id = '" . MDL_REMISE_ID . "' AND memo03 = '" . $val ."'");
278        } else {
279            $arrData["rank"] = $max_rank + 1;
280            $objQuery->insert("dtb_payment", $arrData);
281        }
282    }
283}
284
285// ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý
286function lfRemiseCreditResultCheck(){
287    global $objQuery;
288   
289    $log_path = DATA_PATH . "logs/remise_card_result.log";
290    gfPrintLog("remise card result : ".$_POST["X-TRANID"] , $log_path);
291   
292    // TRAN_ID ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥«¡¼¥É¾ðÊ󤬤¢¤ë¾ì¹ç
293    if (isset($_POST["X-TRANID"]) && isset($_POST["X-PARTOFCARD"])) {
294       
295        $errFlg = FALSE;
296       
297        gfPrintLog("remise card result start----------", $log_path);
298        foreach($_POST as $key => $val){
299            gfPrintLog( "\t" . $key . " => " . $val, $log_path);
300        }
301        gfPrintLog("remise credit result end  ----------", $log_path);
302
303        // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç
304        if (REMISE_IP_ADDRESS_DENY == 1) {
305            gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path);
306            if (!isset($_SERVER["REMOTE_ADDR"]) || !lfIpAddressDenyCheck($_SERVER["REMOTE_ADDR"])) {
307                print("NOT REMISE SERVER");
308                exit;
309            }
310        }
311       
312        // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ
313        $order_id = 0;
314        $payment_total = 0;
315       
316        if (isset($_POST["X-S_TORIHIKI_NO"])) {
317            $order_id = $_POST["X-S_TORIHIKI_NO"];
318        }
319       
320        if (isset($_POST["X-TOTAL"])) {
321            $payment_total = $_POST["X-TOTAL"];
322        }
323       
324        gfPrintLog("order_id : ".$order_id, $log_path);
325        gfPrintLog("payment_total : ".$payment_total, $log_path);
326
327        // Ãíʸ¥Ç¡¼¥¿¼èÆÀ
328        $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id));
329
330        // ¶â³Û¤ÎÁê°ã
331        if (count($arrTempOrder) > 0) {
332            gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path);
333            if ($arrTempOrder[0]['payment_total'] == $payment_total) {
334                $errFlg = TRUE;
335            }
336        }
337       
338        if ($errFlg) {
339            print(REMISE_PAYMENT_CHARGE_OK);
340            exit;
341        }
342        print("ERROR");
343        exit;
344    }
345}
346
347// ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý
348function lfRemiseConveniCheck(){
349    global $objQuery;
350   
351    $log_path = DATA_PATH . "logs/remise_cv_charge.log";
352    gfPrintLog("remise conveni result : ".$_POST["JOB_ID"] , $log_path);
353   
354    // ɬÍפʥǡ¼¥¿¤¬Á÷¿®¤µ¤ì¤Æ¤¤¤Æ¡¢¼ýǼÄÌÃΤμ«Æ°¼õ¿®¤òµö²Ä¤·¤Æ¤¤¤ë¾ì¹ç
355    if(isset($_POST["JOB_ID"]) && isset($_POST["REC_FLG"]) && REMISE_CONVENIENCE_RECIVE == 1){
356       
357        $errFlg = FALSE;
358           
359        // ¼ýǼºÑ¤ß¤Î¾ì¹ç
360        if ($_POST["REC_FLG"] == REMISE_CONVENIENCE_CHARGE) {
361            // POST¤ÎÆâÍÆ¤òÁ´¤Æ¥í¥°Êݸ
362            gfPrintLog("remise conveni charge start----------", $log_path);
363            foreach($_POST as $key => $val){
364                gfPrintLog( "\t" . $key . " => " . $val, $log_path);
365            }
366            gfPrintLog("remise conveni charge end  ----------", $log_path);
367
368            // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç
369            if (REMISE_IP_ADDRESS_DENY == 1) {
370                gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path);
371                if (!isset($_SERVER["REMOTE_ADDR"]) || !lfIpAddressDenyCheck($_SERVER["REMOTE_ADDR"])) {
372                    print("NOT REMISE SERVER");
373                    exit;
374                }
375            }
376           
377            // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ
378            $order_id = 0;
379            $payment_total = 0;
380           
381            if (isset($_POST["S_TORIHIKI_NO"])) {
382                $order_id = $_POST["S_TORIHIKI_NO"];
383            }
384           
385            if (isset($_POST["TOTAL"])) {
386                $payment_total = $_POST["TOTAL"];
387            }
388           
389            gfPrintLog("order_id : ".$order_id, $log_path);
390            gfPrintLog("payment_total : ".$payment_total, $log_path);
391           
392            // Ãíʸ¥Ç¡¼¥¿¼èÆÀ
393            $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id));
394
395            // ¶â³Û¤ÎÁê°ã
396            if (count($arrTempOrder) > 0) {
397                gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path);
398                if ($arrTempOrder[0]['payment_total'] == $payment_total) {
399                    $errFlg = TRUE;
400                }
401            }
402           
403            // JOB_ID¤ÈÀÁµáÈֹ档Æþ¶â¶â³Û¤¬°ìÃפ¹¤ë¾ì¹ç¤Î¤ß¡¢¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë
404            if ($errFlg) {
405                $sql = "UPDATE dtb_order SET status = 6, update_date = now() ".
406                    "WHERE order_id = ? AND memo04 = ? ";
407                $objQuery->query($sql, array($order_id, $_POST["JOB_ID"]));
408           
409                //±þÅú·ë²Ì¤òɽ¼¨
410                print(REMISE_CONVENIENCE_CHARGE_OK);
411                exit;
412            }
413        }
414        print("ERROR");
415        exit;
416    }
417}
418
419/**
420 * IP¥¢¥É¥ì¥¹ÂÓ°è¥Á¥§¥Ã¥¯
421 * @param $ip IP¥¢¥É¥ì¥¹
422 * @return boolean
423 */
424function lfIpAddressDenyCheck($ip) {
425   
426    // IP¥¢¥É¥ì¥¹ÈÏ°Ï¤ËÆþ¤Ã¤Æ¤Ê¤¤¾ì¹ç
427    if (ip2long(REMISE_IP_ADDRESS_S) > ip2long($ip) ||
428        ip2long(REMISE_IP_ADDRESS_E) < ip2long($ip)) {
429        return FALSE;
430    }
431    return TRUE;
432}
433
434?>
Note: See TracBrowser for help on using the repository browser.