OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / photo_main / include / container / admin_photo_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-2011 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: admin_photo_mainWidgetContainer.php 4393 2011-10-13 13:07:12Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getCurrentWidgetContainerPath() . '/admin_photo_mainBaseWidgetContainer.php');
17
18 class admin_photo_mainWidgetContainer extends admin_photo_mainBaseWidgetContainer
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                 if (self::$_isLimitedUser){             // 使用限定ユーザの場合
46                         switch ($task){
47                                 case 'imagebrowse':             // 画像管理
48                                 case 'imagebrowse_detail':              // 画像管理(詳細)
49                                 case 'imagebrowse_direct':              // 画像取得
50                                         // 画像ID、シリアル番号がある場合はアクセス権をチェック
51                                         $photoId = $request->trimValueOf(M3_REQUEST_PARAM_PHOTO_ID);                    // 画像ID
52                                         if (!empty($photoId)){
53                                                 $ret = self::$_mainDb->getPhotoInfo($photoId, $this->gEnv->getCurrentLanguage(), $row);
54                                                 if ($ret){
55                                                         if ($row['ht_owner_id'] == $this->gEnv->getCurrentUserId()) break;
56                                                 }
57                                                 $this->SetMsg(self::MSG_APP_ERR, "アクセスできません");
58                                                 return true;
59                                         }
60                                         $serialNo = $request->trimValueOf(M3_REQUEST_PARAM_SERIAL_NO);                  // シリアル番号
61                                         if (!empty($serialNo)){
62                                                 $ret = self::$_mainDb->getPhotoInfoBySerial($serialNo, $row);
63                                                 if ($ret){
64                                                         if ($row['ht_owner_id'] == $this->gEnv->getCurrentUserId()) break;
65                                                 }
66                                                 $this->SetMsg(self::MSG_APP_ERR, "アクセスできません");
67                                                 return true;
68                                         }
69                                         break;
70                                 default:
71                                         $this->SetMsg(self::MSG_APP_ERR, "アクセスできません");
72                                         return true;
73                         }
74                 }
75                 
76                 // コンテナを起動
77                 $goWidget = false;              // サブウィジェットを実行するかどうか
78                 switch ($task){
79                         case 'imagebrowse':             // 画像管理
80                         case 'imagebrowse_detail':              // 画像管理(詳細)
81                         case 'imagebrowse_direct':              // 画像取得
82                                 $task = 'imagebrowse';
83                                 $goWidget = true;               // サブウィジェットを実行するかどうか
84                                 break;
85                         case 'author':                          // 画像管理者管理
86                         case 'author_detail':           // 画像管理者管理(詳細)
87                                 $task = 'author';
88                                 $goWidget = true;               // サブウィジェットを実行するかどうか
89                                 break;
90                         case 'category':                        // カテゴリー
91                         case 'category_detail':         // カテゴリー(詳細)
92                                 $task = 'category';
93                                 $goWidget = true;               // サブウィジェットを実行するかどうか
94                                 break;
95                         case 'comment':         // 画像コメント管理
96                         case 'comment_detail':          // 画像コメント管理(詳細)
97                                 $task = 'comment';
98                                 $goWidget = true;               // サブウィジェットを実行するかどうか
99                                 break;
100                         case 'search':          // 検索条件設定
101                                 $goWidget = true;               // サブウィジェットを実行するかどうか
102                                 break;
103                         case 'config':          // その他設定
104                                 $goWidget = true;               // サブウィジェットを実行するかどうか
105                                 break;
106                         default:
107                                 break;
108                 }
109                 if ($goWidget){         // サブウィジェットを実行するかどうか
110                         $this->gLaunch->goSubWidget($task, true);               // 管理者機能で呼び出し
111                         return false;
112                 } else {
113                         $this->SetMsg(self::MSG_APP_ERR, "画面が見つかりません");
114                         return true;
115                 }
116         }
117         /**
118          * テンプレートファイルを設定
119          *
120          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
121          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
122          *
123          * @param RequestManager $request               HTTPリクエスト処理クラス
124          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
125          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
126          */
127         function _setTemplate($request, &$param)
128         {
129                 return 'message.tmpl.html';
130         }
131         /**
132          * テンプレートにデータ埋め込む
133          *
134          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
135          *
136          * @param RequestManager $request               HTTPリクエスト処理クラス
137          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
138          * @return                                                              なし
139          */
140         function _assign($request, &$param)
141         {
142         }
143 }
144 ?>