OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / m / blog / include / container / m_blogWidgetContainer.php
1 <?php
2 /**
3  * コンテナクラス
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-2010 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: m_blogWidgetContainer.php 3463 2010-08-07 10:46:20Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getCurrentWidgetContainerPath() .    '/m_blogBaseWidgetContainer.php');
17
18 class m_blogWidgetContainer extends m_blogBaseWidgetContainer
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                 // 実行処理を決定
41                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
42                 if (empty($task)) $task = self::DEFAULT_TASK;
43
44                 // アクセス権をチェック
45                 switch ($task){
46                         case self::TASK_READ:                   // ブログ参照
47                                 // 携帯以外からのアクセスの場合はエラー
48                                 //if (empty($this->_mobileId)) return true;
49                                 break;
50                 }
51                 
52                 // ##### コンテナを起動 #####
53                 switch ($task){
54                         case self::TASK_READ:                   // ブログ参照
55                                 $this->gLaunch->goSubWidget($task);
56                                 return false;
57                         default:
58                                 $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
59                                 return true;
60                 }
61         }
62         /**
63          * テンプレートファイルを設定
64          *
65          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
66          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
67          *
68          * @param RequestManager $request               HTTPリクエスト処理クラス
69          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
70          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
71          */
72         function _setTemplate($request, &$param)
73         {
74                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
75
76                 // 要求画面によってテンプレートを変更
77                 switch ($task){
78                         default:
79                                 return 'message.tmpl.html';
80                 }
81         }
82         /**
83          * テンプレートにデータ埋め込む
84          *
85          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
86          *
87          * @param RequestManager $request               HTTPリクエスト処理クラス
88          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
89          * @return                                                              なし
90          */
91         function _assign($request, &$param)
92         {
93                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
94                 if (empty($task)) $task = self::DEFAULT_TASK;
95
96                 // 要求画面によってテンプレートを変更
97                 switch ($task){
98                         case self::TASK_READ:                   // スレッド一覧画面
99                                 $this->setUserErrorMsg('携帯電話以外からは実行できません');
100                                 $this->tmpl->addVar('_widget', 'top_url', $this->_currentPageUrl);
101                                 break;
102                         default:
103                                 break;
104                 }
105         }
106 }
107 ?>