OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / default_content / include / container / admin_default_contentBaseWidgetContainer.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-2012 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: admin_default_contentBaseWidgetContainer.php 4970 2012-06-15 10:51:03Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() . '/baseAdminWidgetContainer.php');
17 require_once($gEnvManager->getWidgetContainerPath('default_content') . '/default_contentCommonDef.php');
18 require_once($gEnvManager->getWidgetDbPath('default_content') . '/default_contentDb.php');
19
20 class admin_default_contentBaseWidgetContainer extends BaseAdminWidgetContainer
21 {
22         protected static $_mainDb;                      // DB接続オブジェクト
23         protected static $_configArray;         // 汎用コンテンツ定義値
24         
25         const DEFAULT_TOP_PAGE = 'content';             // デフォルトのトップページ
26         const WIDGET_TITLE_NAME = 'デフォルトコンテンツ';                             // ウィジェットタイトル名
27         // 画面
28         const TASK_CONTENT = 'content';                                                 // コンテンツ管理
29         const TASK_CONTENT_DETAIL = 'content_detail';                   // コンテンツ管理詳細
30         const TASK_ADD_TO_MENU = 'add_to_menu'; // コンテンツへのリンクをメニューに追加
31         const TASK_OTHER = 'other';                                                             // その他設定
32         const TASK_HISTORY = 'history';                                                 // コンテンツ履歴
33         
34         /**
35          * コンストラクタ
36          */
37         function __construct()
38         {
39                 // 親クラスを呼び出す
40                 parent::__construct();
41                 
42                 // 代替処理用のウィジェットIDを設定
43                 $this->setDefaultWidgetId(default_contentCommonDef::CONTENT_WIDGET_ID);
44                 
45                 // DBオブジェクト作成
46                 if (!isset(self::$_mainDb)) self::$_mainDb = new default_contentDb();
47                 
48                 // 汎用コンテンツ定義を読み込む
49                 if (!isset(self::$_configArray)) self::$_configArray = default_contentCommonDef::loadConfig(self::$_mainDb);
50         }
51         /**
52          * テンプレートにデータ埋め込む
53          *
54          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
55          *
56          * @param RequestManager $request               HTTPリクエスト処理クラス
57          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
58          * @return                                                              なし
59          */
60         function _postAssign($request, &$param)
61         {
62                 // ウィンドウオープンタイプ取得
63                 $openBy = $request->trimValueOf(M3_REQUEST_PARAM_OPEN_BY);              // ウィンドウオープンタイプ
64                 if (!empty($openBy)) $this->addOptionUrlParam(M3_REQUEST_PARAM_OPEN_BY, $openBy);
65                 if ($openBy == 'simple' || $openBy == 'tabs') return;                   // シンプルウィンドウまたはタブ表示のときはメニューを表示しない
66                 
67                 // 表示画面を決定
68                 $task = $request->trimValueOf(M3_REQUEST_PARAM_OPERATION_TASK);
69                 if (empty($task)) $task = self::DEFAULT_TOP_PAGE;
70                 
71                 // パンくずリストを作成
72                 switch ($task){
73                         case self::TASK_CONTENT:                // コンテンツ管理
74                         case self::TASK_CONTENT_DETAIL:         // コンテンツ管理(詳細)
75                                 $linkList = ' &gt;&gt; コンテンツ管理';// パンくずリスト
76                                 break;
77                         case self::TASK_OTHER:          // その他設定
78                                 $linkList = ' &gt;&gt; 基本設定';// パンくずリスト
79                                 break;
80                 }
81                 // ####### 上段メニューの作成 #######
82                 $menuText = '<div id="configmenu-upper">' . M3_NL;
83                 $menuText .= '<ul>' . M3_NL;
84                 $baseUrl = $this->getAdminUrlWithOptionParam(true);// 画面定義ID付き
85                 
86                 // コンテンツ管理
87                 $current = '';
88                 $link = $baseUrl . '&task=content';
89                 if ($task == self::TASK_CONTENT ||
90                         $task == self::TASK_CONTENT_DETAIL){
91                         $current = 'id="current"';
92                 }
93                 $menuText .= '<li ' . $current . '><a href="'. $this->getUrl($link, true) .'"><span>コンテンツ管理</span></a></li>' . M3_NL;
94                 
95                 // その他設定
96                 $current = '';
97                 $link = $baseUrl . '&task=other';
98                 if ($task == self::TASK_OTHER){         
99                         $current = 'id="current"';
100                 }
101                 $menuText .= '<li ' . $current . '><a href="'. $this->getUrl($link, true) .'"><span>基本設定</span></a></li>' . M3_NL;
102                 
103                 // 上段メニュー終了
104                 $menuText .= '</ul>' . M3_NL;
105                 $menuText .= '</div>' . M3_NL;
106                 
107                 // 作成データの埋め込み
108                 $topName = self::WIDGET_TITLE_NAME . '(' . default_contentCommonDef::$_deviceTypeName . ')';
109                 $linkList = '<div id="configmenu-top"><label>' . $topName . $linkList . '</div>';
110                 $outputText .= '<table width="90%"><tr><td>' . $linkList . $menuText . '</td></tr></table>' . M3_NL;
111                 $this->tmpl->addVar("_widget", "menu_items", $outputText);
112         }
113 }
114 ?>