OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / reserve_main / include / container / reserve_mainWidgetContainer.php
1 <?php
2 /**
3  * index.php用コンテナクラス
4  *
5  * PHP versions 5
6  *
7  * LICENSE: This source file is licensed under the terms of the GNU General Public License.
8  *
9  * @package    Magic3 Framework
10  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11  * @copyright  Copyright 2006-2008 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: reserve_mainWidgetContainer.php 2939 2010-03-17 14:20:34Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() .                 '/baseWidgetContainer.php');
17
18 class reserve_mainWidgetContainer extends BaseWidgetContainer
19 {
20         /**
21          * コンストラクタ
22          */
23         function __construct()
24         {
25                 // 親クラスを呼び出す
26                 parent::__construct();
27         }
28         /**
29          * ディスパッチ処理(メインコンテナのみ実行)
30          *
31      * HTTPリクエストの内容を見て処理をコンテナに振り分ける
32          *
33          * @param RequestManager $request               HTTPリクエスト処理クラス
34          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
35          * @return bool                                                 このクラスの_setTemplate(), _assign()へ処理を継続するかどうかを返す。
36          *                                      true=処理を継続、false=処理を終了
37          */
38         function _dispatch($request, &$param)
39         {
40                 global $gEnvManager;
41                 global $gLaunchManager;
42
43                 // 表示画面を決定
44                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
45                 if (empty($task)) $task = 'reserve';            // デフォルトは予約画面
46                 
47                 // ##### アクセス制御 #####
48                 // ログイン状態を取得
49                 $userInfo = $gEnvManager->getCurrentUserInfo();
50                 if (is_null($userInfo)){                // ログインされていない場合
51                         // 遷移先を修正
52                         switch ($task){
53                                 case 'login':           // ログイン画面
54                                 case 'sendpwd':                 // パスワード送信画面
55                                         break;
56                                 case 'reserve':                 // 予約画面
57                                 case 'changepwd';                       // パスワード変更
58                                         $task = 'login';                // ログイン画面へ
59                                         break;
60                         }
61                 }
62                 
63                 // コンテナを起動
64                 $goWidget = false;              // サブウィジェットを実行するかどうか
65                 switch ($task){
66                         case 'login':           // ログイン画面
67                         case 'reserve':                 // 予約画面
68                         case 'sendpwd':                 // パスワード送信画面
69                         case 'changepwd';                       // パスワード変更
70                                 $goWidget = true;               // サブウィジェットを実行するかどうか
71                                 break;
72                         default:
73                                 break;
74                 }
75                 if ($goWidget){         // サブウィジェットを実行するかどうか
76                         $gLaunchManager->goSubWidget($task);
77                         return false;
78                 } else {
79                         $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
80                         return true;
81                 }
82         }
83         /**
84          * テンプレートファイルを設定
85          *
86          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
87          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
88          *
89          * @param RequestManager $request               HTTPリクエスト処理クラス
90          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
91          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
92          */
93         function _setTemplate($request, &$param)
94         {
95                 return 'message.tmpl.html';
96         }
97         /**
98          * テンプレートにデータ埋め込む
99          *
100          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
101          *
102          * @param RequestManager $request               HTTPリクエスト処理クラス
103          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
104          * @return                                                              なし
105          */
106         function _assign($request, &$param)
107         {
108         }
109 }
110 ?>