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

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