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_epsilon/card.php

    r12157 r15078  
    1212class LC_Page { 
    1313    function LC_Page() { 
    14         /** ɬ¤º»ØÄꤹ¤ë **/ 
    15         $this->tpl_mainpage = 'mdl_epsilon/card.tpl';           // ¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È 
     14        /** 必ず指定する **/ 
     15        $this->tpl_mainpage = 'mdl_epsilon/card.tpl';           // メインテンプレート 
    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');      
     
    2929$arrInfo = $objSiteInfo->data; 
    3030 
    31 // ¥æ¡¼¥¶¥æ¥Ë¡¼¥¯ID¤Î¼èÆÀ¤È¹ØÆþ¾õÂÖ¤ÎÀµÅöÀ­¤ò¥Á¥§¥Ã¥¯ 
     31// ユーザユニークIDの取得と購入状態の正当性をチェック 
    3232$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess); 
    3333 
    34 // ¥«¡¼¥È½¸·×½èÍý 
     34// カート集計処理 
    3535$objPage = sfTotalCart($objPage, $objCartSess, $arrInfo); 
    3636 
    37 // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 
     37// 一時受注テーブルの読込 
    3838$arrData = sfGetOrderTemp($uniqid); 
    3939 
    40 // ¥«¡¼¥È½¸·×¤ò¸µ¤ËºÇ½ª·×»» 
     40// カート集計を元に最終計算 
    4141$arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo); 
    4242 
    43 // Âåɽ¾¦ÉʾðÊó 
     43// 代表商品情報 
    4444$arrMainProduct = $objPage->arrProductsClass[0]; 
    4545 
    46 // »Ùʧ¤¤¾ðÊó¤ò¼èÆÀ 
     46// 支払い情報を取得 
    4747$arrPayment = $objQuery->getall("SELECT module_id, memo01, memo02, memo03, memo04, memo05, memo06, memo07, memo08, memo09, memo10 FROM dtb_payment WHERE payment_id = ? ", array($arrData["payment_id"])); 
    4848 
    49 // trans_code¤ËÃͤ¬¤¢¤ê³î¤Ä¡¢Àµ¾ï½ªÎ»¤Î¤È¤­¤Ï¥ª¡¼¥À¡¼³Îǧ¤ò¹Ô¤¦¡£ 
     49// trans_codeに値があり且つ、正常終了のときはオーダー確認を行う。 
    5050if($_GET["result"] == "1"){ 
    5151     
    52     // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     52    // 正常な推移であることを記録しておく 
    5353    $objSiteSess->setRegistFlag(); 
    5454     
    55     // GET¥Ç¡¼¥¿¤òÊݸ 
     55    // GETデータを保存 
    5656    $arrVal["credit_result"] = $_GET["result"]; 
    5757    $arrVal["memo01"] = PAYMENT_CREDIT_ID; 
     
    5959    $sqlval["memo04"] = sfGetXMLValue($arrXML,'RESULT','TRANS_CODE'); 
    6060 
    61     // ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É 
    62     $arrMemo["trans_code"] = array("name"=>"Epsilon¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¥³¡¼¥É", "value" => $_GET["trans_code"]); 
     61    // トランザクションコード 
     62    $arrMemo["trans_code"] = array("name"=>"Epsilonトランザクションコード", "value" => $_GET["trans_code"]); 
    6363    $arrVal["memo02"] = serialize($arrMemo); 
    6464 
    65     // ·èºÑÁ÷¿®¥Ç¡¼¥¿ºîÀ® 
     65    // 決済送信データ作成 
    6666    $arrModule['module_id'] = MDL_EPSILON_ID; 
    6767    $arrModule['payment_total'] = $arrPayment[0]["payment_total"]; 
     
    6969    $arrVal["memo05"] = serialize($arrModule); 
    7070 
    71     // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë¹¹¿· 
     71    // 受注一時テーブルに更新 
    7272    sfRegistTempOrder($uniqid, $arrVal); 
    7373 
    74     // ´°Î»²èÌ̤ؠ
     74    // 完了画面へ 
    7575    if (is_callable(GC_MobileUserAgent) && GC_MobileUserAgent::isMobile()) { 
    7676        header("Location: " .  gfAddSessionId(URL_SHOP_COMPLETE)); 
     
    8080} 
    8181 
    82 // ¥Ç¡¼¥¿Á÷¿® 
     82// データ送信 
    8383lfSendCredit($arrData, $arrPayment, $arrMainProduct); 
    8484 
    8585//--------------------------------------------------------------------------------------------------------------------------------------------------------- 
    8686 
    87 // ¥Ç¡¼¥¿Á÷¿®½èÍý 
     87// データ送信処理 
    8888function lfSendCredit($arrData, $arrPayment, $arrMainProduct, $again = true){ 
    8989    global $objSiteSess; 
    9090    global $objCampaignSess; 
    9191     
    92     // ¥Ç¡¼¥¿Á÷¿®ÀèCGI 
     92    // データ送信先CGI 
    9393    $order_url = $arrPayment[0]["memo02"]; 
    9494 
    95     // Èó²ñ°÷¤Î¤È¤­¤Ï user_id ¤Ë not_member¤ÈÁ÷¤ë 
     95    // 非会員のときは user_id に not_memberと送る 
    9696    ($arrData["customer_id"] == 0) ? $user_id = "not_member" : $user_id = $arrData["customer_id"];   
    9797     
    98     // Á÷¿®¥Ç¡¼¥¿À¸À® 
    99     $item_name = $arrMainProduct["name"] . "¡ß" . $arrMainProduct["quantity"] . "¸Ä (Âåɽ)"; 
     98    // 送信データ生成 
     99    $item_name = $arrMainProduct["name"] . "×" . $arrMainProduct["quantity"] . "個 (代表)"; 
    100100    $arrSendData = array( 
    101         'contract_code' => $arrPayment[0]["memo01"],                        // ·ÀÌ󥳡¼¥É 
    102         'user_id' => $user_id ,                                             // ¥æ¡¼¥¶ID 
    103         'user_name' => $arrData["order_name01"].$arrData["order_name02"],   // ¥æ¡¼¥¶Ì¾ 
    104         'user_mail_add' => $arrData["order_email"],                         // ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
    105         'order_number' => $arrData["order_id"],                             // ¥ª¡¼¥À¡¼ÈÖ¹æ 
    106         'item_code' => $arrMainProduct["product_code"],                     // ¾¦ÉÊ¥³¡¼¥É(Âåɽ) 
    107         'item_name' => $item_name,                                          // ¾¦ÉÊ̾(Âåɽ) 
    108         'item_price' => $arrData["payment_total"],                          // ¾¦ÉʲÁ³Ê(Àǹþ¤ßÁí³Û) 
    109         'st_code' => $arrPayment[0]["memo04"],                              // ·èºÑ¶èʬ 
    110         'mission_code' => '1',                                              // ²Ý¶â¶èʬ(¸ÇÄê) 
    111         'process_code' => '1',                                              // ½èÍý¶èʬ(¸ÇÄê) 
    112         'xml' => '1',                                                       // ±þÅú·Á¼°(¸ÇÄê) 
    113         'memo1' => "",                                                      // ͽÈ÷01 
    114         'memo2' => ECCUBE_PAYMENT . "_" . date("YmdHis"),                   // ͽÈ÷02 
     101        'contract_code' => $arrPayment[0]["memo01"],                        // 契約コード 
     102        'user_id' => $user_id ,                                             // ユーザID 
     103        'user_name' => $arrData["order_name01"].$arrData["order_name02"],   // ユーザ名 
     104        'user_mail_add' => $arrData["order_email"],                         // メールアドレス 
     105        'order_number' => $arrData["order_id"],                             // オーダー番号 
     106        'item_code' => $arrMainProduct["product_code"],                     // 商品コード(代表) 
     107        'item_name' => $item_name,                                          // 商品名(代表) 
     108        'item_price' => $arrData["payment_total"],                          // 商品価格(税込み総額) 
     109        'st_code' => $arrPayment[0]["memo04"],                              // 決済区分 
     110        'mission_code' => '1',                                              // 課金区分(固定) 
     111        'process_code' => '1',                                              // 処理区分(固定) 
     112        'xml' => '1',                                                       // 応答形式(固定) 
     113        'memo1' => "",                                                      // 予備01 
     114        'memo2' => ECCUBE_PAYMENT . "_" . date("YmdHis"),                   // 予備02 
    115115    ); 
    116116 
    117     // ¥Ç¡¼¥¿Á÷¿® 
     117    // データ送信 
    118118    $arrXML = sfPostPaymentData($order_url, $arrSendData); 
    119119     
    120     // ¥¨¥é¡¼¤¬¤¢¤ë¤«¥Á¥§¥Ã¥¯¤¹¤ë 
     120    // エラーがあるかチェックする 
    121121    $err_code = sfGetXMLValue($arrXML,'RESULT','ERR_CODE'); 
    122122     
     
    124124        $err_detail = sfGetXMLValue($arrXML,'RESULT','ERR_DETAIL'); 
    125125         
    126         // ·èºÑ¶èʬ¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï VISA,MASTER ¤Î¤ß¤ÇºÆÁ÷¿®¤ò»î¤ß¤ë 
     126        // 決済区分エラーの場合には VISA,MASTER のみで再送信を試みる 
    127127        if($err_code == "909" and $again){ 
    128128            $arrPayment[0]["memo04"] = "10000-0000-00000"; 
    129129            lfSendCredit($arrData, $arrPayment, $arrMainProduct, false); 
    130130        } 
    131         sfDispSiteError(FREE_ERROR_MSG, "", true, "¹ØÆþ½èÍýÃæ¤Ë°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£<br /><br /><br />¡¦" . $err_detail . "<br /><br /><br />¤³¤Î¼ê³¤­¤Ï̵¸ú¤È¤Ê¤ê¤Þ¤·¤¿¡£"); 
     131        sfDispSiteError(FREE_ERROR_MSG, "", true, "購入処理中に以下のエラーが発生しました。<br /><br /><br />・" . $err_detail . "<br /><br /><br />この手続きは無効となりました。"); 
    132132    } else { 
    133         // Àµ¾ï¤Ê¿ä°Ü¤Ç¤¢¤ë¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
     133        // 正常な推移であることを記録しておく 
    134134        $objSiteSess->setRegistFlag(); 
    135135         
    136         // ·ÈÂÓüËö¤Î¾ì¹ç¤Ï¡¢¥»¥Ã¥·¥ç¥óID¡¦¥ª¡¼¥À¡¼Èֹ桦Ìá¤Ã¤Æ¤¯¤ëURL¤òÊݸ¤·¤Æ¤ª¤¯¡£ 
     136        // 携帯端末の場合は、セッションID・オーダー番号・戻ってくるURLを保存しておく。 
    137137        if (is_callable(GC_MobileUserAgent) && GC_MobileUserAgent::isMobile()) { 
    138138            sfMobileSetExtSessionId('order_number', $arrData['order_id'], 'shopping/load_payment_module.php'); 
Note: See TracChangeset for help on using the changeset viewer.