source: branches/feature-module-update/data/downloads/module2/mdl_speedmail/LC_Page_Mdl_SpeedMail.php @ 16339

Revision 16339, 3.5 KB checked in by naka, 16 years ago (diff)
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");
10require_once(realpath(dirname( __FILE__)) . "/include.php");
11
12/**
13 * メルマガ管理 のページクラス.
14 *
15 * @package Page
16 * @author LOCKON CO.,LTD.
17 * @version $Id$
18 */
19class LC_Page_MDL_SPEEDMAIL extends LC_Page {
20     var $objFormParam;
21     var $arrErr;
22     var $objQuery;
23     
24    /**
25     * Page を初期化する.
26     *
27     * @return void
28     */
29    function init() {
30        parent::init();
31        $this->tpl_mainpage = MODULE2_PATH . THIS_MODULE_NAME . "/config.tpl";
32        $this->objFormParam = new SC_FormParam();
33        $this->intiParam();
34        $this->arrErr = array();
35        $this->objQuery = new SC_Query();
36        $this->loadData();
37    }
38
39    /**
40     * Page のプロセス.
41     *
42     * @return void
43     */
44    function process() {
45        $objView = new SC_AdminView();
46        $objSess = new SC_Session();
47               
48        // 認証可否の判定
49        //SC_Utils_Ex::sfIsSuccess($objSess);
50        $this->objFormParam->setParam($_POST);
51       
52        switch($_POST['mode']) {
53            case 'regist':
54                // エラーチェック
55                $this->arrErr = $this->checkError();
56                if(count($objPage->arrErr) <= 0) {
57                    $this->registData();         
58                }
59            break;
60        }       
61        $this->arrForm = $this->objFormParam->getFormParamList();
62        $objView->assignobj($this);
63        $objView->display($this->tpl_mainpage);
64    }
65   
66    /**
67     * デストラクタ.
68     *
69     * @return void
70     */
71    function destroy() {
72        parent::destroy();
73    }
74   
75    /**
76     * 値の初期化
77     *
78     * @return void なし
79     */
80    function intiParam() {
81        $this->objFormParam->addParam("IPアドレス1", "ip01", 3, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
82        $this->objFormParam->addParam("IPアドレス2", "ip02", 3, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
83        $this->objFormParam->addParam("IPアドレス3", "ip03", 3, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
84        $this->objFormParam->addParam("IPアドレス4", "ip04", 3, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
85    }
86   
87    /**
88     * エラーチェック
89     *
90     * @return array $arr->arrErr
91     */
92    function checkError() {
93        $arrErr = $this->objFormParam->checkError();
94        $arrParam = $this->objFormParam->getHashArray();
95       
96        foreach($arrParam as $key => $val) {
97            if(!(($val >= 0) && ($val <= 255))) {
98                $arrErr[$key] = "※ 不正なIPアドレスです。<br>";
99                break;
100            }
101        }
102        return $arrErr;
103    }
104   
105    // 登録データを読み込む
106    function loadData(){
107        // 設定されているSMTP_HOSTを取得する
108        $arrRet = $this->objQuery->select("id, name", "mtb_constants", "id = ?", array('SMTP_HOST'));
109        $name = ereg_replace("\"", "", $arrRet[0]['name']);
110        list($arrParam['ip01'], $arrParam['ip02'], $arrParam['ip03'], $arrParam['ip04']) = split("\.", $name);
111        $this->objFormParam->setParam($arrParam);
112    }
113   
114    // データの更新処理
115    function registData(){
116        $arrParam = $this->objFormParam->getHashArray();
117        $strIP = "\"" . $arrParam['ip01'] . "." .  $arrParam['ip02'] . "." . $arrParam['ip03'] . "." . $arrParam['ip04'] . "\"";
118        $sqlval['name'] = $strIP;
119        $this->objQuery->update("mtb_constants", $sqlval, "id = ?", array('SMTP_HOST'));
120    }
121}
122?>
Note: See TracBrowser for help on using the repository browser.