source: branches/feature-module-update/html/admin/products/class.php @ 15080

Revision 15080, 4.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    function LC_Page() {
12        $this->tpl_mainpage = 'products/class.tpl';
13        $this->tpl_subnavi = 'products/subnavi.tpl';
14        $this->tpl_subno = 'class';
15        $this->tpl_subtitle = '規格登録';
16        $this->tpl_mainno = 'products';
17    }
18}
19
20$conn = new SC_DBConn();
21$objPage = new LC_Page();
22$objView = new SC_AdminView();
23$objSess = new SC_Session();
24$objQuery = new SC_Query();
25
26// 認証可否の判定
27sfIsSuccess($objSess);
28
29// 要求判定
30switch($_POST['mode']) {
31// 編集処理
32case 'edit':
33    // POST値の引き継ぎ
34    $objPage->arrForm = $_POST;
35    // 入力文字の変換
36    $objPage->arrForm = lfConvertParam($objPage->arrForm);
37    // エラーチェック
38    $objPage->arrErr = lfErrorCheck();
39    if(count($objPage->arrErr) <= 0) {
40        if($_POST['class_id'] == "") {
41            lfInsertClass($objPage->arrForm);   // 新規作成
42        } else {
43            lfUpdateClass($objPage->arrForm);   // 既存編集
44        }
45        // 再表示
46        sfReload();
47    } else {
48        // POSTデータを引き継ぐ
49        $objPage->tpl_class_id = $_POST['class_id'];
50    }
51    break;
52// 削除
53case 'delete':
54    sfDeleteRankRecord("dtb_class", "class_id", $_POST['class_id'], "", true);
55    $objQuery = new SC_Query();
56    $objQuery->delete("dtb_classcategory", "class_id = ?", $_POST['class_id']);
57    // 再表示
58    sfReload();
59    break;
60// 編集前処理
61case 'pre_edit':
62    // 編集項目をDBより取得する。
63    $where = "class_id = ?";
64    $class_name = $objQuery->get("dtb_class", "name", $where, array($_POST['class_id']));
65    // 入力項目にカテゴリ名を入力する。
66    $objPage->arrForm['name'] = $class_name;
67    // POSTデータを引き継ぐ
68    $objPage->tpl_class_id = $_POST['class_id'];
69break;
70case 'down':
71    sfRankDown("dtb_class", "class_id", $_POST['class_id']);
72    // 再表示
73    sfReload();
74    break;
75case 'up':
76    sfRankUp("dtb_class", "class_id", $_POST['class_id']);
77    // 再表示
78    sfReload();
79    break;
80default:
81    break;
82}
83
84// 規格の読込
85$where = "del_flg <> 1";
86$objQuery->setorder("rank DESC");
87$objPage->arrClass = $objQuery->select("name, class_id", "dtb_class", $where);
88$objPage->arrClassCatCount = sfGetClassCatCount();
89
90$objView->assignobj($objPage);
91$objView->display(MAIN_FRAME);
92
93//--------------------------------------------------------------------------------------------------------------------------------
94
95/* DBへの挿入 */
96function lfInsertClass($arrData) {
97    $objQuery = new SC_Query();
98    // INSERTする値を作成する。
99    $sqlval['name'] = $arrData['name'];
100    $sqlval['creator_id'] = $_SESSION['member_id'];
101    $sqlval['rank'] = $objQuery->max("dtb_class", "rank") + 1;
102    $sqlval['create_date'] = "now()";
103    $sqlval['update_date'] = "now()";
104    // INSERTの実行
105    $ret = $objQuery->insert("dtb_class", $sqlval);
106   
107    return $ret;
108}
109
110/* DBへの更新 */
111function lfUpdateClass($arrData) {
112    $objQuery = new SC_Query();
113    // UPDATEする値を作成する。
114    $sqlval['name'] = $arrData['name'];
115    $sqlval['update_date'] = "Now()";
116    $where = "class_id = ?";
117    // UPDATEの実行
118    $ret = $objQuery->update("dtb_class", $sqlval, $where, array($arrData['class_id']));
119    return $ret;
120}
121
122/* 取得文字列の変換 */
123function lfConvertParam($array) {
124    // 文字変換
125    $arrConvList['name'] = "KVa";
126
127    foreach ($arrConvList as $key => $val) {
128        // POSTされてきた値のみ変換する。
129        if(isset($array[$key])) {
130            $array[$key] = mb_convert_kana($array[$key] ,$val);
131        }
132    }
133    return $array;
134}
135
136/* 入力エラーチェック */
137function lfErrorCheck() {
138    $objErr = new SC_CheckError();
139    $objErr->doFunc(array("規格名", "name", STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
140   
141    if(!isset($objErr->arrErr['name'])) {
142        $objQuery = new SC_Query();
143        $arrRet = $objQuery->select("class_id, name", "dtb_class", "del_flg = 0 AND name = ?", array($_POST['name']));
144        // 編集中のレコード以外に同じ名称が存在する場合       
145        if ($arrRet[0]['class_id'] != $_POST['class_id'] && $arrRet[0]['name'] == $_POST['name']) {
146            $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>";
147        }
148    }
149    return $objErr->arrErr;
150}
151?>
Note: See TracBrowser for help on using the repository browser.