source: branches/feature-module-update/data/class/pages/admin/basis/LC_Page_Admin_Basis.php @ 15291

Revision 15291, 8.4 KB checked in by nanasess, 15 years ago (diff)

クラス化対応

  • Property svn:keywords set to Id Revision Date
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8// {{{ requires
9require_once(CLASS_PATH . "pages/LC_Page.php");
10
11/**
12 * 店舗基本情報 のページクラス.
13 *
14 * @package Page
15 * @author LOCKON CO.,LTD.
16 * @version $Id$
17 */
18class LC_Page_Admin_Basis extends LC_Page {
19
20    // }}}
21    // {{{ functions
22
23    /**
24     * Page を初期化する.
25     *
26     * @return void
27     */
28    function init() {
29        parent::init();
30        $this->tpl_mainpage = 'basis/index.tpl';
31        $this->tpl_subnavi = 'basis/subnavi.tpl';
32        $this->tpl_subno = 'index';
33        $this->tpl_mainno = 'basis';
34        $masterData = new SC_DB_MasterData_Ex();
35        $this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank"));
36        $this->arrTAXRULE = $masterData->getMasterData("mtb_taxrule");
37        $this->tpl_subtitle = 'SHOPマスタ';
38    }
39
40    /**
41     * Page のプロセス.
42     *
43     * @return void
44     */
45    function process() {
46        $conn = new SC_DBConn();
47        $objView = new SC_AdminView();
48        $objSess = new SC_Session();
49        $objQuery = new SC_Query();
50
51        // 認証可否の判定
52        SC_Utils_Ex::sfIsSuccess($objSess);
53
54        $cnt = $objQuery->count("dtb_baseinfo");
55
56        if ($cnt > 0) {
57            $this->tpl_mode = "update";
58        } else {
59            $this->tpl_mode = "insert";
60        }
61
62        if(isset($_POST['mode']) && !empty($_POST["mode"])) {
63            // POSTデータの引き継ぎ
64            $this->arrForm = $_POST;
65
66            // 入力データの変換
67            $this->arrForm = $this->lfConvertParam($this->arrForm);
68            // 入力データのエラーチェック
69            $this->arrErr = $this->lfErrorCheck($this->arrForm);
70
71            if(count($this->arrErr) == 0) {
72                switch($_POST['mode']) {
73                case 'update':
74                    $this->lfUpdateData($this->arrForm);    // 既存編集
75                    break;
76                case 'insert':
77                    $this->lfInsertData($this->arrForm);    // 新規作成
78                    break;
79                default:
80                    break;
81                }
82                // 再表示
83                SC_Utils_Ex::sfReload();
84            }
85        } else {
86            $arrCol = $this->lfGetCol();
87            $col    = SC_Utils_Ex::sfGetCommaList($arrCol);
88            $arrRet = $objQuery->select($col, "dtb_baseinfo");
89            $this->arrForm = $arrRet[0];
90        }
91
92        $objView->assignobj($this);
93        $objView->display(MAIN_FRAME);
94    }
95
96    /**
97     * デストラクタ.
98     *
99     * @return void
100     */
101    function destroy() {
102        parent::destroy();
103    }
104
105    // 基本情報用のカラムを取り出す。
106    function lfGetCol() {
107        $arrCol = array(
108            "company_name",
109            "company_kana",
110            "shop_name",
111            "shop_kana",
112            "zip01",
113            "zip02",
114            "pref",
115            "addr01",
116            "addr02",
117            "tel01",
118            "tel02",
119            "tel03",
120            "fax01",
121            "fax02",
122            "fax03",
123            "business_hour",
124            "email01",
125            "email02",
126            "email03",
127            "email04",
128            "tax",
129            "tax_rule",
130            "free_rule",
131            "good_traded",
132            "message"
133
134        );
135        return $arrCol;
136    }
137
138    function lfUpdateData($array) {
139        $objQuery = new SC_Query();
140        $arrCol = $this->lfGetCol();
141        foreach($arrCol as $val) {
142            $sqlval[$val] = $array[$val];
143        }
144        $sqlval['update_date'] = 'Now()';
145        // UPDATEの実行
146        $ret = $objQuery->update("dtb_baseinfo", $sqlval);
147    }
148
149    function lfInsertData($array) {
150        $objQuery = new SC_Query();
151        $arrCol = $this->lfGetCol();
152        foreach($arrCol as $val) {
153            $sqlval[$val] = $array[$val];
154        }
155        $sqlval['update_date'] = 'Now()';
156        // INSERTの実行
157        $ret = $objQuery->insert("dtb_baseinfo", $sqlval);
158    }
159
160    /* 取得文字列の変換 */
161    function lfConvertParam($array) {
162        /*
163         *  文字列の変換
164         *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換
165         *  C :  「全角ひら仮名」を「全角かた仮名」に変換
166         *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します
167         *  n :  「全角」数字を「半角(ハンカク)」に変換
168         *  a :  全角英数字を半角英数字に変換する
169         */
170        // 人物基本情報
171
172        // スポット商品
173        $arrConvList['company_name'] = "KVa";
174        $arrConvList['company_kana'] = "KVC";
175        $arrConvList['shop_name'] = "KVa";
176        $arrConvList['shop_kana'] = "KVC";
177        $arrConvList['addr01'] = "KVa";
178        $arrConvList['addr02'] = "KVa";
179        $arrConvList['zip01'] = "n";
180        $arrConvList['zip02'] = "n";
181        $arrConvList['tel01'] = "n";
182        $arrConvList['tel02'] = "n";
183        $arrConvList['tel03'] = "n";
184        $arrConvList['fax01'] = "n";
185        $arrConvList['fax02'] = "n";
186        $arrConvList['fax03'] = "n";
187        $arrConvList['email01'] = "a";
188        $arrConvList['email02'] = "a";
189        $arrConvList['email03'] = "a";
190        $arrConvList['email04'] = "a";
191        $arrConvList['tax'] = "n";
192        $arrConvList['free_rule'] = "n";
193        $arrConvList['business_hour'] = "KVa";
194        $arrConvList['good_traded'] = "";
195        $arrConvList['message'] = "";
196
197        return SC_Utils_Ex::mbConvertKanaWithArray($array, $arrConvList);
198    }
199
200    // 入力エラーチェック
201    function lfErrorCheck($array) {
202        $objErr = new SC_CheckError($array);
203
204        $objErr->doFunc(array("会社名", "company_name", STEXT_LEN), array("MAX_LENGTH_CHECK"));
205        $objErr->doFunc(array("会社名(カナ)", "company_kana", STEXT_LEN), array("KANA_CHECK","MAX_LENGTH_CHECK"));
206        $objErr->doFunc(array("店名", "shop_name", STEXT_LEN), array("EXIST_CHECK","MAX_LENGTH_CHECK"));
207        $objErr->doFunc(array("店名(カナ)", "shop_kana", STEXT_LEN), array("KANA_CHECK","MAX_LENGTH_CHECK"));
208        // 郵便番号チェック
209        $objErr->doFunc(array("郵便番号1","zip01",ZIP01_LEN ) ,array("EXIST_CHECK", "NUM_CHECK","NUM_COUNT_CHECK"));
210        $objErr->doFunc(array("郵便番号2","zip02",ZIP02_LEN ) ,array("EXIST_CHECK", "NUM_CHECK","NUM_COUNT_CHECK"));
211        $objErr->doFunc(array("郵便番号", "zip01", "zip02"), array("ALL_EXIST_CHECK"));
212        // 住所チェック
213        $objErr->doFunc(array("都道府県", "pref"), array("EXIST_CHECK"));
214        $objErr->doFunc(array("住所1", "addr01", STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
215        $objErr->doFunc(array("住所2", "addr02", STEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
216        // メールチェック
217        $objErr->doFunc(array('商品注文受付メールアドレス', "email01", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
218        $objErr->doFunc(array('問い合わせ受付メールアドレス', "email02", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
219        $objErr->doFunc(array('メール送信元メールアドレス', "email03", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK", "MAX_LENGTH_CHECK"));
220        $objErr->doFunc(array('送信エラー受付メールアドレス', "email04", STEXT_LEN) ,array("EXIST_CHECK", "EMAIL_CHECK", "EMAIL_CHAR_CHECK","MAX_LENGTH_CHECK"));
221        // 電話番号チェック
222        $objErr->doFunc(array("TEL", "tel01", "tel02", "tel03", TEL_ITEM_LEN), array("TEL_CHECK"));
223        $objErr->doFunc(array("FAX", "fax01", "fax02", "fax03", TEL_ITEM_LEN), array("TEL_CHECK"));
224        // その他
225        $objErr->doFunc(array("消費税率", "tax", PERCENTAGE_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
226        $objErr->doFunc(array("送料無料条件", "free_rule", PRICE_LEN), array("NUM_CHECK", "MAX_LENGTH_CHECK"));
227        $objErr->doFunc(array("店舗営業時間", "business_hour", STEXT_LEN), array("MAX_LENGTH_CHECK"));
228
229        $objErr->doFunc(array("取扱商品", "good_traded", LLTEXT_LEN), array("MAX_LENGTH_CHECK"));
230        $objErr->doFunc(array("メッセージ", "message", LLTEXT_LEN), array("MAX_LENGTH_CHECK"));
231
232        return $objErr->arrErr;
233    }
234}
235?>
Note: See TracBrowser for help on using the repository browser.