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

Revision 11687, 11.8 KB checked in by inoue, 17 years ago (diff)

出力データの修正

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