Index: branches/feature-module-update/data/downloads/module/mdl_epsilon/mdl_epsilon.php
===================================================================
--- branches/rel/data/downloads/module/mdl_epsilon/mdl_epsilon.php (revision 12157)
+++ branches/feature-module-update/data/downloads/module/mdl_epsilon/mdl_epsilon.php (revision 15078)
@@ -10,6 +10,6 @@
$arrPayment = array(
- 1 => '¥¯¥ì¥¸¥Ã¥È',
- 2 => '¥³¥ó¥Ó¥Ë'
+ 1 => 'クレジット',
+ 2 => 'コンビニ'
);
@@ -19,11 +19,11 @@
);
-//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹
+//ページ管理クラス
class LC_Page {
- //¥³¥ó¥¹¥È¥é¥¯¥¿
+ //コンストラクタ
function LC_Page() {
- //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê
+ //メインテンプレートの指定
$this->tpl_mainpage = MODULE_PATH . 'mdl_epsilon/mdl_epsilon.tpl';
- $this->tpl_subtitle = '¥¤¥×¥·¥í¥ó·èºÑ¥â¥¸¥å¡¼¥ë';
+ $this->tpl_subtitle = 'イプシロン決済モジュール';
global $arrPayment;
$this->arrPayment = $arrPayment;
@@ -38,43 +38,43 @@
$objQuery = new SC_Query();
-// ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯
+// コンビニ入金チェック
lfEpsilonCheck();
-// ǧ¾Ú³Îǧ
+// 認証確認
$objSess = new SC_Session();
sfIsSuccess($objSess);
-// ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹
+// パラメータ管理クラス
$objFormParam = new SC_FormParam();
$objFormParam = lfInitParam($objFormParam);
-// POSTÃͤμèÆÀ
+// POST値の取得
$objFormParam->setParam($_POST);
-// ÈÆÍѹàÌܤòÄɲÃ(ɬ¿Ü¡ª¡ª)
+// 汎用項目を追加(必須!!)
sfAlterMemo();
switch($_POST['mode']) {
case 'edit':
- // ÆþÎÏ¥¨¥é¡¼È½Äê
+ // 入力エラー判定
$objPage->arrErr = lfCheckError();
- // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç¤Ë¤Ï¥Ç¡¼¥¿¤ò¹¹¿·
+ // エラーなしの場合にはデータを更新
if(count($objPage->arrErr) == 0) {
- // ¥Ç¡¼¥¿¹¹¿·
+ // データ更新
lfUpdPaymentDB();
- // javascript¼Â¹Ô
- $objPage->tpl_onload = 'alert("ÅÐÏ¿´°Î»¤·¤Þ¤·¤¿¡£\n´ðËܾðÊó¡ä»ÙʧÊýË¡ÀßÄê¤è¤ê¾ÜºÙÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£"); window.close();';
+ // javascript実行
+ $objPage->tpl_onload = 'alert("登録完了しました。\n基本情報>支払方法設定より詳細設定をしてください。"); window.close();';
}
break;
case 'module_del':
- // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯
+ // 汎用項目の存在チェック
if(sfColumnExists("dtb_payment", "memo01")){
- // ¥Ç¡¼¥¿¤Îºï½ü¥Õ¥é¥°¤ò¤¿¤Æ¤ë
+ // データの削除フラグをたてる
$objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array(MDL_EPSILON_ID));
}
break;
default:
- // ¥Ç¡¼¥¿¤Î¥í¡¼¥É
+ // データのロード
lfLoadData();
break;
@@ -83,18 +83,18 @@
$objPage->arrForm = $objFormParam->getFormParamList();
-$objView->assignobj($objPage); //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë
-$objView->display($objPage->tpl_mainpage); //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ
+$objView->assignobj($objPage); //変数をテンプレートにアサインする
+$objView->display($objPage->tpl_mainpage); //テンプレートの出力
//-------------------------------------------------------------------------------------------------------
-/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */
+/* パラメータ情報の初期化 */
function lfInitParam($objFormParam) {
- $objFormParam->addParam("·ÀÌ󥳡¼¥É", "code", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
- $objFormParam->addParam("ÀܳÀèURL", "url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK"));
- $objFormParam->addParam("ÍøÍÑ·èºÑ", "payment", "", "", array("EXIST_CHECK"));
- $objFormParam->addParam("ÍøÍÑ¥¯¥ì¥¸¥Ã¥È", "credit");
- $objFormParam->addParam("ÍøÍÑ¥³¥ó¥Ó¥Ë", "convenience");
+ $objFormParam->addParam("契約コード", "code", INT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("接続先URL", "url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "URL_CHECK"));
+ $objFormParam->addParam("利用決済", "payment", "", "", array("EXIST_CHECK"));
+ $objFormParam->addParam("利用クレジット", "credit");
+ $objFormParam->addParam("利用コンビニ", "convenience");
return $objFormParam;
}
-// ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
+// エラーチェックを行う
function lfCheckError(){
global $objFormParam;
@@ -102,23 +102,23 @@
$arrErr = $objFormParam->checkError();
- // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¡¢ÍøÍÑ¥³¥ó¥Ó¥Ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯
+ // 利用クレジット、利用コンビニのエラーチェック
$arrChkPay = $_POST["payment"];
foreach((array)$arrChkPay as $key => $val){
- // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È
+ // 利用クレジット
if($val == 1 and count($_POST["credit"]) <= 0){
- $arrErr["credit"] = "ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
";
- }
- // ÍøÍÑ¥³¥ó¥Ó¥Ë
+ $arrErr["credit"] = "利用クレジットが選択されていません。
";
+ }
+ // 利用コンビニ
if($val == 2 and count($_POST["convenience"]) <= 0){
- $arrErr["convenience"] = "ÍøÍÑ¥³¥ó¥Ó¥Ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
";
- }
- }
-
- // sslÂбþȽÄê
+ $arrErr["convenience"] = "利用コンビニが選択されていません。
";
+ }
+ }
+
+ // ssl対応判定
if(!extension_loaded('openssl') and ereg( "^https://", $_POST["url"] )){
- $arrErr["url"] = "¤³¤Î¥µ¡¼¥Ð¡¼¤ÏSSL¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£
http¤ÇÀܳ¤·¤Æ¤¯¤À¤µ¤¤¡£";
- }
-
- // Àܳ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
+ $arrErr["url"] = "このサーバーはSSLに対応していません。
httpで接続してください。";
+ }
+
+ // 接続チェックを行う
if(count($arrErr) == 0) $arrErr = lfChkConnect();
@@ -126,5 +126,5 @@
}
-// Àܳ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
+// 接続チェックを行う
function lfChkConnect(){
global $objQuery;
@@ -133,31 +133,31 @@
$arrRet = array();
- // ¥á¡¼¥ë¥¢¥É¥ì¥¹¼èÆÀ
+ // メールアドレス取得
$email = $objQuery->getone("SELECT email03 FROM dtb_baseinfo");
- // ·ÀÌ󥳡¼¥É
+ // 契約コード
(in_array(1, (array)$_POST["payment"])) ? $cre = "1" : $cre = "0";
(in_array(2, (array)$_POST["payment"])) ? $con = "1" : $con = "0";
$st_code = $cre . "0" . $con . "00-0000-00000";
- // Á÷¿®¥Ç¡¼¥¿À¸À®
+ // 送信データ生成
$arrSendData = array(
- 'contract_code' => $_POST["code"], // ·ÀÌ󥳡¼¥É
- 'user_id' => "connect_test", // ¥æ¡¼¥¶ID
- 'user_name' => "Àܳ¥Æ¥¹¥È", // ¥æ¡¼¥¶Ì¾
- 'user_mail_add' => $email, // ¥á¡¼¥ë¥¢¥É¥ì¥¹
- 'st_code' => $st_code, // ·èºÑ¶èʬ
- 'process_code' => '3', // ½èÍý¶èʬ(¸ÇÄê)
- 'xml' => '1', // ±þÅú·Á¼°(¸ÇÄê)
+ 'contract_code' => $_POST["code"], // 契約コード
+ 'user_id' => "connect_test", // ユーザID
+ 'user_name' => "接続テスト", // ユーザ名
+ 'user_mail_add' => $email, // メールアドレス
+ 'st_code' => $st_code, // 決済区分
+ 'process_code' => '3', // 処理区分(固定)
+ 'xml' => '1', // 応答形式(固定)
);
- // ¥Ç¡¼¥¿Á÷¿®
+ // データ送信
$arrXML = sfPostPaymentData($_POST["url"], $arrSendData, false);
if($arrXML == "") {
- $arrRet["url"] = "Àܳ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
";
+ $arrRet["url"] = "接続できませんでした。
";
return $arrRet;
}
- // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë
+ // エラーがあるかチェックする
$err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE');
switch ($err_code) {
@@ -165,5 +165,5 @@
break;
case "607":
- $arrRet["code"] = "·ÀÌ󥳡¼¥É¤¬°ã¤¤¤Þ¤¹¡£
";
+ $arrRet["code"] = "契約コードが違います。
";
return $arrRet;
default :
@@ -172,21 +172,21 @@
}
- // ¥³¥ó¥Ó¥Ë»ØÄ꤬¤¢¤ì¤Ð¥³¥ó¥Ó¥Ëʬ¥ë¡¼¥×¤·¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤¦
+ // コンビニ指定があればコンビニ分ループし、チェックを行う
if(count($_POST["convenience"]) > 0){
foreach($_POST["convenience"] as $key => $val){
- // Á÷¿®¥Ç¡¼¥¿À¸À®
- $arrSendData['conveni_code'] = $val; // ¥³¥ó¥Ó¥Ë¥³¡¼¥É
- $arrSendData['user_tel'] = "0300000000"; // ¥À¥ß¡¼ÅÅÏÃÈÖ¹æ
- $arrSendData['user_name_kana'] = "Á÷¿®¥Æ¥¹¥È"; // ¥À¥ß¡¼»á̾(¥«¥Ê)
- $arrSendData['haraikomi_mail'] = 0; // ʧ¹þ¥á¡¼¥ë(Á÷¿®¤·¤Ê¤¤)
+ // 送信データ生成
+ $arrSendData['conveni_code'] = $val; // コンビニコード
+ $arrSendData['user_tel'] = "0300000000"; // ダミー電話番号
+ $arrSendData['user_name_kana'] = "送信テスト"; // ダミー氏名(カナ)
+ $arrSendData['haraikomi_mail'] = 0; // 払込メール(送信しない)
- // ¥Ç¡¼¥¿Á÷¿®
+ // データ送信
$arrXML = sfPostPaymentData($_POST["url"], $arrSendData, false);
if($arrXML == "") {
- $arrRet["url"] = "Àܳ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
";
+ $arrRet["url"] = "接続できませんでした。
";
return $arrRet;
}
- // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë
+ // エラーがあるかチェックする
$err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE');
if($err_code != ""){
@@ -200,24 +200,24 @@
}
-// ÅÐÏ¿¥Ç¡¼¥¿¤òÆɤ߹þ¤à
+// 登録データを読み込む
function lfLoadData(){
global $objFormParam;
- //¥Ç¡¼¥¿¤ò¼èÆÀ
+ //データを取得
$arrRet = lfGetPaymentDB(" AND del_flg = '0'");
- // Ãͤò¥»¥Ã¥È
+ // 値をセット
$objFormParam->setParam($arrRet[0]);
- // ²èÌÌɽ¼¨ÍѤ˥ǡ¼¥¿¤òÊÑ´¹
+ // 画面表示用にデータを変換
$arrDisp = array();
foreach($arrRet as $key => $val){
- // ÍøÍÑ·èºÑ¤òɽ¼¨ÍѤËÊÑ´¹
+ // 利用決済を表示用に変換
$arrDisp["payment"][$key] = $val["payment"];
- // ¥¯¥ì¥¸¥Ã¥È¤Î·èºÑ¶èʬ¤ò¼èÆÀ
+ // クレジットの決済区分を取得
if($val["payment"] == 1) $credit = $val["payment_code"];
- // ¥³¥ó¥Ó¥Ë
+ // コンビニ
if($val["payment"] == 2) $arrDisp["convenience"] = $val["convenience"];
}
@@ -225,5 +225,5 @@
$objFormParam->splitParamCheckBoxes("convenience");
- // ¥¯¥ì¥¸¥Ã¥È
+ // クレジット
if(substr($credit, 0, 1)) $arrCredit["credit"][] = 1;
if(substr($credit, 1, 1)) $arrCredit["credit"][] = 2;
@@ -231,5 +231,5 @@
}
-// DB¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë
+// DBからデータを取得する
function lfGetPaymentDB($where = "", $arrWhereVal = array()){
global $objQuery;
@@ -253,10 +253,10 @@
-// ¥Ç¡¼¥¿¤Î¹¹¿·½èÍý
+// データの更新処理
function lfUpdPaymentDB(){
global $objQuery;
global $objSess;
- // ÍøÍÑ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ï¥¤¥Õ¥ó¶èÀÚ¤ê¤ËÊÔ½¸¤¹¤ë
+ // 利用コンビニにチェックが入っている場合には、ハイフン区切りに編集する
$convCnt = count($_POST["convenience"]);
if($convCnt > 0){
@@ -267,23 +267,23 @@
}
- // del_flg¤òºï½ü¤Ë¤·¤Æ¤ª¤¯
+ // del_flgを削除にしておく
$del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? ";
$arrDel = array(MDL_EPSILON_ID);
$objQuery->query($del_sql, $arrDel);
- // ¥Ç¡¼¥¿ÅÐÏ¿
+ // データ登録
foreach($_POST["payment"] as $key => $val){
- // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë
+ // ランクの最大値を取得する
$max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment");
- // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ
+ // 支払方法データを取得
$arrPaymentData = lfGetPaymentDB("AND memo03 = ?", array($val));
- // ¥¯¥ì¥¸¥Ã¥È¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥¯¥ì¥¸¥Ã¥È¤òÅÐÏ¿¤¹¤ë
+ // クレジットにチェックが入っていればクレジットを登録する
if($val == 1){
(in_array(1, $_POST["credit"])) ? $visa = "1" : $visa = "0";
(in_array(2, $_POST["credit"])) ? $jcb = "1" : $jcb = "0";
$arrData = array(
- "payment_method" => "Epsilon¥¯¥ì¥¸¥Ã¥È"
+ "payment_method" => "Epsilonクレジット"
,"fix" => 3
,"creator_id" => $objSess->member_id
@@ -304,8 +304,8 @@
}
- // ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥³¥ó¥Ó¥Ë¤òÅÐÏ¿¤¹¤ë
+ // コンビニにチェックが入っていればコンビニを登録する
if($val == 2){
- // ¥»¥Ö¥ó¥¤¥ì¥Ö¥ó¤Î¤ßÁªÂò¤·¤¿¾ì¹ç¤Ë¤ÏÍøÍѾå¸Â¤ò30Ëü¤Ë¤¹¤ë¡£
+ // セブンイレブンのみ選択した場合には利用上限を30万にする。
if(count($_POST["convenience"]) == 1 and $_POST["convenience"][0] == 11) {
$upper_rule_max = SEVEN_CHARGE_MAX;
@@ -317,5 +317,5 @@
$arrData = array(
- "payment_method" => "Epsilon¥³¥ó¥Ó¥Ë"
+ "payment_method" => "Epsilonコンビニ"
,"fix" => 3
,"creator_id" => $objSess->member_id
@@ -336,5 +336,5 @@
}
- // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐUPDATE¡¢Ìµ¤±¤ì¤ÐINSERT
+ // データが存在していればUPDATE、無ければINSERT
if(count($arrPaymentData) > 0){
$objQuery->update("dtb_payment", $arrData, " module_id = '" . MDL_EPSILON_ID . "' AND memo03 = '" . $val ."'");
@@ -346,15 +346,15 @@
}
-// ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý
+// コンビニ入金確認処理
function lfEpsilonCheck(){
global $objQuery;
- // trans_code ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ³î¤Ä¡¢Æþ¶âºÑ¤ß¤Î¾ì¹ç
+ // trans_code を指定されていて且つ、入金済みの場合
if($_POST["trans_code"] != "" and $_POST["paid"] == 1 and $_POST["order_number"] != ""){
- // ¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë
+ // ステータスを入金済みに変更する
$sql = "UPDATE dtb_order SET status = 6, update_date = now() WHERE order_id = ? AND memo04 = ? ";
$objQuery->query($sql, array($_POST["order_number"], $_POST["trans_code"]));
- // POST¤ÎÆâÍƤòÁ´¤Æ¥í¥°Êݸ
+ // POSTの内容を全てログ保存
$log_path = DATA_PATH . "logs/epsilon.log";
gfPrintLog("epsilon conveni start---------------------------------------------------------", $log_path);
@@ -364,5 +364,5 @@
gfPrintLog("epsilon conveni end-----------------------------------------------------------", $log_path);
- //±þÅú·ë²Ì¤òɽ¼¨
+ //応答結果を表示
echo "1";
}