Changeset 15078 for branches/feature-module-update/data/downloads/module/mdl_epsilon/mdl_epsilon.php
- 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_epsilon/mdl_epsilon.php
r12157 r15078 10 10 11 11 $arrPayment = array( 12 1 => ' ¥¯¥ì¥¸¥Ã¥È',13 2 => ' ¥³¥ó¥Ó¥Ë'12 1 => 'クレジット', 13 2 => 'コンビニ' 14 14 ); 15 15 … … 19 19 ); 20 20 21 // ¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹21 //ページ管理クラス 22 22 class LC_Page { 23 // ¥³¥ó¥¹¥È¥é¥¯¥¿23 //コンストラクタ 24 24 function LC_Page() { 25 // ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê25 //メインテンプレートの指定 26 26 $this->tpl_mainpage = MODULE_PATH . 'mdl_epsilon/mdl_epsilon.tpl'; 27 $this->tpl_subtitle = ' ¥¤¥×¥·¥í¥ó·èºÑ¥â¥¸¥å¡¼¥ë';27 $this->tpl_subtitle = 'イプシロン決済モジュール'; 28 28 global $arrPayment; 29 29 $this->arrPayment = $arrPayment; … … 38 38 $objQuery = new SC_Query(); 39 39 40 // ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯40 // コンビニ入金チェック 41 41 lfEpsilonCheck(); 42 42 43 // ǧ¾Ú³Îǧ43 // 認証確認 44 44 $objSess = new SC_Session(); 45 45 sfIsSuccess($objSess); 46 46 47 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹47 // パラメータ管理クラス 48 48 $objFormParam = new SC_FormParam(); 49 49 $objFormParam = lfInitParam($objFormParam); 50 // POST ÃͤμèÆÀ50 // POST値の取得 51 51 $objFormParam->setParam($_POST); 52 52 53 // ÈÆÍѹàÌܤòÄɲÃ(ɬ¿Ü¡ª¡ª)53 // 汎用項目を追加(必須!!) 54 54 sfAlterMemo(); 55 55 56 56 switch($_POST['mode']) { 57 57 case 'edit': 58 // ÆþÎÏ¥¨¥é¡¼È½Äê58 // 入力エラー判定 59 59 $objPage->arrErr = lfCheckError(); 60 60 61 // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç¤Ë¤Ï¥Ç¡¼¥¿¤ò¹¹¿·61 // エラーなしの場合にはデータを更新 62 62 if(count($objPage->arrErr) == 0) { 63 // ¥Ç¡¼¥¿¹¹¿·63 // データ更新 64 64 lfUpdPaymentDB(); 65 65 66 // javascript ¼Â¹Ô67 $objPage->tpl_onload = 'alert(" ÅÐÏ¿´°Î»¤·¤Þ¤·¤¿¡£\n´ðËܾðÊó¡ä»ÙʧÊýË¡ÀßÄê¤è¤ê¾ÜºÙÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£"); window.close();';66 // javascript実行 67 $objPage->tpl_onload = 'alert("登録完了しました。\n基本情報>支払方法設定より詳細設定をしてください。"); window.close();'; 68 68 } 69 69 break; 70 70 case 'module_del': 71 // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯71 // 汎用項目の存在チェック 72 72 if(sfColumnExists("dtb_payment", "memo01")){ 73 // ¥Ç¡¼¥¿¤Îºï½ü¥Õ¥é¥°¤ò¤¿¤Æ¤ë73 // データの削除フラグをたてる 74 74 $objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array(MDL_EPSILON_ID)); 75 75 } 76 76 break; 77 77 default: 78 // ¥Ç¡¼¥¿¤Î¥í¡¼¥É78 // データのロード 79 79 lfLoadData(); 80 80 break; … … 83 83 $objPage->arrForm = $objFormParam->getFormParamList(); 84 84 85 $objView->assignobj($objPage); // ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë86 $objView->display($objPage->tpl_mainpage); // ¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ85 $objView->assignobj($objPage); //変数をテンプレートにアサインする 86 $objView->display($objPage->tpl_mainpage); //テンプレートの出力 87 87 //------------------------------------------------------------------------------------------------------- 88 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½*/88 /* パラメータ情報の初期化 */ 89 89 function lfInitParam($objFormParam) { 90 $objFormParam->addParam(" ·ÀÌ󥳡¼¥É", "code", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));91 $objFormParam->addParam(" ÀܳÀèURL", "url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK"));92 $objFormParam->addParam(" ÍøÍÑ·èºÑ", "payment", "", "", array("EXIST_CHECK"));93 $objFormParam->addParam(" ÍøÍÑ¥¯¥ì¥¸¥Ã¥È", "credit");94 $objFormParam->addParam(" ÍøÍÑ¥³¥ó¥Ó¥Ë", "convenience");90 $objFormParam->addParam("契約コード", "code", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 91 $objFormParam->addParam("接続先URL", "url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK")); 92 $objFormParam->addParam("利用決済", "payment", "", "", array("EXIST_CHECK")); 93 $objFormParam->addParam("利用クレジット", "credit"); 94 $objFormParam->addParam("利用コンビニ", "convenience"); 95 95 return $objFormParam; 96 96 } 97 97 98 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦98 // エラーチェックを行う 99 99 function lfCheckError(){ 100 100 global $objFormParam; … … 102 102 $arrErr = $objFormParam->checkError(); 103 103 104 // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¡¢ÍøÍÑ¥³¥ó¥Ó¥Ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯104 // 利用クレジット、利用コンビニのエラーチェック 105 105 $arrChkPay = $_POST["payment"]; 106 106 foreach((array)$arrChkPay as $key => $val){ 107 // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È107 // 利用クレジット 108 108 if($val == 1 and count($_POST["credit"]) <= 0){ 109 $arrErr["credit"] = " ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";110 } 111 // ÍøÍÑ¥³¥ó¥Ó¥Ë109 $arrErr["credit"] = "利用クレジットが選択されていません。<br />"; 110 } 111 // 利用コンビニ 112 112 if($val == 2 and count($_POST["convenience"]) <= 0){ 113 $arrErr["convenience"] = " ÍøÍÑ¥³¥ó¥Ó¥Ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />";114 } 115 } 116 117 // ssl ÂбþȽÄê113 $arrErr["convenience"] = "利用コンビニが選択されていません。<br />"; 114 } 115 } 116 117 // ssl対応判定 118 118 if(!extension_loaded('openssl') and ereg( "^https://", $_POST["url"] )){ 119 $arrErr["url"] = " ¤³¤Î¥µ¡¼¥Ð¡¼¤ÏSSL¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£<br>http¤ÇÀܳ¤·¤Æ¤¯¤À¤µ¤¤¡£";120 } 121 122 // Àܳ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦119 $arrErr["url"] = "このサーバーはSSLに対応していません。<br>httpで接続してください。"; 120 } 121 122 // 接続チェックを行う 123 123 if(count($arrErr) == 0) $arrErr = lfChkConnect(); 124 124 … … 126 126 } 127 127 128 // Àܳ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦128 // 接続チェックを行う 129 129 function lfChkConnect(){ 130 130 global $objQuery; … … 133 133 $arrRet = array(); 134 134 135 // ¥á¡¼¥ë¥¢¥É¥ì¥¹¼èÆÀ135 // メールアドレス取得 136 136 $email = $objQuery->getone("SELECT email03 FROM dtb_baseinfo"); 137 137 138 // ·ÀÌ󥳡¼¥É138 // 契約コード 139 139 (in_array(1, (array)$_POST["payment"])) ? $cre = "1" : $cre = "0"; 140 140 (in_array(2, (array)$_POST["payment"])) ? $con = "1" : $con = "0"; 141 141 $st_code = $cre . "0" . $con . "00-0000-00000"; 142 142 143 // Á÷¿®¥Ç¡¼¥¿À¸À®143 // 送信データ生成 144 144 $arrSendData = array( 145 'contract_code' => $_POST["code"], // ·ÀÌ󥳡¼¥É146 'user_id' => "connect_test", // ¥æ¡¼¥¶ID147 'user_name' => " Àܳ¥Æ¥¹¥È", // ¥æ¡¼¥¶Ì¾148 'user_mail_add' => $email, // ¥á¡¼¥ë¥¢¥É¥ì¥¹149 'st_code' => $st_code, // ·èºÑ¶èʬ150 'process_code' => '3', // ½èÍý¶èʬ(¸ÇÄê)151 'xml' => '1', // ±þÅú·Á¼°(¸ÇÄê)145 'contract_code' => $_POST["code"], // 契約コード 146 'user_id' => "connect_test", // ユーザID 147 'user_name' => "接続テスト", // ユーザ名 148 'user_mail_add' => $email, // メールアドレス 149 'st_code' => $st_code, // 決済区分 150 'process_code' => '3', // 処理区分(固定) 151 'xml' => '1', // 応答形式(固定) 152 152 ); 153 153 154 // ¥Ç¡¼¥¿Á÷¿®154 // データ送信 155 155 $arrXML = sfPostPaymentData($_POST["url"], $arrSendData, false); 156 156 if($arrXML == "") { 157 $arrRet["url"] = " Àܳ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£<br>";157 $arrRet["url"] = "接続できませんでした。<br>"; 158 158 return $arrRet; 159 159 } 160 160 161 // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë161 // エラーがあるかチェックする 162 162 $err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE'); 163 163 switch ($err_code) { … … 165 165 break; 166 166 case "607": 167 $arrRet["code"] = " ·ÀÌ󥳡¼¥É¤¬°ã¤¤¤Þ¤¹¡£<br>";167 $arrRet["code"] = "契約コードが違います。<br>"; 168 168 return $arrRet; 169 169 default : … … 172 172 } 173 173 174 // ¥³¥ó¥Ó¥Ë»ØÄ꤬¤¢¤ì¤Ð¥³¥ó¥Ó¥Ëʬ¥ë¡¼¥×¤·¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤¦174 // コンビニ指定があればコンビニ分ループし、チェックを行う 175 175 if(count($_POST["convenience"]) > 0){ 176 176 foreach($_POST["convenience"] as $key => $val){ 177 // Á÷¿®¥Ç¡¼¥¿À¸À®178 $arrSendData['conveni_code'] = $val; // ¥³¥ó¥Ó¥Ë¥³¡¼¥É179 $arrSendData['user_tel'] = "0300000000"; // ¥À¥ß¡¼ÅÅÏÃÈÖ¹æ180 $arrSendData['user_name_kana'] = " Á÷¿®¥Æ¥¹¥È"; // ¥À¥ß¡¼»á̾(¥«¥Ê)181 $arrSendData['haraikomi_mail'] = 0; // ʧ¹þ¥á¡¼¥ë(Á÷¿®¤·¤Ê¤¤)177 // 送信データ生成 178 $arrSendData['conveni_code'] = $val; // コンビニコード 179 $arrSendData['user_tel'] = "0300000000"; // ダミー電話番号 180 $arrSendData['user_name_kana'] = "送信テスト"; // ダミー氏名(カナ) 181 $arrSendData['haraikomi_mail'] = 0; // 払込メール(送信しない) 182 182 183 // ¥Ç¡¼¥¿Á÷¿®183 // データ送信 184 184 $arrXML = sfPostPaymentData($_POST["url"], $arrSendData, false); 185 185 if($arrXML == "") { 186 $arrRet["url"] = " Àܳ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£<br>";186 $arrRet["url"] = "接続できませんでした。<br>"; 187 187 return $arrRet; 188 188 } 189 189 190 // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë190 // エラーがあるかチェックする 191 191 $err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE'); 192 192 if($err_code != ""){ … … 200 200 } 201 201 202 // ÅÐÏ¿¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤à202 // 登録データを読み込む 203 203 function lfLoadData(){ 204 204 global $objFormParam; 205 205 206 // ¥Ç¡¼¥¿¤ò¼èÆÀ206 //データを取得 207 207 $arrRet = lfGetPaymentDB(" AND del_flg = '0'"); 208 208 209 // Ãͤò¥»¥Ã¥È209 // 値をセット 210 210 $objFormParam->setParam($arrRet[0]); 211 211 212 // ²èÌÌɽ¼¨ÍѤ˥ǡ¼¥¿¤òÊÑ´¹212 // 画面表示用にデータを変換 213 213 $arrDisp = array(); 214 214 foreach($arrRet as $key => $val){ 215 // ÍøÍÑ·èºÑ¤òɽ¼¨ÍѤËÊÑ´¹215 // 利用決済を表示用に変換 216 216 $arrDisp["payment"][$key] = $val["payment"]; 217 217 218 // ¥¯¥ì¥¸¥Ã¥È¤Î·èºÑ¶èʬ¤ò¼èÆÀ218 // クレジットの決済区分を取得 219 219 if($val["payment"] == 1) $credit = $val["payment_code"]; 220 220 221 // ¥³¥ó¥Ó¥Ë221 // コンビニ 222 222 if($val["payment"] == 2) $arrDisp["convenience"] = $val["convenience"]; 223 223 } … … 225 225 $objFormParam->splitParamCheckBoxes("convenience"); 226 226 227 // ¥¯¥ì¥¸¥Ã¥È227 // クレジット 228 228 if(substr($credit, 0, 1)) $arrCredit["credit"][] = 1; 229 229 if(substr($credit, 1, 1)) $arrCredit["credit"][] = 2; … … 231 231 } 232 232 233 // DB ¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë233 // DBからデータを取得する 234 234 function lfGetPaymentDB($where = "", $arrWhereVal = array()){ 235 235 global $objQuery; … … 253 253 254 254 255 // ¥Ç¡¼¥¿¤Î¹¹¿·½èÍý255 // データの更新処理 256 256 function lfUpdPaymentDB(){ 257 257 global $objQuery; 258 258 global $objSess; 259 259 260 // ÍøÍÑ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ï¥¤¥Õ¥ó¶èÀÚ¤ê¤ËÊÔ½¸¤¹¤ë260 // 利用コンビニにチェックが入っている場合には、ハイフン区切りに編集する 261 261 $convCnt = count($_POST["convenience"]); 262 262 if($convCnt > 0){ … … 267 267 } 268 268 269 // del_flg ¤òºï½ü¤Ë¤·¤Æ¤ª¤¯269 // del_flgを削除にしておく 270 270 $del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? "; 271 271 $arrDel = array(MDL_EPSILON_ID); 272 272 $objQuery->query($del_sql, $arrDel); 273 273 274 // ¥Ç¡¼¥¿ÅÐÏ¿274 // データ登録 275 275 foreach($_POST["payment"] as $key => $val){ 276 // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë276 // ランクの最大値を取得する 277 277 $max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment"); 278 278 279 // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ279 // 支払方法データを取得 280 280 $arrPaymentData = lfGetPaymentDB("AND memo03 = ?", array($val)); 281 281 282 // ¥¯¥ì¥¸¥Ã¥È¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥¯¥ì¥¸¥Ã¥È¤òÅÐÏ¿¤¹¤ë282 // クレジットにチェックが入っていればクレジットを登録する 283 283 if($val == 1){ 284 284 (in_array(1, $_POST["credit"])) ? $visa = "1" : $visa = "0"; 285 285 (in_array(2, $_POST["credit"])) ? $jcb = "1" : $jcb = "0"; 286 286 $arrData = array( 287 "payment_method" => "Epsilon ¥¯¥ì¥¸¥Ã¥È"287 "payment_method" => "Epsilonクレジット" 288 288 ,"fix" => 3 289 289 ,"creator_id" => $objSess->member_id … … 304 304 } 305 305 306 // ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥³¥ó¥Ó¥Ë¤òÅÐÏ¿¤¹¤ë306 // コンビニにチェックが入っていればコンビニを登録する 307 307 if($val == 2){ 308 308 309 // ¥»¥Ö¥ó¥¤¥ì¥Ö¥ó¤Î¤ßÁªÂò¤·¤¿¾ì¹ç¤Ë¤ÏÍøÍѾå¸Â¤ò30Ëü¤Ë¤¹¤ë¡£309 // セブンイレブンのみ選択した場合には利用上限を30万にする。 310 310 if(count($_POST["convenience"]) == 1 and $_POST["convenience"][0] == 11) { 311 311 $upper_rule_max = SEVEN_CHARGE_MAX; … … 317 317 318 318 $arrData = array( 319 "payment_method" => "Epsilon ¥³¥ó¥Ó¥Ë"319 "payment_method" => "Epsilonコンビニ" 320 320 ,"fix" => 3 321 321 ,"creator_id" => $objSess->member_id … … 336 336 } 337 337 338 // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐUPDATE¡¢Ìµ¤±¤ì¤ÐINSERT338 // データが存在していればUPDATE、無ければINSERT 339 339 if(count($arrPaymentData) > 0){ 340 340 $objQuery->update("dtb_payment", $arrData, " module_id = '" . MDL_EPSILON_ID . "' AND memo03 = '" . $val ."'"); … … 346 346 } 347 347 348 // ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý348 // コンビニ入金確認処理 349 349 function lfEpsilonCheck(){ 350 350 global $objQuery; 351 351 352 // trans_code ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ³î¤Ä¡¢Æþ¶âºÑ¤ß¤Î¾ì¹ç352 // trans_code を指定されていて且つ、入金済みの場合 353 353 if($_POST["trans_code"] != "" and $_POST["paid"] == 1 and $_POST["order_number"] != ""){ 354 // ¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë354 // ステータスを入金済みに変更する 355 355 $sql = "UPDATE dtb_order SET status = 6, update_date = now() WHERE order_id = ? AND memo04 = ? "; 356 356 $objQuery->query($sql, array($_POST["order_number"], $_POST["trans_code"])); 357 357 358 // POST ¤ÎÆâÍÆ¤òÁ´¤Æ¥í¥°Êݸ358 // POSTの内容を全てログ保存 359 359 $log_path = DATA_PATH . "logs/epsilon.log"; 360 360 gfPrintLog("epsilon conveni start---------------------------------------------------------", $log_path); … … 364 364 gfPrintLog("epsilon conveni end-----------------------------------------------------------", $log_path); 365 365 366 // ±þÅú·ë²Ì¤òɽ¼¨366 //応答結果を表示 367 367 echo "1"; 368 368 }
Note: See TracChangeset
for help on using the changeset viewer.