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

Revision 15329, 6.0 KB checked in by nanasess, 17 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_Kiyaku 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/kiyaku.tpl';
31        $this->tpl_subnavi = 'basis/subnavi.tpl';
32        $this->tpl_subno = 'kiyaku';
33        $this->tpl_subtitle = '会員規約登録';
34        $this->tpl_mainno = 'basis';
35    }
36
37    /**
38     * Page のプロセス.
39     *
40     * @return void
41     */
42    function process() {
43        $conn = new SC_DBConn();
44        $objView = new SC_AdminView();
45        $objSess = new SC_Session();
46        $objQuery = new SC_Query();
47        $objDb = new SC_Helper_DB_Ex();
48
49        // 認証可否の判定
50        SC_Utils_Ex::sfIsSuccess($objSess);
51
52        if (!isset($_POST['mode'])) $_POST['mode'] = "";
53
54        // 要求判定
55        switch($_POST['mode']) {
56        // 編集処理
57        case 'edit':
58            // POST値の引き継ぎ
59            $this->arrForm = $_POST;
60            // 入力文字の変換
61            $this->arrForm = $this->lfConvertParam($this->arrForm);
62
63            // エラーチェック
64            $this->arrErr = $this->lfErrorCheck();
65            if(count($this->arrErr) <= 0) {
66                if($_POST['kiyaku_id'] == "") {
67                    $this->lfInsertClass($this->arrForm);   // 新規作成
68                } else {
69                    $this->lfUpdateClass($this->arrForm);   // 既存編集
70                }
71                // 再表示
72                $this->reload();
73            } else {
74                // POSTデータを引き継ぐ
75                $this->tpl_kiyaku_id = $_POST['kiyaku_id'];
76            }
77            break;
78        // 削除
79        case 'delete':
80            $objDb->sfDeleteRankRecord("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id'], "", true);
81            // 再表示
82            $this->reload();
83            break;
84        // 編集前処理
85        case 'pre_edit':
86            // 編集項目をDBより取得する。
87            $where = "kiyaku_id = ?";
88            $arrRet = $objQuery->select("kiyaku_text, kiyaku_title", "dtb_kiyaku", $where, array($_POST['kiyaku_id']));
89            // 入力項目にカテゴリ名を入力する。
90            $this->arrForm['kiyaku_title'] = $arrRet[0]['kiyaku_title'];
91            $this->arrForm['kiyaku_text'] = $arrRet[0]['kiyaku_text'];
92            // POSTデータを引き継ぐ
93            $this->tpl_kiyaku_id = $_POST['kiyaku_id'];
94        break;
95        case 'down':
96            $objDb->sfRankDown("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']);
97            // 再表示
98            $this->reload();
99            break;
100        case 'up':
101            $objDb->sfRankUp("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']);
102            // 再表示
103            $this->reload();
104            break;
105        default:
106            break;
107        }
108
109        // 規格の読込
110        $where = "del_flg <> 1";
111        $objQuery->setorder("rank DESC");
112        $this->arrKiyaku = $objQuery->select("kiyaku_title, kiyaku_text, kiyaku_id", "dtb_kiyaku", $where);
113
114        $objView->assignobj($this);
115        $objView->display(MAIN_FRAME);
116    }
117
118    /**
119     * デストラクタ.
120     *
121     * @return void
122     */
123    function destroy() {
124        parent::destroy();
125    }
126
127    /* DBへの挿入 */
128    function lfInsertClass($arrData) {
129        $objQuery = new SC_Query();
130        // INSERTする値を作成する。
131        $sqlval['kiyaku_title'] = $arrData['kiyaku_title'];
132        $sqlval['kiyaku_text'] = $arrData['kiyaku_text'];
133        $sqlval['creator_id'] = $_SESSION['member_id'];
134        $sqlval['rank'] = $objQuery->max("dtb_kiyaku", "rank") + 1;
135        $sqlval['update_date'] = "Now()";
136        $sqlval['create_date'] = "Now()";
137        // INSERTの実行
138        $ret = $objQuery->insert("dtb_kiyaku", $sqlval);
139        return $ret;
140    }
141
142    /* DBへの更新 */
143    function lfUpdateClass($arrData) {
144        $objQuery = new SC_Query();
145        // UPDATEする値を作成する。
146        $sqlval['kiyaku_title'] = $arrData['kiyaku_title'];
147        $sqlval['kiyaku_text'] = $arrData['kiyaku_text'];
148        $sqlval['update_date'] = "Now()";
149        $where = "kiyaku_id = ?";
150        // UPDATEの実行
151        $ret = $objQuery->update("dtb_kiyaku", $sqlval, $where, array($_POST['kiyaku_id']));
152        return $ret;
153    }
154
155    /* 取得文字列の変換 */
156    function lfConvertParam($array) {
157        // 文字変換
158        $arrConvList['kiyaku_title'] = "KVa";
159        $arrConvList['kiyaku_text'] = "KVa";
160
161        foreach ($arrConvList as $key => $val) {
162            // POSTされてきた値のみ変換する。
163            if(isset($array[$key])) {
164                $array[$key] = mb_convert_kana($array[$key] ,$val);
165            }
166        }
167        return $array;
168    }
169
170    /* 入力エラーチェック */
171    function lfErrorCheck() {
172        $objErr = new SC_CheckError();
173        $objErr->doFunc(array("規約タイトル", "kiyaku_title", SMTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
174        $objErr->doFunc(array("規約内容", "kiyaku_text", MLTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
175        if(!isset($objErr->arrErr['name'])) {
176            $objQuery = new SC_Query();
177            $arrRet = $objQuery->select("kiyaku_id, kiyaku_title", "dtb_kiyaku", "del_flg = 0 AND kiyaku_title = ?", array($_POST['kiyaku_title']));
178            // 編集中のレコード以外に同じ名称が存在する場合
179            if ($arrRet[0]['kiyaku_id'] != $_POST['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $_POST['kiyaku_title']) {
180                $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>";
181            }
182        }
183        return $objErr->arrErr;
184    }
185}
186?>
Note: See TracBrowser for help on using the repository browser.