7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
9 * @package Magic3 Framework
10 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11 * @copyright Copyright 2006-2011 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: admin_indexFrameContainer.php 4297 2011-09-06 03:00:32Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseFrameContainer.php');
18 class admin_indexFrameContainer extends BaseFrameContainer
23 function __construct()
26 parent::__construct();
31 * 同フレーム(同.phpファイル)での共通のアクセス制御を行う
33 * @param RequestManager $request HTTPリクエスト処理クラス
35 function _checkAccess($request)
38 global $gAccessManager;
42 $ret = false; // 戻り値リセット
43 $cmd = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_COMMAND);
44 if ($cmd == '' || // コマンドなし
45 $cmd == M3_REQUEST_CMD_CHANGE_TEMPLATE || // テンプレート変更
46 $cmd == M3_REQUEST_CMD_LOGIN || // ログイン
47 $cmd == M3_REQUEST_CMD_LOGOUT){ // ログアウト
49 } else if( $cmd == M3_REQUEST_CMD_SHOW_POSITION || // 表示位置を表示するとき
50 $cmd == M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET || // 表示位置を表示するとき(ウィジェット付き)
51 $cmd == M3_REQUEST_CMD_SHOW_WIDGET || // ウィジェットの単体表示
52 $cmd == M3_REQUEST_CMD_DO_WIDGET || // ウィジェット単体実行
53 // $cmd == M3_REQUEST_CMD_CONFIG_WIDGET || // ウィジェットの設定
54 $cmd == M3_REQUEST_CMD_GET_WIDGET_INFO || // ウィジェット各種情報取得(AJAX用)
55 $cmd == M3_REQUEST_CMD_SHOW_PHPINFO){ // phpinfoの表示
57 if ($gEnvManager->isSystemAdmin()){
58 //if ($this->gEnv->isSystemManageUser()){ // システム運用可能ユーザかどうか
61 // クッキーがないため権限を識別できない場合は、管理者キーをチェックする
62 $ret = $gAccessManager->isValidAdminKey();
64 } else if ($cmd == M3_REQUEST_CMD_CONFIG_WIDGET){ // ウィジェットの設定
65 if ($this->gEnv->isSystemManageUser()){ // システム運用可能ユーザかどうか
66 // システム運用者の場合はアクセス可能なウィジェットをチェック
67 $widgetId = $request->trimValueOf(M3_REQUEST_PARAM_WIDGET_ID);
68 $ret = $gEnvManager->canUseWidgetAdmin($widgetId);
70 // クッキーがないため権限を識別できない場合は、管理者キーをチェックする
71 $ret = $gAccessManager->isValidAdminKey();
75 // 管理機能アクセス可能なときはヘルプ出力する
76 if ($ret) $gPageManager->setUseHelp(true);
83 * @param RequestManager $request HTTPリクエスト処理クラス
85 function _preBuffer($request)
91 * @param RequestManager $request HTTPリクエスト処理クラス
93 function _postBuffer($request)
99 * @param RequestManager $request HTTPリクエスト処理クラス
100 * @return テンプレートを固定にしたい場合はテンプレート名を返す。
101 * テンプレートが任意の場合(変更可能な場合)は空文字列を返す。
103 function _setTemplate($request)
105 global $gSystemManager;
108 $cmd = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_COMMAND);
109 if ($cmd == M3_REQUEST_CMD_SHOW_POSITION || // 表示位置を表示するとき
110 $cmd == M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET){ // 表示位置を表示するとき(ウィジェット付き)
111 return ''; // デフォルトのテンプレートを使用
113 return $gSystemManager->defaultAdminTemplateId();