- Timestamp:
- 2007/07/20 15:58:59 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 1 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update
-
Property
svn:ignore
set to
.cache
.settings
.projectOptions
-
Property
svn:ignore
set to
-
branches/feature-module-update/data/downloads/module/mdl_remise/mdl_remise.php
r12157 r15078 9 9 require_once(MODULE_PATH . "mdl_remise/mdl_remise.inc"); 10 10 11 // ¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹11 //ページ管理クラス 12 12 class LC_Page { 13 // ¥³¥ó¥¹¥È¥é¥¯¥¿13 //コンストラクタ 14 14 function LC_Page() { 15 // ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê15 //メインテンプレートの指定 16 16 $this->tpl_mainpage = MODULE_PATH . 'mdl_remise/mdl_remise.tpl'; 17 $this->tpl_subtitle = ' ¥ë¥ß¡¼¥º·èºÑ¥â¥¸¥å¡¼¥ë';17 $this->tpl_subtitle = 'ルミーズ決済モジュール'; 18 18 global $arrPayment; 19 19 $this->arrPayment = $arrPayment; … … 28 28 $objQuery = new SC_Query(); 29 29 30 // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý30 // ルミーズカードクレジット決済結果通知処理 31 31 lfRemiseCreditResultCheck(); 32 32 33 // ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯33 // コンビニ入金チェック 34 34 lfRemiseConveniCheck(); 35 35 36 // ǧ¾Ú³Îǧ36 // 認証確認 37 37 $objSess = new SC_Session(); 38 38 sfIsSuccess($objSess); 39 39 40 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹40 // パラメータ管理クラス 41 41 $objFormParam = new SC_FormParam(); 42 42 $objFormParam = lfInitParam($objFormParam); 43 43 44 // POST ÃͤμèÆÀ44 // POST値の取得 45 45 $objFormParam->setParam($_POST); 46 46 47 // ÈÆÍѹàÌܤòÄɲÃ(ɬ¿Ü¡ª¡ª)47 // 汎用項目を追加(必須!!) 48 48 sfAlterMemo(); 49 49 … … 55 55 switch($mode) { 56 56 case 'edit': 57 // ÆþÎÏ¥¨¥é¡¼È½Äê57 // 入力エラー判定 58 58 $objPage->arrErr = lfCheckError(); 59 59 60 // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç¤Ë¤Ï¥Ç¡¼¥¿¤ò¹¹¿·60 // エラーなしの場合にはデータを更新 61 61 if (count($objPage->arrErr) == 0) { 62 // ¥Ç¡¼¥¿¹¹¿·62 // データ更新 63 63 lfUpdPaymentDB(); 64 64 65 // javascript ¼Â¹Ô66 $objPage->tpl_onload = 'alert(" ÅÐÏ¿´°Î»¤·¤Þ¤·¤¿¡£\n´ðËܾðÊó¡ä»ÙʧÊýË¡ÀßÄê¤è¤ê¾ÜºÙÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£"); window.close();';65 // javascript実行 66 $objPage->tpl_onload = 'alert("登録完了しました。\n基本情報>支払方法設定より詳細設定をしてください。"); window.close();'; 67 67 } 68 68 break; 69 69 case 'module_del': 70 // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯70 // 汎用項目の存在チェック 71 71 if (sfColumnExists("dtb_payment", "memo01")) { 72 // ¥Ç¡¼¥¿¤Îºï½ü¥Õ¥é¥°¤ò¤¿¤Æ¤ë72 // データの削除フラグをたてる 73 73 $objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array(MDL_REMISE_ID)); 74 74 } 75 75 break; 76 76 default: 77 // ¥Ç¡¼¥¿¤Î¥í¡¼¥É77 // データのロード 78 78 lfLoadData(); 79 79 break; … … 82 82 $objPage->arrForm = $objFormParam->getFormParamList(); 83 83 84 $objView->assignobj($objPage); // ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë85 $objView->display($objPage->tpl_mainpage); // ¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ84 $objView->assignobj($objPage); //変数をテンプレートにアサインする 85 $objView->display($objPage->tpl_mainpage); //テンプレートの出力 86 86 //------------------------------------------------------------------------------------------------------- 87 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½*/87 /* パラメータ情報の初期化 */ 88 88 function 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");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 97 return $objFormParam; 98 98 } 99 99 100 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦100 // エラーチェックを行う 101 101 function lfCheckError(){ 102 102 global $objFormParam; … … 104 104 $arrErr = $objFormParam->checkError(); 105 105 106 // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¡¢ÍøÍÑ¥³¥ó¥Ó¥Ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯106 // 利用クレジット、利用コンビニのエラーチェック 107 107 $arrChkPay = $_POST["payment"]; 108 108 109 // ¥¯¥ì¥¸¥Ã¥È¤Î»Ùʧ¤¤ÊýË¡109 // クレジットの支払い方法 110 110 if (count($_POST["credit_method"]) <= 0) { 111 $arrErr["credit_method"] = " »Ùʧ¤¤ÊýË¡¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";112 } 113 114 // ÍøÍÑ¥³¥ó¥Ó¥Ë111 $arrErr["credit_method"] = "支払い方法が選択されていません。<br />"; 112 } 113 114 // 利用コンビニ 115 115 if (isset($arrChkPay)) { 116 116 if ($_POST["convenience_url"] == "" && $_POST["mobile_convenience_url"] == "") { 117 $arrErr["convenience_url"] = " ¥³¥ó¥Ó¥ËÀܳÀèURL(PC)¤Þ¤¿¤Ï¥³¥ó¥Ó¥ËÀܳÀèURL(¥â¥Ð¥¤¥ë)¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";117 $arrErr["convenience_url"] = "コンビニ接続先URL(PC)またはコンビニ接続先URL(モバイル)が入力されていません。<br />"; 118 118 } 119 119 } … … 122 122 } 123 123 124 // ÅÐÏ¿¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à124 // 登録データを読み込む 125 125 function lfLoadData(){ 126 126 global $objFormParam; 127 127 128 // ¥Ç¡¼¥¿¤ò¼èÆÀ128 //データを取得 129 129 $arrRet = lfGetPaymentDB(" AND del_flg = '0'"); 130 130 131 // Ãͤò¥»¥Ã¥È131 // 値をセット 132 132 $objFormParam->setParam($arrRet[0]); 133 133 134 // ²èÌÌɽ¼¨ÍѤ˥ǡ¼¥¿¤òÊÑ´¹134 // 画面表示用にデータを変換 135 135 $arrDisp = array(); 136 136 $arrDisp["payment"][0] = 0; 137 137 138 138 foreach($arrRet as $key => $val) { 139 // ¥¯¥ì¥¸¥Ã¥È¤Î·èºÑ¶èʬ¤ò¼èÆÀ139 // クレジットの決済区分を取得 140 140 if($val["payment"] == 1) { 141 141 $credit = $val["payment_code"]; … … 145 145 } 146 146 147 // ¥³¥ó¥Ó¥Ë¤Î·èºÑ¶èʬ¤ò¼èÆÀ147 // コンビニの決済区分を取得 148 148 if($val["payment"] == 2) { 149 149 $arrDisp["convenience"] = $val["convenience"]; … … 157 157 $objFormParam->splitParamCheckBoxes("credit_method"); 158 158 159 // ¥¯¥ì¥¸¥Ã¥È»Ùʧ¤¤¶èʬ159 // クレジット支払い区分 160 160 //$objFormParam->splitParamCheckBoxes("credit_method"); 161 161 } 162 162 163 // DB ¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë163 // DBからデータを取得する 164 164 function lfGetPaymentDB($where = "", $arrWhereVal = array()){ 165 165 global $objQuery; … … 187 187 188 188 189 // ¥Ç¡¼¥¿¤Î¹¹¿·½èÍý189 // データの更新処理 190 190 function lfUpdPaymentDB(){ 191 191 global $objQuery; 192 192 global $objSess; 193 193 194 // »Ùʧ¤¤ÊýË¡¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ï¥¤¥Õ¥ó¶èÀÚ¤ê¤ËÊÔ½¸¤¹¤ë194 // 支払い方法にチェックが入っている場合は、ハイフン区切りに編集する 195 195 $convCnt = count($_POST["credit_method"]); 196 196 if ($convCnt > 0) { … … 201 201 } 202 202 203 // del_flg ¤òºï½ü¤Ë¤·¤Æ¤ª¤¯203 // del_flgを削除にしておく 204 204 $del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? "; 205 205 $arrDel = array(MDL_REMISE_ID); … … 213 213 214 214 foreach($arrEntry as $key => $val){ 215 // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë215 // ランクの最大値を取得する 216 216 $max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment"); 217 217 218 // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ218 // 支払方法データを取得 219 219 $arrPaymentData = lfGetPaymentDB("AND memo03 = ?", array($val)); 220 220 221 // ¥¯¥ì¥¸¥Ã¥È·èºÑÅÐÏ¿221 // クレジット決済登録 222 222 if($val == 1) { 223 223 224 224 $arrData = array( 225 "payment_method" => "remise ¥¯¥ì¥¸¥Ã¥È"225 "payment_method" => "remiseクレジット" 226 226 ,"fix" => 3 227 227 ,"creator_id" => $objSess->member_id … … 244 244 } 245 245 246 // ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥³¥ó¥Ó¥Ë¤òÅÐÏ¿¤¹¤ë246 // コンビニにチェックが入っていればコンビニを登録する 247 247 if($val == 2) { 248 248 249 249 $arrData = array( 250 "payment_method" => "remise ¥³¥ó¥Ó¥Ë"250 "payment_method" => "remiseコンビニ" 251 251 ,"fix" => 3 252 252 ,"creator_id" => $objSess->member_id … … 268 268 } 269 269 270 // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐUPDATE¡¢Ìµ¤±¤ì¤ÐINSERT270 // データが存在していればUPDATE、無ければINSERT 271 271 if (count($arrPaymentData) > 0) { 272 272 $objQuery->update("dtb_payment", $arrData, " module_id = '" . MDL_REMISE_ID . "' AND memo03 = '" . $val ."'"); … … 278 278 } 279 279 280 // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý280 // ルミーズカードクレジット決済結果通知処理 281 281 function lfRemiseCreditResultCheck(){ 282 282 global $objQuery; … … 285 285 gfPrintLog("remise card result : ".$_POST["X-TRANID"] , $log_path); 286 286 287 // TRAN_ID ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥«¡¼¥É¾ðÊ󤬤¢¤ë¾ì¹ç287 // TRAN_ID を指定されていて、カード情報がある場合 288 288 if (isset($_POST["X-TRANID"]) && isset($_POST["X-PARTOFCARD"])) { 289 289 … … 296 296 gfPrintLog("remise credit result end ----------", $log_path); 297 297 298 // IP ¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç298 // IPアドレス制御する場合 299 299 if (REMISE_IP_ADDRESS_DENY == 1) { 300 300 gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); … … 305 305 } 306 306 307 // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ307 // 請求番号と金額の取得 308 308 $order_id = 0; 309 309 $payment_total = 0; … … 320 320 gfPrintLog("payment_total : ".$payment_total, $log_path); 321 321 322 // Ãíʸ¥Ç¡¼¥¿¼èÆÀ322 // 注文データ取得 323 323 $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); 324 324 325 // ¶â³Û¤ÎÁê°ã325 // 金額の相違 326 326 if (count($arrTempOrder) > 0) { 327 327 gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); … … 340 340 } 341 341 342 // ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý342 // コンビニ入金確認処理 343 343 function lfRemiseConveniCheck(){ 344 344 global $objQuery; … … 347 347 gfPrintLog("remise conveni result : ".$_POST["JOB_ID"] , $log_path); 348 348 349 // ɬÍפʥǡ¼¥¿¤¬Á÷¿®¤µ¤ì¤Æ¤¤¤Æ¡¢¼ýǼÄÌÃΤμ«Æ°¼õ¿®¤òµö²Ä¤·¤Æ¤¤¤ë¾ì¹ç349 // 必要なデータが送信されていて、収納通知の自動受信を許可している場合 350 350 if(isset($_POST["JOB_ID"]) && isset($_POST["REC_FLG"]) && REMISE_CONVENIENCE_RECIVE == 1){ 351 351 352 352 $errFlg = FALSE; 353 353 354 // ¼ýǼºÑ¤ß¤Î¾ì¹ç354 // 収納済みの場合 355 355 if ($_POST["REC_FLG"] == REMISE_CONVENIENCE_CHARGE) { 356 // POST ¤ÎÆâÍÆ¤òÁ´¤Æ¥í¥°Êݸ356 // POSTの内容を全てログ保存 357 357 gfPrintLog("remise conveni charge start----------", $log_path); 358 358 foreach($_POST as $key => $val){ … … 361 361 gfPrintLog("remise conveni charge end ----------", $log_path); 362 362 363 // IP ¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç363 // IPアドレス制御する場合 364 364 if (REMISE_IP_ADDRESS_DENY == 1) { 365 365 gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); … … 370 370 } 371 371 372 // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ372 // 請求番号と金額の取得 373 373 $order_id = 0; 374 374 $payment_total = 0; … … 385 385 gfPrintLog("payment_total : ".$payment_total, $log_path); 386 386 387 // Ãíʸ¥Ç¡¼¥¿¼èÆÀ387 // 注文データ取得 388 388 $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); 389 389 390 // ¶â³Û¤ÎÁê°ã390 // 金額の相違 391 391 if (count($arrTempOrder) > 0) { 392 392 gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); … … 396 396 } 397 397 398 // JOB_ID ¤ÈÀÁµáÈֹ档Æþ¶â¶â³Û¤¬°ìÃפ¹¤ë¾ì¹ç¤Î¤ß¡¢¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë398 // JOB_IDと請求番号。入金金額が一致する場合のみ、ステータスを入金済みに変更する 399 399 if ($errFlg) { 400 400 $sql = "UPDATE dtb_order SET status = 6, update_date = now() ". … … 402 402 $objQuery->query($sql, array($order_id, $_POST["JOB_ID"])); 403 403 404 // ±þÅú·ë²Ì¤òɽ¼¨404 //応答結果を表示 405 405 print(REMISE_CONVENIENCE_CHARGE_OK); 406 406 exit; … … 413 413 414 414 /** 415 * IP ¥¢¥É¥ì¥¹ÂÓ°è¥Á¥§¥Ã¥¯416 * @param $ip IP ¥¢¥É¥ì¥¹415 * IPアドレス帯域チェック 416 * @param $ip IPアドレス 417 417 * @return boolean 418 418 */ 419 419 function lfIpAddressDenyCheck($ip) { 420 420 421 // IP ¥¢¥É¥ì¥¹ÈÏ°Ï¤ËÆþ¤Ã¤Æ¤Ê¤¤¾ì¹ç421 // IPアドレス範囲に入ってない場合 422 422 if (ip2long(REMISE_IP_ADDRESS_S) > ip2long($ip) || 423 423 ip2long(REMISE_IP_ADDRESS_E) < ip2long($ip)) {
Note: See TracChangeset
for help on using the changeset viewer.