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/html/shopping/convenience.php

    r12157 r15078  
    1515        $this->arrCONVENIENCE = $arrCONVENIENCE; 
    1616        /* 
    17          session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç 
    18          ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤ÎÍ­¸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£ 
    19          private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£ 
     17         session_start時のno-cacheヘッダーを抑制することで 
     18         「戻る」ボタン使用時の有効期限切れ表示を抑制する。 
     19         private-no-expire:クライアントのキャッシュを許可する。 
    2020        */ 
    2121        session_cache_limiter('private-no-expire');      
     
    3333$arrInfo = $objSiteInfo->data; 
    3434 
    35 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
     35// パラメータ管理クラス 
    3636$objFormParam = new SC_FormParam(); 
    37 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 
     37// パラメータ情報の初期化 
    3838lfInitParam(); 
    39 // POSTÃͤμèÆÀ 
     39// POST値の取得 
    4040$objFormParam->setParam($_POST); 
    4141 
    42 // ¥¢¥¯¥»¥¹¤ÎÀµÅöÀ­¤ÎȽÄê 
     42// アクセスの正当性の判定 
    4343$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 
    4444 
    45 //¥³¥ó¥Ó¥Ë¤Î¼ïÎà¤Ç½èÍý¥Õ¥¡¥¤¥ë¤òÀÚ¤êÂؤ¨¤ë 
     45//コンビニの種類で処理ファイルを切り替える 
    4646switch($_POST['mode']) { 
    47 //´°Î» 
     47//完了 
    4848case 'complete': 
    49     //¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     49    //エラーチェック 
    5050    $objPage->arrErr = lfCheckError(); 
    5151    if($objPage->arrErr == "") { 
    52         // ¥Þ¡¼¥Á¥ã¥ó¥È¾ðÊóÀßÄê¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É 
     52        // マーチャント情報設定ファイルをインクルード 
    5353        //require("merchant.ini"); 
    54         // ·èºÑ½èÍý¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¯¥ë¡¼¥É 
     54        // 決済処理パッケージをインクルード 
    5555        require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Transaction.php"); 
    5656        require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Config.php"); 
    5757        require_once(DATA_PATH . "vtcvsmdk/mdk/lib/BSCVS/Log.php"); 
    5858     
    59         // ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ® 
     59        // トランザクションインスタンスを作成 
    6060        $objTran = new Transaction; 
    6161         
    62         // ÀßÄê¥Õ¥¡¥¤¥ë cvsgwlib.conf ¤Ë¤è¤ê¥¤¥ó¥¹¥¿¥ó¥¹¤ò½é´ü²½ 
     62        // 設定ファイル cvsgwlib.conf によりインスタンスを初期化 
    6363        $objTran->setServer(DATA_PATH . "vtcvsmdk/mdk/conf/cvsgwlib.conf"); 
    6464         
    65         // ¥«¡¼¥È½¸·×½èÍý 
     65        // カート集計処理 
    6666        $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 
    67         // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 
     67        // 一時受注テーブルの読込 
    6868        $arrData = sfGetOrderTemp($uniqid); 
    69         // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 
     69        // カート集計を元に最終計算 
    7070        $arrPrice = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo, $objCustomer); 
    7171         
    72         // ¥í¥°½ÐÎÏ¥¤¥ó¥¹¥¿¥ó¥¹¤ò¼èÆÀ 
     72        // ログ出力インスタンスを取得 
    7373        $logger = $objTran->getLogger(); 
    7474         
    75         // ¥í¥°½ÐÎÏ(¤³¤³¤«¤é) 
    76         $logger->logprint('DEBUG', '<<< »Ùʧ·ë²Ì²èÌ̽èÍý³«»Ï... >>>'); 
    77          
    78         //¥³¥ó¥Ó¥Ë¤Î¼ïÎफ¤éCVS¥¿¥¤¥×¤ò·èÄꤹ¤ë 
     75        // ログ出力(ここから) 
     76        $logger->logprint('DEBUG', '<<< 支払結果画面処理開始... >>>'); 
     77         
     78        //コンビニの種類からCVSタイプを決定する 
    7979        switch($_POST['convenience']) { 
    80         //¥»¥Ö¥ó¥¤¥ì¥Ö¥ó 
     80        //セブンイレブン 
    8181        case '1': 
    8282            $cvs_type = '01'; 
    8383            break; 
    84         //¥Õ¥¡¥ß¥ê¡¼¥Þ¡¼¥È 
     84        //ファミリーマート 
    8585        case '2': 
    8686            $cvs_type = '03'; 
    8787            break; 
    88         //¥µ¡¼¥¯¥ëK¥µ¥ó¥¯¥¹ 
     88        //サークルKサンクス 
    8989        case '3': 
    9090            $cvs_type = '04'; 
    9191            break; 
    92         //¤½¤Î¾ 
     92        //その他 
    9393        case '4': 
    9494        case '5': 
     
    100100        } 
    101101     
    102         //¥ê¥¯¥¨¥¹¥ÈÅÅʸ 
     102        //リクエスト電文 
    103103        $arrRequest = array( 
    104             // ¼è°ú ID 
     104            // 取引 ID 
    105105            REQ_ORDER_ID => $uniqid,         
    106             // CVS¥¿¥¤¥× 
     106            // CVSタイプ 
    107107            REQ_CVS_TYPE => $cvs_type, 
    108             // ¶â³Û 
     108            // 金額 
    109109            REQ_AMOUNT => $arrPrice['payment_total'], 
    110             // »Ùʧ´ü¸Â 
     110            // 支払期限 
    111111            REQ_PAY_LIMIT => lfGetPayLimit(), 
    112             // »á̾¡ÊÃí°Õ¡§¥Ù¥ê¥È¥é¥ó¥¹¥³¥ó¥Ó¥Ë¥²¡¼¥È¥¦¥§¥¤¤Ï UTF-8 ¤Îʸ»ú¤Î¤ß¤ò 
    113             // ¼õ¤±ÉÕ¤±¤ë¤¿¤á¡¢¥²¡¼¥È¥¦¥§¥¤Àܳ¤ÎÁ°¤Ë UTF-8 ¥³¡¼¥É¤ØÊÑ´¹¡Ë 
     112            // 氏名(注意:ベリトランスコンビニゲートウェイは UTF-8 の文字のみを 
     113            // 受け付けるため、ゲートウェイ接続の前に UTF-8 コードへ変換) 
    114114            REQ_NAME1 => $objTran->jCode($arrData['order_name01'], ENCODE_UTF8), 
    115115            REQ_NAME2 => $objTran->jCode($arrData['order_name02'], ENCODE_UTF8), 
    116116            REQ_KANA => $objTran->jCode($arrData['order_kana01'].$arrData['order_kana02'], ENCODE_UTF8), 
    117             // ÅÅÏÃÈÖ¹æ 
     117            // 電話番号 
    118118            REQ_TEL_NO => $arrData['order_tel01']."-".$arrData['order_tel02']."-".$arrData['order_tel03'] 
    119119        ); 
    120120 
    121         //¥Ù¥ê¥È¥é¥ó¥¹¥³¥ó¥Ó¥Ë¥²¡¼¥È¥¦¥§¥¤¤Ë¥ê¥¯¥¨¥¹¥ÈÅÅʸ¤òÅꤲ¡¢¼è°ú·ë²Ì¤ò³ÊǼ 
     121        //ベリトランスコンビニゲートウェイにリクエスト電文を投げ、取引結果を格納 
    122122        $arrResult = $objTran->doTransaction(CMD_ENTRY, $arrRequest); 
    123         //¼è°úÀ®¸ù 
     123        //取引成功 
    124124        if($arrResult[RES_ACTION_CODE] = '010') { 
    125             //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
     125            //コンビニの種類 
    126126            switch($_POST['convenience']) { 
    127             //¥»¥Ö¥ó¥¤¥ì¥Ö¥ó 
     127            //セブンイレブン 
    128128            case '1': 
    129                 $arrRet['cv_type'] = '1';                                       //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
    130                 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //ʧ¹þɼURL(PC) 
    131                 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO];          //ʧ¹þɼÈÖ¹æ 
    132                 break; 
    133             //¥Õ¥¡¥ß¥ê¡¼¥Þ¡¼¥È 
     129                $arrRet['cv_type'] = '1';                                       //コンビニの種類 
     130                $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //払込票URL(PC) 
     131                $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO];          //払込票番号 
     132                break; 
     133            //ファミリーマート 
    134134            case '2': 
    135135                $company_code = substr($arrResult[RES_RECEIPT_NO], 0, 5); 
    136136                $order_no = substr($arrResult[RES_RECEIPT_NO], 6, 12); 
    137                 $arrRet['cv_type'] = '2';                       //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
    138                 $arrRet['cv_company_code'] = $company_code; //´ë¶È¥³¡¼¥É 
    139                 $arrRet['cv_order_no'] = $order_no;         //¼õÉÕÈÖ¹æ 
    140                 break; 
    141             //¥µ¡¼¥¯¥ëK¥µ¥ó¥¯¥¹ 
     137                $arrRet['cv_type'] = '2';                       //コンビニの種類 
     138                $arrRet['cv_company_code'] = $company_code; //企業コード 
     139                $arrRet['cv_order_no'] = $order_no;         //受付番号 
     140                break; 
     141            //サークルKサンクス 
    142142            case '3': 
    143143                $mobile_url = preg_replace("/https:\/\/.+?\/JLPcon/","https://w2.kessai.info/JLM/JLMcon", $arrResult[RES_HARAIKOMI_URL]); 
    144                 $arrRet['cv_type'] = '3';                                       //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
    145                 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //ʧ¹þɼURL 
    146                 $arrRet['cv_payment_mobile_url'] = $mobile_url;                 //ʧ¹þɼURL(¥â¥Ð¥¤¥ë) 
    147                 break; 
    148             //¥í¡¼¥½¥ó¡¢¥»¥¤¥³¡¼¥Þ¡¼¥È 
     144                $arrRet['cv_type'] = '3';                                       //コンビニの種類 
     145                $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //払込票URL 
     146                $arrRet['cv_payment_mobile_url'] = $mobile_url;                 //払込票URL(モバイル) 
     147                break; 
     148            //ローソン、セイコーマート 
    149149            case '4': 
    150                 $arrRet['cv_type'] = '4';                                   //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
    151                 $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO];      //ʧ¹þɼÈÖ¹æ 
    152                 break; 
    153             //¥ß¥Ë¥¹¥È¥Ã¥×¡¢¥Ç¥¤¥ê¡¼¥ä¥Þ¥¶¥­¡¢¥ä¥Þ¥¶¥­¥Ç¥¤¥ê¡¼¥¹¥È¥¢ 
     150                $arrRet['cv_type'] = '4';                                   //コンビニの種類 
     151                $arrRet['cv_receipt_no'] = $arrResult[RES_RECEIPT_NO];      //払込票番号 
     152                break; 
     153            //ミニストップ、デイリーヤマザキ、ヤマザキデイリーストア 
    154154            case '5': 
    155                 $arrRet['cv_type'] = '5';                                       //¥³¥ó¥Ó¥Ë¤Î¼ïÎà 
    156                 $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //ʧ¹þɼURL(PC) 
     155                $arrRet['cv_type'] = '5';                                       //コンビニの種類 
     156                $arrRet['cv_payment_url'] = $arrResult[RES_HARAIKOMI_URL];      //払込票URL(PC) 
    157157                break; 
    158158            } 
    159             //»Ùʧ´ü¸Â 
     159            //支払期限 
    160160            $arrRet['cv_payment_limit'] = lfGetPayLimit(); 
    161             //¥³¥ó¥Ó¥Ë·èºÑ¾ðÊó¤ò³ÊǼ 
     161            //コンビニ決済情報を格納 
    162162            $sqlval['conveni_data'] = serialize($arrRet); 
    163163            $objQuery = new SC_Query; 
    164164            $objQuery->update("dtb_order_temp", $sqlval, "order_temp_id = ? ", array($uniqid)); 
    165             // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     165            // 正常に登録されたことを記録しておく 
    166166            $objSiteSess->setRegistFlag(); 
    167             //¹ØÆþ´°Î»¥Ú¡¼¥¸¤Ø 
     167            //購入完了ページへ 
    168168            header("Location: " . URL_SHOP_COMPLETE); 
    169         //¼ºÇÔ 
     169        //失敗 
    170170        } else { 
    171             $objPage->arrErr = '¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£'; 
     171            $objPage->arrErr = 'エラーが発生しました。'; 
    172172        } 
    173173         
    174         # ¥í¥°½ÐÎÏ(¤³¤³¤Þ¤Ç) 
    175         $logger->logprint('DEBUG', '<<< »Ùʧ·ë²Ì²èÌ̽èÍý½ªÎ». >>>'); 
     174        # ログ出力(ここまで) 
     175        $logger->logprint('DEBUG', '<<< 支払結果画面処理終了. >>>'); 
    176176     
    177177    } 
    178178    break; 
    179 //Ìá¤ë 
     179//戻る 
    180180case 'return': 
    181     // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     181    // 正常に登録されたことを記録しておく 
    182182    $objSiteSess->setRegistFlag(); 
    183     // ³Îǧ¥Ú¡¼¥¸¤Ø°ÜÆ° 
     183    // 確認ページへ移動 
    184184    header("Location: " . URL_SHOP_CONFIRM); 
    185185    exit; 
     
    188188 
    189189$objView->assignobj($objPage); 
    190 // ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹) 
     190// フレームを選択(キャンペーンページから遷移なら変更) 
    191191$objCampaignSess->pageView($objView); 
    192192 
    193193//------------------------------------------------------------------------------------------------------------- 
    194194 
    195 //»Ùʧ´ü¸Â¤ÎÀ¸À® 
     195//支払期限の生成 
    196196function lfGetPayLimit() { 
    197197    $date = sprintf("%10s", 
     
    201201} 
    202202 
    203 //¥Ñ¥é¥á¡¼¥¿¤Î½é´ü²½ 
     203//パラメータの初期化 
    204204function lfInitParam() { 
    205205    global $objFormParam; 
    206     $objFormParam->addParam("¥³¥ó¥Ó¥Ë¤Î¼ïÎà", "convenience", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
    207 } 
    208      
    209 // ÆþÎÏÆâÍƤΥÁ¥§¥Ã¥¯ 
     206    $objFormParam->addParam("コンビニの種類", "convenience", INT_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK")); 
     207} 
     208     
     209// 入力内容のチェック 
    210210function lfCheckError() { 
    211211    global $objFormParam; 
    212     // ÆþÎϥǡ¼¥¿¤òÅϤ¹¡£ 
     212    // 入力データを渡す。 
    213213    $arrRet =  $objFormParam->getHashArray(); 
    214214    $objErr = new SC_CheckError($arrRet); 
Note: See TracChangeset for help on using the changeset viewer.