source: branches/feature-module-update/html/shopping/card.php @ 15080

Revision 15080, 5.8 KB checked in by nanasess, 17 years ago (diff)

svn properties 設定

  • svn:mime-type - application/x-httpd-php; charset=UTF-8
  • svn:keywords - Id
  • Property svn:keywords set to Id
  • Property svn:mime-type set to application/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8require_once("../require.php");
9
10$arrJPO_INFO['10'] = "一括払い";
11$arrJPO_INFO['21'] = "ボーナス一括払い";
12$arrJPO_INFO['80'] = "リボ払い";
13$arrJPO_INFO['61C02'] = "分割2回払い";
14$arrJPO_INFO['61C03'] = "分割3回払い";
15$arrJPO_INFO['61C05'] = "分割5回払い";
16$arrJPO_INFO['61C06'] = "分割6回払い";
17$arrJPO_INFO['61C10'] = "分割10回払い";
18$arrJPO_INFO['61C12'] = "分割12回払い";
19$arrJPO_INFO['61C15'] = "分割15回払い";
20
21class LC_Page {
22    function LC_Page() {
23        /** 必ず指定する **/
24        $this->tpl_css = URL_DIR.'css/layout/shopping/card.css';    // メインCSSパス
25        /** 必ず指定する **/
26        $this->tpl_mainpage = 'shopping/card.tpl';          // メインテンプレート
27        global $arrJPO_INFO;
28        $this->arrJPO_INFO = $arrJPO_INFO;
29        /*
30         session_start時のno-cacheヘッダーを抑制することで
31         「戻る」ボタン使用時の有効期限切れ表示を抑制する。
32         private-no-expire:クライアントのキャッシュを許可する。
33        */
34        session_cache_limiter('private-no-expire');     
35    }
36}
37
38$objPage = new LC_Page();
39$objView = new SC_SiteView();
40$objSiteSess = new SC_SiteSession();
41$objCartSess = new SC_CartSession();
42$objCampaignSess = new SC_CampaignSession();
43$objSiteInfo = $objView->objSiteInfo;
44$arrInfo = $objSiteInfo->data;
45
46// パラメータ管理クラス
47$objFormParam = new SC_FormParam();
48// パラメータ情報の初期化
49lfInitParam();
50// POST値の取得
51$objFormParam->setParam($_POST);
52
53// アクセスの正当性の判定
54$uniqid = sfCheckNormalAccess($objSiteSess, $objCartSess);
55
56switch($_POST['mode']) {
57// 登録
58case 'regist':
59    // 入力値の変換
60    $objFormParam->convParam();
61    $objPage->arrErr = lfCheckError($arrRet);
62    // 入力エラーなしの場合
63    if(count($objPage->arrErr) == 0) {
64        // カート集計処理
65        $objPage = sfTotalCart($objPage, $objCartSess, $arrInfo);
66        // 一時受注テーブルの読込
67        $arrData = sfGetOrderTemp($uniqid);
68        // カート集計を元に最終計算
69        $arrData = sfTotalConfirm($arrData, $objPage, $objCartSess, $arrInfo);
70
71        // カードの認証を行う
72        $arrVal = $objFormParam->getHashArray();
73        $card_no = $arrVal['card_no01'].$arrVal['card_no02'].$arrVal['card_no03'].$arrVal['card_no04'];
74        $card_exp = $arrVal['card_month']. "/" . $arrVal['card_year']; // MM/DD
75        $result = sfGetAuthonlyResult(CGI_DIR, CGI_FILE, $arrVal['name01'], $arrVal['name02'], $card_no, $card_exp, $arrData['payment_total'], $uniqid, $arrVal['jpo_info']);
76
77        // 応答内容の記録
78        $sqlval['credit_result'] = $result['action-code'];
79        $sqlval['credit_msg'] = $result['aux-msg'].$result['MErrMsg'];
80        $objQuery = new SC_Query();
81        $objQuery->update("dtb_order_temp", $sqlval, "order_temp_id = ?", array($uniqid));
82               
83        // 与信処理成功の場合
84        if($result['action-code'] == '000') {
85            // 正常に登録されたことを記録しておく
86            $objSiteSess->setRegistFlag();
87            // 処理完了ページへ
88            header("Location: " . URL_SHOP_COMPLETE);
89        } else {
90            switch($result['action-code']) {
91            case '115':
92                $objPage->tpl_error = "※ カードの有効期限が切れています。";
93                break;
94            case '212':
95                $objPage->tpl_error = "※ カード番号に誤りがあります。";
96                break;
97            case '100':
98                $objPage->tpl_error = "※ カード会社でお取引が承認されませんでした。";
99                break;
100            default:
101                $objPage->tpl_error = "※ クレジットカードの照合に失敗しました。";
102                break;
103            }
104        }
105    }
106    break;
107// 前のページに戻る
108case 'return':
109    // 正常に登録されたことを記録しておく
110    $objSiteSess->setRegistFlag();
111    // 確認ページへ移動
112    header("Location: " . URL_SHOP_CONFIRM);
113    exit;
114    break;
115}
116
117$objDate = new SC_Date();
118$objDate->setStartYear(RELEASE_YEAR);
119$objDate->setEndYear(RELEASE_YEAR + CREDIT_ADD_YEAR);
120$objPage->arrYear = $objDate->getZeroYear();
121$objPage->arrMonth = $objDate->getZeroMonth();
122
123$objPage->arrForm = $objFormParam->getFormParamList();
124$objView->assignobj($objPage);
125// フレームを選択(キャンペーンページから遷移なら変更)
126$objCampaignSess->pageView($objView);
127//-----------------------------------------------------------------------------------------------------------------------------------
128/* パラメータ情報の初期化 */
129function lfInitParam() {
130    global $objFormParam;
131    $objFormParam->addParam("カード番号1", "card_no01", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
132    $objFormParam->addParam("カード番号2", "card_no02", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
133    $objFormParam->addParam("カード番号3", "card_no03", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
134    $objFormParam->addParam("カード番号4", "card_no04", CREDIT_NO_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
135    $objFormParam->addParam("カード期限年", "card_year", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK"));
136    $objFormParam->addParam("カード期限月", "card_month", 2, "n", array("EXIST_CHECK", "NUM_COUNT_CHECK", "NUM_CHECK"));
137    $objFormParam->addParam("姓", "card_name01", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));
138    $objFormParam->addParam("名", "card_name02", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALPHA_CHECK"));
139    $objFormParam->addParam("お支払い方法", "jpo_info", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "ALNUM_CHECK"));
140}
141
142/* 入力内容のチェック */
143function lfCheckError() {
144    global $objFormParam;
145    // 入力データを渡す。
146    $arrRet =  $objFormParam->getHashArray();
147    $objErr = new SC_CheckError($arrRet);
148    $objErr->arrErr = $objFormParam->checkError();
149   
150    return $objErr->arrErr;
151}
152
153?>
Note: See TracBrowser for help on using the repository browser.