source: branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php @ 22567

Revision 22567, 11.0 KB checked in by shutta, 11 years ago (diff)

#2043 (typo修正・ソース整形・ソースコメントの改善 for 2.12.4)
Zend Framework PHP 標準コーディング規約のコーディングスタイルへ準拠。
classおよびfunctionの開始波括弧「{」のスタイルを修正。

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * This file is part of EC-CUBE
4 *
5 * Copyright(c) 2000-2013 LOCKON CO.,LTD. All Rights Reserved.
6 *
7 * http://www.lockon.co.jp/
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 */
23
24// {{{ requires
25require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
26
27/**
28 * 支払方法設定 のページクラス.
29 *
30 * @package Page
31 * @author LOCKON CO.,LTD.
32 * @version $Id$
33 */
34class LC_Page_Admin_Basis_PaymentInput extends LC_Page_Admin_Ex
35{
36
37    // {{{ properties
38
39    /** SC_UploadFile インスタンス */
40    var $objUpFile;
41
42    // }}}
43    // {{{ functions
44
45    /**
46     * Page を初期化する.
47     *
48     * @return void
49     */
50    function init()
51    {
52        parent::init();
53        $this->tpl_mainpage = 'basis/payment_input.tpl';
54        $this->tpl_mainno = 'basis';
55        $this->tpl_subno = 'payment';
56        $this->tpl_maintitle = '基本情報管理';
57        $this->tpl_subtitle = '支払方法設定';
58    }
59
60    /**
61     * Page のプロセス.
62     *
63     * @return void
64     */
65    function process()
66    {
67        $this->action();
68        $this->sendResponse();
69    }
70
71    /**
72     * Page のアクション.
73     *
74     * @return void
75     */
76    function action()
77    {
78
79        $objPayment = new SC_Helper_Payment_Ex();
80        $objFormParam = new SC_FormParam_Ex();
81        $mode = $this->getMode();
82        $this->lfInitParam($mode, $objFormParam);
83
84        // ファイル管理クラス
85        $this->objUpFile = new SC_UploadFile(IMAGE_TEMP_REALDIR, IMAGE_SAVE_REALDIR);
86        // ファイル情報の初期化
87        $this->objUpFile = $this->lfInitFile();
88        // Hiddenからのデータを引き継ぐ
89        $this->objUpFile->setHiddenFileList($_POST);
90
91        switch ($mode) {
92            case 'edit':
93                $objFormParam->setParam($_REQUEST);
94                $objFormParam->convParam();
95                $post = $objFormParam->getHashArray();
96                $this->arrErr = $this->lfCheckError($post, $objFormParam, $objPayment);
97                $this->charge_flg = $post['charge_flg'];
98                if (count($this->arrErr) == 0) {
99                    $this->lfRegistData($objFormParam, $objPayment, $_SESSION['member_id'], $post['payment_id']);
100                    $this->objUpFile->moveTempFile();
101                    $this->tpl_onload = "location.href = './payment.php'; return;";
102                }
103                $this->tpl_payment_id = $post['payment_id'];
104                break;
105            // 画像のアップロード
106            case 'upload_image':
107                $objFormParam->setParam($_REQUEST);
108                $objFormParam->convParam();
109                $post = $objFormParam->getHashArray();
110                // ファイル存在チェック
111                $this->arrErr = $this->objUpFile->checkExists($post['image_key']);
112                // 画像保存処理
113                $this->arrErr[$post['image_key']] = $this->objUpFile->makeTempFile($post['image_key']);
114                $this->tpl_payment_id = $post['payment_id'];
115                break;
116            // 画像の削除
117            case 'delete_image':
118                $objFormParam->setParam($_REQUEST);
119                $objFormParam->convParam();
120                $this->arrErr = $objFormParam->checkError();
121                $post = $objFormParam->getHashArray();
122                if (count($this->arrErr) == 0) {
123                    $this->objUpFile->deleteFile($post['image_key']);
124                }
125                $this->tpl_payment_id = $post['payment_id'];
126                break;
127
128            case 'pre_edit':
129                $objFormParam->setParam($_REQUEST);
130                $objFormParam->convParam();
131                $this->arrErr = $objFormParam->checkError();
132                $post = $objFormParam->getHashArray();
133                if (count($this->arrErr) == 0) {
134                    $arrRet = $objPayment->get($post['payment_id']);
135
136                    $objFormParam->addParam('支払方法', 'payment_method', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
137                    $objFormParam->addParam('手数料', 'charge', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
138                    $objFormParam->addParam('利用条件(~円以上)', 'rule_max', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
139                    $objFormParam->addParam('利用条件(~円以下)', 'upper_rule', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
140                    $objFormParam->addParam('固定', 'fix');
141                    $objFormParam->setParam($arrRet);
142
143                    $this->charge_flg = $arrRet['charge_flg'];
144                    $this->objUpFile->setDBFileList($arrRet);
145                }
146                $this->tpl_payment_id = $post['payment_id'];
147                break;
148            default:
149                break;
150        }
151
152        $this->arrForm = $objFormParam->getFormParamList();
153
154        // FORM表示用配列を渡す。
155        $this->arrFile = $this->objUpFile->getFormFileList(IMAGE_TEMP_URLPATH, IMAGE_SAVE_URLPATH);
156        // HIDDEN用に配列を渡す。
157        $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objUpFile->getHiddenFileList());
158
159    }
160
161    /**
162     * デストラクタ.
163     *
164     * @return void
165     */
166    function destroy()
167    {
168        parent::destroy();
169    }
170
171    /* ファイル情報の初期化 */
172    function lfInitFile()
173    {
174        $this->objUpFile->addFile('ロゴ画像', 'payment_image', array('gif','jpeg','jpg','png'), IMAGE_SIZE, false, CLASS_IMAGE_WIDTH, CLASS_IMAGE_HEIGHT);
175        return $this->objUpFile;
176    }
177
178    /* パラメーター情報の初期化 */
179    function lfInitParam($mode, &$objFormParam)
180    {
181
182        switch ($mode) {
183            case 'edit':
184                $objFormParam->addParam('支払方法', 'payment_method', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
185                $objFormParam->addParam('手数料', 'charge', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
186                $objFormParam->addParam('利用条件(~円以上)', 'rule_max', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
187                $objFormParam->addParam('利用条件(~円以下)', 'upper_rule', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
188                $objFormParam->addParam('固定', 'fix');
189                $objFormParam->addParam('支払いID', 'payment_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
190                $objFormParam->addParam('課金フラグ', 'charge_flg', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
191
192                break;
193            case 'upload_image':
194            case 'delete_image':
195                $objFormParam->addParam('支払いID', 'payment_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
196                $objFormParam->addParam('支払方法', 'payment_method', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
197                $objFormParam->addParam('手数料', 'charge', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
198                $objFormParam->addParam('利用条件(~円以上)', 'rule_max', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
199                $objFormParam->addParam('利用条件(~円以下)', 'upper_rule', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
200                $objFormParam->addParam('固定', 'fix');
201                $objFormParam->addParam('画像キー', 'image_key', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
202
203                break;
204            case 'pre_edit':
205                $objFormParam->addParam('支払いID', 'payment_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
206                $objFormParam->addParam('課金フラグ', 'charge_flg', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
207                break;
208
209            default:
210                $objFormParam->addParam('支払方法', 'payment_method', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'MAX_LENGTH_CHECK'));
211                $objFormParam->addParam('手数料', 'charge', PRICE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
212                $objFormParam->addParam('利用条件(~円以上)', 'rule_max', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
213                $objFormParam->addParam('利用条件(~円以下)', 'upper_rule', PRICE_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
214                $objFormParam->addParam('固定', 'fix');
215
216                break;
217        }
218    }
219
220    /* DBへデータを登録する */
221    function lfRegistData(&$objFormParam, SC_Helper_Payment_Ex $objPayment, $member_id, $payment_id = '')
222    {
223
224        $sqlval = array_merge($objFormParam->getHashArray(), $this->objUpFile->getDBFileList());
225        $sqlval['payment_id'] = $payment_id;
226        $sqlval['creator_id'] = $member_id;
227
228        if ($sqlval['fix'] != '1') {
229            $sqlval['fix'] = 2; // 自由設定
230        }
231
232        $objPayment->save($sqlval);
233    }
234
235    /* 利用条件の数値チェック */
236
237    /* 入力内容のチェック */
238    function lfCheckError($post, $objFormParam, SC_Helper_Payment_Ex $objPayment)
239    {
240
241        // DBのデータを取得
242        $arrPaymentData = $objPayment->get($post['payment_id']);
243
244        // 手数料を設定できない場合には、手数料を0にする
245        if ($arrPaymentData['charge_flg'] == 2) {
246            $objFormParam->setValue('charge', '0');
247        }
248
249        // 入力データを渡す。
250        $arrRet =  $objFormParam->getHashArray();
251        $objErr = new SC_CheckError_Ex($arrRet);
252        $objErr->arrErr = $objFormParam->checkError();
253
254        // 利用条件(下限)チェック
255        if ($arrRet['rule_max'] < $arrPaymentData['rule_min'] and $arrPaymentData['rule_min'] != '') {
256            $objErr->arrErr['rule'] = '利用条件(下限)は' . $arrPaymentData['rule_min'] .'円以上にしてください。<br>';
257        }
258
259        // 利用条件(上限)チェック
260        if ($arrRet['upper_rule'] > $arrPaymentData['upper_rule_max'] and $arrPaymentData['upper_rule_max'] != '') {
261            $objErr->arrErr['upper_rule'] = '利用条件(上限)は' . $arrPaymentData['upper_rule_max'] .'円以下にしてください。<br>';
262        }
263
264        // 利用条件チェック
265        $objErr->doFunc(array('利用条件(~円以上)', '利用条件(~円以下)', 'rule_max', 'upper_rule'), array('GREATER_CHECK'));
266
267        return $objErr->arrErr;
268    }
269}
Note: See TracBrowser for help on using the repository browser.