source: branches/feature-module-update/html/admin/basis/payment_input.php @ 15080

Revision 15080, 6.1 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 */
7require_once("../require.php");
8
9class LC_Page {
10    var $arrSession;
11    var $tpl_mode;
12    function LC_Page() {
13        $this->tpl_mainpage = 'basis/payment_input.tpl';
14        $this->tpl_subtitle = '支払方法設定';
15    }
16}
17
18$conn = new SC_DBConn();
19$objPage = new LC_Page();
20$objView = new SC_AdminView();
21$objSess = new SC_Session();
22
23// 認証可否の判定
24sfIsSuccess($objSess);
25
26// ファイル管理クラス
27$objUpFile = new SC_UploadFile(IMAGE_TEMP_DIR, IMAGE_SAVE_DIR);
28// ファイル情報の初期化
29$objUpFile = lfInitFile($objUpFile);
30// Hiddenからのデータを引き継ぐ
31$objUpFile->setHiddenFileList($_POST);
32
33// パラメータ管理クラス
34$objFormParam = new SC_FormParam();
35// パラメータ情報の初期化
36lfInitParam();
37// POST値の取得
38$objFormParam->setParam($_POST);
39
40switch($_POST['mode']) {
41case 'edit':
42    // 入力値の変換
43    $objFormParam->convParam();
44
45    // エラーチェック
46    $objPage->arrErr = lfCheckError();
47    $objPage->charge_flg = $_POST["charge_flg"];
48    if(count($objPage->arrErr) == 0) {
49        lfRegistData($_POST['payment_id']);
50        // 一時ファイルを本番ディレクトリに移動する
51        $objUpFile->moveTempFile();
52        // 親ウィンドウを更新するようにセットする。
53        $objPage->tpl_onload="fnUpdateParent('".URL_PAYMENT_TOP."'); window.close();";
54    }
55   
56    break;
57// 画像のアップロード
58case 'upload_image':
59    // ファイル存在チェック
60    $objPage->arrErr = array_merge($objPage->arrErr, $objUpFile->checkEXISTS($_POST['image_key']));
61    // 画像保存処理
62    $objPage->arrErr[$_POST['image_key']] = $objUpFile->makeTempFile($_POST['image_key']);
63    break;
64// 画像の削除
65case 'delete_image':
66    $objUpFile->deleteFile($_POST['image_key']);
67    break;
68default:
69    break;
70}
71
72if($_POST['mode'] == "") {
73    switch($_GET['mode']) {
74    case 'pre_edit':
75        if(sfIsInt($_GET['payment_id'])) {
76            $arrRet = lfGetData($_GET['payment_id']);
77            $objFormParam->setParam($arrRet);
78            $objPage->charge_flg = $arrRet["charge_flg"];
79            // DBデータから画像ファイル名の読込
80            $objUpFile->setDBFileList($arrRet);
81            $objPage->tpl_payment_id = $_GET['payment_id'];
82        }
83        break;
84    default:
85        break;
86    }
87} else {
88    $objPage->tpl_payment_id = $_POST['payment_id'];
89}
90
91$objPage->arrDelivList = sfGetIDValueList("dtb_deliv", "deliv_id", "service_name");
92$objPage->arrForm = $objFormParam->getFormParamList();
93
94// FORM表示用配列を渡す。
95$objPage->arrFile = $objUpFile->getFormFileList(IMAGE_TEMP_URL, IMAGE_SAVE_URL);
96// HIDDEN用に配列を渡す。
97$objPage->arrHidden = array_merge((array)$objPage->arrHidden, (array)$objUpFile->getHiddenFileList());
98
99$objView->assignobj($objPage);
100$objView->display($objPage->tpl_mainpage);
101//-----------------------------------------------------------------------------------------------------------------------------------
102/* ファイル情報の初期化 */
103function lfInitFile($objUpFile) {
104    $objUpFile->addFile("ロゴ画像", 'payment_image', array('gif'), IMAGE_SIZE, false, CLASS_IMAGE_WIDTH, CLASS_IMAGE_HEIGHT);
105    return $objUpFile;
106}
107
108/* パラメータ情報の初期化 */
109function lfInitParam() {
110    global $objFormParam;
111    $objFormParam->addParam("支払方法", "payment_method", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
112    $objFormParam->addParam("手数料", "charge", PRICE_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
113    $objFormParam->addParam("利用条件(〜円以上)", "rule", PRICE_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
114    $objFormParam->addParam("利用条件(〜円以下)", "upper_rule", PRICE_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
115    $objFormParam->addParam("配送サービス", "deliv_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
116    $objFormParam->addParam("固定", "fix");
117}
118
119/* DBからデータを読み込む */
120function lfGetData($payment_id) {
121    $objQuery = new SC_Query();
122    $where = "payment_id = ?";
123    $arrRet = $objQuery->select("*", "dtb_payment", $where, array($payment_id));
124    return $arrRet[0];
125}
126
127/* DBへデータを登録する */
128function lfRegistData($payment_id = "") {
129    global $objFormParam;
130    global $objUpFile;
131   
132    $objQuery = new SC_Query();
133    $sqlval = $objFormParam->getHashArray();
134    $arrRet = $objUpFile->getDBFileList();  // ファイル名の取得
135    $sqlval = array_merge($sqlval, $arrRet);   
136    $sqlval['update_date'] = 'Now()';
137   
138    if($sqlval['fix'] != '1') {
139        $sqlval['fix'] = 2; // 自由設定
140    }
141   
142    // 新規登録
143    if($payment_id == "") {
144        // INSERTの実行
145        $sqlval['creator_id'] = $_SESSION['member_id'];
146        $sqlval['rank'] = $objQuery->max("dtb_payment", "rank") + 1;
147        $sqlval['create_date'] = 'Now()';
148        $objQuery->insert("dtb_payment", $sqlval);
149    // 既存編集
150    } else {
151        $where = "payment_id = ?";
152        $objQuery->update("dtb_payment", $sqlval, $where, array($payment_id));
153    }
154}
155
156/* 利用条件の数値チェック */
157
158/* 入力内容のチェック */
159function lfCheckError() {
160    global $objFormParam;
161   
162    // DBのデータを取得
163    $arrPaymentData = lfGetData($_POST['payment_id']);
164   
165    // 手数料を設定できない場合には、手数料を0にする
166    if($arrPaymentData["charge_flg"] == 2) $objFormParam->setValue("charge", "0");
167   
168    // 入力データを渡す。
169    $arrRet =  $objFormParam->getHashArray();
170    $objErr = new SC_CheckError($arrRet);
171    $objErr->arrErr = $objFormParam->checkError();
172   
173    // 利用条件(下限)チェック
174    if($arrRet["rule"] < $arrPaymentData["rule_min"] and $arrPaymentData["rule_min"] != ""){
175        $objErr->arrErr["rule"] = "利用条件(下限)は" . $arrPaymentData["rule_min"] ."円以上にしてください。<br>";
176    }
177   
178    // 利用条件(上限)チェック
179    if($arrRet["upper_rule"] > $arrPaymentData["upper_rule_max"] and $arrPaymentData["upper_rule_max"] != ""){
180        $objErr->arrErr["upper_rule"] = "利用条件(上限)は" . $arrPaymentData["upper_rule_max"] ."円以下にしてください。<br>";
181    }
182   
183    // 利用条件チェック
184    $objErr->doFunc(array("利用条件(〜円以上)", "利用条件(〜円以下)", "rule", "upper_rule"), array("GREATER_CHECK"));
185   
186    return $objErr->arrErr;
187}
188
189
190?>
Note: See TracBrowser for help on using the repository browser.