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

Revision 16687, 11.7 KB checked in by adachi, 16 years ago (diff)

user_dataに結果受信スクリプトをコピーするように修正

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