source: branches/comu-utf8/html/admin/products/classcategory.php @ 15099

Revision 15099, 5.2 KB checked in by Yammy, 17 years ago (diff)

UTF-8変換済みファイルインポート
1.3.4ベース

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