Ignore:
Timestamp:
2007/07/20 15:58:59 (17 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
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
  • branches/feature-module-update/data/downloads/module/mdl_remise/mdl_remise.php

    r12157 r15078  
    99require_once(MODULE_PATH . "mdl_remise/mdl_remise.inc"); 
    1010 
    11 //¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹ 
     11//ページ管理クラス 
    1212class LC_Page { 
    13     //¥³¥ó¥¹¥È¥é¥¯¥¿ 
     13    //コンストラクタ 
    1414    function LC_Page() { 
    15         //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê 
     15        //メインテンプレートの指定 
    1616        $this->tpl_mainpage = MODULE_PATH . 'mdl_remise/mdl_remise.tpl'; 
    17         $this->tpl_subtitle = '¥ë¥ß¡¼¥º·èºÑ¥â¥¸¥å¡¼¥ë'; 
     17        $this->tpl_subtitle = 'ルミーズ決済モジュール'; 
    1818        global $arrPayment; 
    1919        $this->arrPayment = $arrPayment; 
     
    2828$objQuery = new SC_Query(); 
    2929 
    30 // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý 
     30// ルミーズカードクレジット決済結果通知処理 
    3131lfRemiseCreditResultCheck(); 
    3232 
    33 // ¥³¥ó¥Ó¥ËÆþ¶â¥Á¥§¥Ã¥¯ 
     33// コンビニ入金チェック 
    3434lfRemiseConveniCheck(); 
    3535 
    36 // ǧ¾Ú³Îǧ 
     36// 認証確認 
    3737$objSess = new SC_Session(); 
    3838sfIsSuccess($objSess); 
    3939 
    40 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
     40// パラメータ管理クラス 
    4141$objFormParam = new SC_FormParam(); 
    4242$objFormParam = lfInitParam($objFormParam); 
    4343 
    44 // POSTÃͤμèÆÀ 
     44// POST値の取得 
    4545$objFormParam->setParam($_POST); 
    4646 
    47 // ÈÆÍѹàÌܤòÄɲÃ(ɬ¿Ü¡ª¡ª) 
     47// 汎用項目を追加(必須!!) 
    4848sfAlterMemo(); 
    4949 
     
    5555switch($mode) { 
    5656    case 'edit': 
    57         // ÆþÎÏ¥¨¥é¡¼È½Äê 
     57        // 入力エラー判定 
    5858        $objPage->arrErr = lfCheckError(); 
    5959 
    60         // ¥¨¥é¡¼¤Ê¤·¤Î¾ì¹ç¤Ë¤Ï¥Ç¡¼¥¿¤ò¹¹¿·  
     60        // エラーなしの場合にはデータを更新  
    6161        if (count($objPage->arrErr) == 0) { 
    62             // ¥Ç¡¼¥¿¹¹¿· 
     62            // データ更新 
    6363            lfUpdPaymentDB(); 
    6464             
    65             // javascript¼Â¹Ô 
    66             $objPage->tpl_onload = 'alert("ÅÐÏ¿´°Î»¤·¤Þ¤·¤¿¡£\n´ðËܾðÊó¡ä»ÙʧÊýË¡ÀßÄê¤è¤ê¾ÜºÙÀßÄê¤ò¤·¤Æ¤¯¤À¤µ¤¤¡£"); window.close();'; 
     65            // javascript実行 
     66            $objPage->tpl_onload = 'alert("登録完了しました。\n基本情報>支払方法設定より詳細設定をしてください。"); window.close();'; 
    6767        } 
    6868        break; 
    6969    case 'module_del': 
    70         // ÈÆÍѹàÌܤθºß¥Á¥§¥Ã¥¯ 
     70        // 汎用項目の存在チェック 
    7171        if (sfColumnExists("dtb_payment", "memo01")) { 
    72             // ¥Ç¡¼¥¿¤Îºï½ü¥Õ¥é¥°¤ò¤¿¤Æ¤ë 
     72            // データの削除フラグをたてる 
    7373            $objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array(MDL_REMISE_ID)); 
    7474        } 
    7575        break; 
    7676    default: 
    77         // ¥Ç¡¼¥¿¤Î¥í¡¼¥É 
     77        // データのロード 
    7878        lfLoadData(); 
    7979        break; 
     
    8282$objPage->arrForm = $objFormParam->getFormParamList(); 
    8383 
    84 $objView->assignobj($objPage);                  //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë 
    85 $objView->display($objPage->tpl_mainpage);      //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ 
     84$objView->assignobj($objPage);                  //変数をテンプレートにアサインする 
     85$objView->display($objPage->tpl_mainpage);      //テンプレートの出力 
    8686//------------------------------------------------------------------------------------------------------- 
    87 /* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 
     87/* パラメータ情報の初期化 */ 
    8888function 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"); 
    9797    return $objFormParam; 
    9898} 
    9999 
    100 // ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
     100// エラーチェックを行う 
    101101function lfCheckError(){ 
    102102    global $objFormParam; 
     
    104104    $arrErr = $objFormParam->checkError(); 
    105105     
    106     // ÍøÍÑ¥¯¥ì¥¸¥Ã¥È¡¢ÍøÍÑ¥³¥ó¥Ó¥Ë¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     106    // 利用クレジット、利用コンビニのエラーチェック 
    107107    $arrChkPay = $_POST["payment"]; 
    108108 
    109     // ¥¯¥ì¥¸¥Ã¥È¤Î»Ùʧ¤¤ÊýË¡ 
     109    // クレジットの支払い方法 
    110110    if (count($_POST["credit_method"]) <= 0) { 
    111         $arrErr["credit_method"] = "»Ùʧ¤¤ÊýË¡¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />"; 
    112     } 
    113  
    114     // ÍøÍÑ¥³¥ó¥Ó¥Ë 
     111        $arrErr["credit_method"] = "支払い方法が選択されていません。<br />"; 
     112    } 
     113 
     114    // 利用コンビニ 
    115115    if (isset($arrChkPay)) { 
    116116        if ($_POST["convenience_url"] == "" && $_POST["mobile_convenience_url"] == "") { 
    117             $arrErr["convenience_url"] = "¥³¥ó¥Ó¥ËÀܳÀèURL(PC)¤Þ¤¿¤Ï¥³¥ó¥Ó¥ËÀܳÀèURL(¥â¥Ð¥¤¥ë)¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />"; 
     117            $arrErr["convenience_url"] = "コンビニ接続先URL(PC)またはコンビニ接続先URL(モバイル)が入力されていません。<br />"; 
    118118        } 
    119119    } 
     
    122122} 
    123123 
    124 // ÅÐÏ¿¥Ç¡¼¥¿¤òÆɤ߹þ¤à 
     124// 登録データを読み込む 
    125125function lfLoadData(){ 
    126126    global $objFormParam; 
    127127     
    128     //¥Ç¡¼¥¿¤ò¼èÆÀ 
     128    //データを取得 
    129129    $arrRet = lfGetPaymentDB(" AND del_flg = '0'"); 
    130130 
    131     // Ãͤò¥»¥Ã¥È 
     131    // 値をセット 
    132132    $objFormParam->setParam($arrRet[0]); 
    133133 
    134     // ²èÌÌɽ¼¨ÍѤ˥ǡ¼¥¿¤òÊÑ´¹ 
     134    // 画面表示用にデータを変換 
    135135    $arrDisp = array(); 
    136136    $arrDisp["payment"][0] = 0; 
    137137 
    138138    foreach($arrRet as $key => $val) { 
    139         // ¥¯¥ì¥¸¥Ã¥È¤Î·èºÑ¶èʬ¤ò¼èÆÀ 
     139        // クレジットの決済区分を取得 
    140140        if($val["payment"] == 1) { 
    141141            $credit = $val["payment_code"]; 
     
    145145        } 
    146146 
    147         // ¥³¥ó¥Ó¥Ë¤Î·èºÑ¶èʬ¤ò¼èÆÀ 
     147        // コンビニの決済区分を取得 
    148148        if($val["payment"] == 2) { 
    149149            $arrDisp["convenience"] = $val["convenience"]; 
     
    157157    $objFormParam->splitParamCheckBoxes("credit_method"); 
    158158     
    159     // ¥¯¥ì¥¸¥Ã¥È»Ùʧ¤¤¶èʬ 
     159    // クレジット支払い区分 
    160160    //$objFormParam->splitParamCheckBoxes("credit_method"); 
    161161} 
    162162 
    163 // DB¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 
     163// DBからデータを取得する 
    164164function lfGetPaymentDB($where = "", $arrWhereVal = array()){ 
    165165    global $objQuery; 
     
    187187 
    188188 
    189 // ¥Ç¡¼¥¿¤Î¹¹¿·½èÍý 
     189// データの更新処理 
    190190function lfUpdPaymentDB(){ 
    191191    global $objQuery; 
    192192    global $objSess; 
    193193     
    194     // »Ùʧ¤¤ÊýË¡¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ï¥¤¥Õ¥ó¶èÀÚ¤ê¤ËÊÔ½¸¤¹¤ë 
     194    // 支払い方法にチェックが入っている場合は、ハイフン区切りに編集する 
    195195    $convCnt = count($_POST["credit_method"]); 
    196196    if ($convCnt > 0) { 
     
    201201    } 
    202202 
    203     // del_flg¤òºï½ü¤Ë¤·¤Æ¤ª¤¯ 
     203    // del_flgを削除にしておく 
    204204    $del_sql = "UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ? "; 
    205205    $arrDel = array(MDL_REMISE_ID); 
     
    213213 
    214214    foreach($arrEntry as $key => $val){ 
    215         // ¥é¥ó¥¯¤ÎºÇÂçÃͤò¼èÆÀ¤¹¤ë 
     215        // ランクの最大値を取得する 
    216216        $max_rank = $objQuery->getone("SELECT max(rank) FROM dtb_payment"); 
    217217 
    218         // »ÙʧÊýË¡¥Ç¡¼¥¿¤ò¼èÆÀ          
     218        // 支払方法データを取得            
    219219        $arrPaymentData = lfGetPaymentDB("AND memo03 = ?", array($val)); 
    220220 
    221         // ¥¯¥ì¥¸¥Ã¥È·èºÑÅÐÏ¿ 
     221        // クレジット決済登録 
    222222        if($val == 1) { 
    223223 
    224224            $arrData = array( 
    225                 "payment_method" => "remise¥¯¥ì¥¸¥Ã¥È" 
     225                "payment_method" => "remiseクレジット" 
    226226                ,"fix" => 3 
    227227                ,"creator_id" => $objSess->member_id 
     
    244244        } 
    245245 
    246         // ¥³¥ó¥Ó¥Ë¤Ë¥Á¥§¥Ã¥¯¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ð¥³¥ó¥Ó¥Ë¤òÅÐÏ¿¤¹¤ë 
     246        // コンビニにチェックが入っていればコンビニを登録する 
    247247        if($val == 2) { 
    248248             
    249249            $arrData = array( 
    250                 "payment_method" => "remise¥³¥ó¥Ó¥Ë" 
     250                "payment_method" => "remiseコンビニ" 
    251251                ,"fix" => 3 
    252252                ,"creator_id" => $objSess->member_id 
     
    268268        } 
    269269 
    270         // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐUPDATE¡¢Ìµ¤±¤ì¤ÐINSERT 
     270        // データが存在していればUPDATE、無ければINSERT 
    271271        if (count($arrPaymentData) > 0) { 
    272272            $objQuery->update("dtb_payment", $arrData, " module_id = '" . MDL_REMISE_ID . "' AND memo03 = '" . $val ."'"); 
     
    278278} 
    279279 
    280 // ¥ë¥ß¡¼¥º¥«¡¼¥É¥¯¥ì¥¸¥Ã¥È·èºÑ·ë²ÌÄÌÃνèÍý 
     280// ルミーズカードクレジット決済結果通知処理 
    281281function lfRemiseCreditResultCheck(){ 
    282282    global $objQuery; 
     
    285285    gfPrintLog("remise card result : ".$_POST["X-TRANID"] , $log_path); 
    286286     
    287     // TRAN_ID ¤ò»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢¥«¡¼¥É¾ðÊ󤬤¢¤ë¾ì¹ç 
     287    // TRAN_ID を指定されていて、カード情報がある場合 
    288288    if (isset($_POST["X-TRANID"]) && isset($_POST["X-PARTOFCARD"])) { 
    289289         
     
    296296        gfPrintLog("remise credit result end  ----------", $log_path); 
    297297 
    298         // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç 
     298        // IPアドレス制御する場合 
    299299        if (REMISE_IP_ADDRESS_DENY == 1) { 
    300300            gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); 
     
    305305        } 
    306306         
    307         // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ 
     307        // 請求番号と金額の取得 
    308308        $order_id = 0; 
    309309        $payment_total = 0; 
     
    320320        gfPrintLog("payment_total : ".$payment_total, $log_path); 
    321321 
    322         // Ãíʸ¥Ç¡¼¥¿¼èÆÀ 
     322        // 注文データ取得 
    323323        $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); 
    324324 
    325         // ¶â³Û¤ÎÁê°ã 
     325        // 金額の相違 
    326326        if (count($arrTempOrder) > 0) { 
    327327            gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); 
     
    340340} 
    341341 
    342 // ¥³¥ó¥Ó¥ËÆþ¶â³Îǧ½èÍý 
     342// コンビニ入金確認処理 
    343343function lfRemiseConveniCheck(){ 
    344344    global $objQuery; 
     
    347347    gfPrintLog("remise conveni result : ".$_POST["JOB_ID"] , $log_path); 
    348348     
    349     // ɬÍפʥǡ¼¥¿¤¬Á÷¿®¤µ¤ì¤Æ¤¤¤Æ¡¢¼ýǼÄÌÃΤμ«Æ°¼õ¿®¤òµö²Ä¤·¤Æ¤¤¤ë¾ì¹ç 
     349    // 必要なデータが送信されていて、収納通知の自動受信を許可している場合 
    350350    if(isset($_POST["JOB_ID"]) && isset($_POST["REC_FLG"]) && REMISE_CONVENIENCE_RECIVE == 1){ 
    351351         
    352352        $errFlg = FALSE; 
    353353             
    354         // ¼ýǼºÑ¤ß¤Î¾ì¹ç 
     354        // 収納済みの場合 
    355355        if ($_POST["REC_FLG"] == REMISE_CONVENIENCE_CHARGE) { 
    356             // POST¤ÎÆâÍƤòÁ´¤Æ¥í¥°Êݸ 
     356            // POSTの内容を全てログ保存 
    357357            gfPrintLog("remise conveni charge start----------", $log_path); 
    358358            foreach($_POST as $key => $val){ 
     
    361361            gfPrintLog("remise conveni charge end  ----------", $log_path); 
    362362 
    363             // IP¥¢¥É¥ì¥¹À©¸æ¤¹¤ë¾ì¹ç 
     363            // IPアドレス制御する場合 
    364364            if (REMISE_IP_ADDRESS_DENY == 1) { 
    365365                gfPrintLog("remise remoto ip address : ".$_SERVER["REMOTE_HOST"]."-".$_SERVER["REMOTE_ADDR"], $log_path); 
     
    370370            } 
    371371             
    372             // ÀÁµáÈÖ¹æ¤È¶â³Û¤Î¼èÆÀ 
     372            // 請求番号と金額の取得 
    373373            $order_id = 0; 
    374374            $payment_total = 0; 
     
    385385            gfPrintLog("payment_total : ".$payment_total, $log_path); 
    386386             
    387             // Ãíʸ¥Ç¡¼¥¿¼èÆÀ 
     387            // 注文データ取得 
    388388            $arrTempOrder = $objQuery->getall("SELECT payment_total FROM dtb_order_temp WHERE order_id = ? ", array($order_id)); 
    389389 
    390             // ¶â³Û¤ÎÁê°ã 
     390            // 金額の相違 
    391391            if (count($arrTempOrder) > 0) { 
    392392                gfPrintLog("ORDER payment_total : ".$arrTempOrder[0]['payment_total'], $log_path); 
     
    396396            } 
    397397             
    398             // JOB_ID¤ÈÀÁµáÈֹ档Æþ¶â¶â³Û¤¬°ìÃפ¹¤ë¾ì¹ç¤Î¤ß¡¢¥¹¥Æ¡¼¥¿¥¹¤òÆþ¶âºÑ¤ß¤ËÊѹ¹¤¹¤ë 
     398            // JOB_IDと請求番号。入金金額が一致する場合のみ、ステータスを入金済みに変更する 
    399399            if ($errFlg) { 
    400400                $sql = "UPDATE dtb_order SET status = 6, update_date = now() ". 
     
    402402                $objQuery->query($sql, array($order_id, $_POST["JOB_ID"])); 
    403403             
    404                 //±þÅú·ë²Ì¤òɽ¼¨ 
     404                //応答結果を表示 
    405405                print(REMISE_CONVENIENCE_CHARGE_OK); 
    406406                exit; 
     
    413413 
    414414/** 
    415  * IP¥¢¥É¥ì¥¹ÂÓ°è¥Á¥§¥Ã¥¯ 
    416  * @param $ip IP¥¢¥É¥ì¥¹ 
     415 * IPアドレス帯域チェック 
     416 * @param $ip IPアドレス 
    417417 * @return boolean 
    418418 */ 
    419419function lfIpAddressDenyCheck($ip) { 
    420420     
    421     // IP¥¢¥É¥ì¥¹ÈϰϤËÆþ¤Ã¤Æ¤Ê¤¤¾ì¹ç 
     421    // IPアドレス範囲に入ってない場合 
    422422    if (ip2long(REMISE_IP_ADDRESS_S) > ip2long($ip) ||  
    423423        ip2long(REMISE_IP_ADDRESS_E) < ip2long($ip)) { 
Note: See TracChangeset for help on using the changeset viewer.