OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / ec_disp / include / container / ec_dispWidgetContainer.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-2011 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: ec_dispWidgetContainer.php 4479 2011-11-27 13:51:34Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
17
18 class ec_dispWidgetContainer 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                 // 実行処理を決定
41                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
42                 if (empty($task)) $task = 'product';
43
44                 // ##### アクセス制御 #####
45                 
46                 // ##### コンテナを起動 #####
47                 switch ($task){
48                         case 'product':                 // 商品表示機能
49                                 $this->gLaunch->goSubWidget($task);
50                                 return false;
51                         default:
52                                 $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
53                                 return true;
54                 }
55         }
56         /**
57          * テンプレートファイルを設定
58          *
59          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
60          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
61          *
62          * @param RequestManager $request               HTTPリクエスト処理クラス
63          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
64          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
65          */
66         function _setTemplate($request, &$param)
67         {
68                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
69
70                 // 要求画面によってテンプレートを変更
71                 switch ($task){
72                         case 'product_login':                   // 会員向け商品表示
73                                 // ログインが必要であるメッセージを表示
74                                 return 'message_login.tmpl.html';
75                         default:
76                                 return 'message.tmpl.html';
77                 }
78         }
79         /**
80          * テンプレートにデータ埋め込む
81          *
82          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
83          *
84          * @param RequestManager $request               HTTPリクエスト処理クラス
85          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
86          * @return                                                              なし
87          */
88         function _assign($request, &$param)
89         {
90                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
91
92                 // 要求画面によってテンプレートを変更
93                 switch ($task){
94                         case 'product_login':                   // 会員向け商品表示
95                                 // ログインが必要であるメッセージを表示
96                                 $this->tmpl->addVar("_widget", "login_url", $this->gEnv->createCurrentPageUrl() . '&task=login');               // ログイン用URL
97                         default:
98                 }
99         }
100 }
101 ?>