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-2012 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: s_bbs_2chWidgetContainer.php 4851 2012-04-15 00:43:29Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getCurrentWidgetContainerPath() . '/s_bbs_2chBaseWidgetContainer.php');
18 class s_bbs_2chWidgetContainer extends s_bbs_2chBaseWidgetContainer
20 const DEFAULT_TASK = 'top'; // デフォルトの画面
25 function __construct()
28 parent::__construct();
31 * ディスパッチ処理(メインコンテナのみ実行)
33 * HTTPリクエストの内容を見て処理をコンテナに振り分ける
35 * @param RequestManager $request HTTPリクエスト処理クラス
36 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
37 * @return bool このクラスの_setTemplate(), _assign()へ処理を継続するかどうかを返す。
38 * true=処理を継続、false=処理を終了
40 function _dispatch($request, &$param)
43 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
46 $threadId = $request->trimValueOf(M3_REQUEST_PARAM_BBS_THREAD_ID);
47 if (empty($threadId)) $request->trimValueOf(M3_REQUEST_PARAM_BBS_THREAD_ID_SHORT);
50 $keyword = $request->trimValueOf(M3_REQUEST_PARAM_KEYWORD);
52 // スレッドIDが設定されているときはスレッド表示タスクを設定
53 if (empty($threadId)){
55 $task = self::DEFAULT_TASK;
56 } else { // 検索キーワードが設定されている場合
57 $task = self::TASK_SUBJECT; // 件名一覧
60 $task = self::TASK_READ_THREAD; // スレッド表示
62 } else if ($task == self::TASK_NEW_THREAD){ // スレッド新規作成
63 $task = self::TASK_THREAD;
66 // ##### コンテナを起動 #####
68 case self::TASK_TOP: // トップ画面
69 case self::TASK_SUBJECT: // スレッド件名
70 case self::TASK_THREAD: // スレッド処理
71 case self::TASK_READ_THREAD: // スレッド表示
72 $this->gLaunch->goSubWidget($task);
75 $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
82 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
83 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
85 * @param RequestManager $request HTTPリクエスト処理クラス
86 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
87 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
89 function _setTemplate($request, &$param)
91 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
92 return 'message.tmpl.html';
97 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
99 * @param RequestManager $request HTTPリクエスト処理クラス
100 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
103 function _assign($request, &$param)
105 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
109 case self::TASK_TOP: // トップ画面
112 //$this->tmpl->addVar("_widget", "login_url", $this->gEnv->createCurrentPageUrl() . '&task=login'); // ログイン用URL