source: branches/beta/data/downloads/module/mdl_remise/mdl_remise.php @ 16659

Revision 16659, 11.5 KB checked in by adachi, 16 years ago (diff)

set svn:property

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