source: branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_System.php @ 21689

Revision 21689, 4.3 KB checked in by h_yoshimoto, 12 years ago (diff)

#1692 インスタンスを呼び出す処理を統一

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
1<?php
2/*
3 * This file is part of EC-CUBE
4 *
5 * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved.
6 *
7 * http://www.lockon.co.jp/
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 */
23
24// {{{ requires
25require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
26
27/**
28 * システム情報 のページクラス.
29 *
30 * @package Page
31 * @author LOCKON CO.,LTD.
32 * @version $Id$
33 */
34class LC_Page_Admin_System_System extends LC_Page_Admin_Ex {
35
36    // }}}
37    // {{{ functions
38
39    /**
40     * Page を初期化する.
41     *
42     * @return void
43     */
44    function init() {
45        parent::init();
46        $this->tpl_mainpage = 'system/system.tpl';
47        $this->tpl_subno    = 'system';
48        $this->tpl_mainno   = 'system';
49        $this->tpl_maintitle = 'システム設定';
50        $this->tpl_subtitle = 'システム情報';
51    }
52
53    /**
54     * Page のプロセス.
55     *
56     * @return void
57     */
58    function process() {
59        $this->action();
60        $this->sendResponse();
61    }
62
63    /**
64     * Page のアクション.
65     *
66     * @return void
67     */
68    function action() {
69        // フックポイント.
70        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
71        $objPlugin->doAction('lc_page_admin_system_system_action_start', array($this));
72
73        $objFormParam = new SC_FormParam_Ex();
74
75        $this->initForm($objFormParam, $_GET);
76        switch ($this->getMode()) {
77
78            // PHP INFOを表示
79            case 'info':
80                phpinfo();
81                exit;
82                break;
83
84            default:
85                break;
86        }
87
88        $this->arrSystemInfo = $this->getSystemInfo();
89
90        // フックポイント.
91        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
92        $objPlugin->doAction('lc_page_admin_system_system_action_end', array($this));
93    }
94
95    /**
96     * デストラクタ.
97     *
98     * @return void
99     */
100    function destroy() {
101        parent::destroy();
102    }
103
104    /**
105     * フォームパラメーター初期化.
106     *
107     * @param object $objFormParam
108     * @param array $arrParams $_GET値
109     * @return void
110     */
111    function initForm(&$objFormParam, &$arrParams) {
112        $objFormParam->addParam('mode', 'mode', INT_LEN, '', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK'));
113        $objFormParam->setParam($arrParams);
114    }
115
116    /**
117     * システム情報を取得する.
118     *
119     * @return array システム情報
120     */
121    function getSystemInfo() {
122        $objDB = SC_DB_DBFactory_Ex::getInstance();
123
124        $arrSystemInfo = array(
125            array('title' => 'EC-CUBE',     'value' => ECCUBE_VERSION),
126            array('title' => 'サーバーOS',    'value' => php_uname()),
127            array('title' => 'DBサーバー',    'value' => $objDB->sfGetDBVersion()),
128            array('title' => 'WEBサーバー',   'value' => $_SERVER['SERVER_SOFTWARE']),
129        );
130
131        $value = phpversion() . ' (' . implode(', ', get_loaded_extensions()) . ')';
132        $arrSystemInfo[] = array('title' => 'PHP', 'value' => $value);
133
134        if (extension_loaded('GD') || extension_loaded('gd')) {
135            $arrValue = array();
136            foreach (gd_info() as $key => $val) {
137                $arrValue[] = "$key => $val";
138            }
139            $value = '有効 (' . implode(', ', $arrValue) . ')';
140        } else {
141            $value = '無効';
142        }
143        $arrSystemInfo[] = array('title' => 'GD', 'value' => $value);
144        $arrSystemInfo[] = array('title' => 'HTTPユーザーエージェント', 'value' => $_SERVER['HTTP_USER_AGENT']);
145
146        return $arrSystemInfo;
147    }
148}
Note: See TracBrowser for help on using the repository browser.