source: branches/version-2_13_0/data/class/pages/admin/LC_Page_Admin.php @ 23126

Revision 23126, 4.2 KB checked in by m_uehara, 11 years ago (diff)

#2348 r23116 - r23125 をマージ

  • 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-2013 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
24require_once CLASS_EX_REALDIR . 'page_extends/LC_Page_Ex.php';
25
26/**
27 * 管理者ログイン のページクラス.
28 *
29 * @package Page
30 * @author LOCKON CO.,LTD.
31 * @version $Id$
32 */
33class LC_Page_Admin extends LC_Page_Ex
34{
35    /**
36     * Page を初期化する.
37     *
38     * @return void
39     */
40    public function init()
41    {
42        $this->template = MAIN_FRAME;
43
44        //IP制限チェック
45        $allow_hosts = unserialize(ADMIN_ALLOW_HOSTS);
46        if (is_array($allow_hosts) && count($allow_hosts) > 0) {
47            if (array_search($_SERVER['REMOTE_ADDR'],$allow_hosts) === FALSE) {
48                SC_Utils_Ex::sfDispError(AUTH_ERROR);
49            }
50        }
51
52        //SSL制限チェック
53        if (ADMIN_FORCE_SSL == TRUE) {
54            if (SC_Utils_Ex::sfIsHTTPS() === false) {
55                SC_Response_Ex::sendRedirect($_SERVER['REQUEST_URI'], $_GET, FALSE, TRUE);
56            }
57        }
58
59        $this->tpl_authority = $_SESSION['authority'];
60
61        // ディスプレイクラス生成
62        $this->objDisplay = new SC_Display_Ex();
63
64        // スーパーフックポイントを実行.
65        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
66        $objPlugin->doAction('LC_Page_preProcess', array($this));
67
68        // トランザクショントークンの検証と生成
69        $this->doValidToken(true);
70        $this->setTokenTo();
71
72        // ローカルフックポイントを実行
73        $parent_class_name = get_parent_class($this);
74        $objPlugin->doAction($parent_class_name . '_action_before', array($this));
75        $class_name = get_class($this);
76        if ($class_name != $parent_class_name) {
77            $objPlugin->doAction($class_name . '_action_before', array($this));
78        }
79    }
80
81    /**
82     * Page のプロセス.
83     *
84     * @return void
85     */
86    public function process()
87    {
88    }
89
90    /**
91     * Page のレスポンス送信.
92     *
93     * @return void
94     */
95    public function sendResponse()
96    {
97        $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
98        // ローカルフックポイントを実行
99        $parent_class_name = get_parent_class($this);
100        $objPlugin->doAction($parent_class_name . '_action_after', array($this));
101        $class_name = get_class($this);
102        if ($class_name != $parent_class_name) {
103            $objPlugin->doAction($class_name . '_action_after', array($this));
104        }
105
106        // HeadNaviにpluginテンプレートを追加する.
107        $objPlugin->setHeadNaviBlocs($this->arrPageLayout['HeadNavi']);
108
109        // スーパーフックポイントを実行.
110        $objPlugin->doAction('LC_Page_process', array($this));
111
112        $this->objDisplay->prepare($this, true);
113        $this->objDisplay->response->write();
114    }
115
116    /**
117     * 前方互換用
118     *
119     * @deprecated 2.12.0 GC_Utils_Ex::gfPrintLog を使用すること
120     */
121    public function log($mess, $log_level='Info')
122    {
123        trigger_error('前方互換用メソッドが使用されました。', E_USER_WARNING);
124        // ログレベル=Debugの場合は、DEBUG_MODEがtrueの場合のみログ出力する
125        if ($log_level === 'Debug' && DEBUG_MODE === false) {
126            return;
127        }
128
129        // ログ出力
130        GC_Utils_Ex::gfPrintLog($mess, '');
131    }
132}
Note: See TracBrowser for help on using the repository browser.