OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / jquery_plugin / include / container / jquery_pluginWidgetContainer.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-2010 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id: jquery_pluginWidgetContainer.php 3176 2010-06-02 02:38:17Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
17
18 class jquery_pluginWidgetContainer extends BaseWidgetContainer
19 {
20         private $langId;                // 現在の言語
21         private $paramObj;              // 定義取得用
22         private $headScript;    // HTMLヘッダに埋め込むJavascript
23         private $selectedPlugin = array();              // 選択しているjQueryプラグイン
24         const DEFAULT_CONFIG_ID = 0;
25         
26         /**
27          * コンストラクタ
28          */
29         function __construct()
30         {
31                 // 親クラスを呼び出す
32                 parent::__construct();
33         }
34         /**
35          * テンプレートファイルを設定
36          *
37          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
38          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
39          *
40          * @param RequestManager $request               HTTPリクエスト処理クラス
41          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
42          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
43          */
44         function _setTemplate($request, &$param)
45         {
46                 return 'index.tmpl.html';
47         }
48         /**
49          * テンプレートにデータ埋め込む
50          *
51          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
52          *
53          * @param RequestManager $request               HTTPリクエスト処理クラス
54          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
55          * @param                                                               なし
56          */
57         function _assign($request, &$param)
58         {
59                 $this->langId = $this->gEnv->getCurrentLanguage();
60                 
61                 // 定義ID取得
62                 $configId = $this->gEnv->getCurrentWidgetConfigId();
63                 if (empty($configId)) $configId = self::DEFAULT_CONFIG_ID;
64                 
65                 // パラメータオブジェクトを取得
66                 $targetObj = $this->getWidgetParamObjByConfigId($configId);
67                 if (!empty($targetObj)){                // 定義データが取得できたとき
68                         $menuId         = $targetObj->menuId;   // メニューID
69                         $name           = $targetObj->name;// 定義名
70                         $this->headScript = $targetObj->script;                                 // Javascript
71                         $this->selectedPlugin = $targetObj->selectedPlugin;// 選択しているjQueryプラグイン
72                 }
73         }
74         /**
75          * JavascriptライブラリをHTMLヘッダ部に設定
76          *
77          * JavascriptライブラリをHTMLのheadタグ内に追加出力する。
78          * _assign()よりも後に実行される。
79          *
80          * @param RequestManager $request               HTTPリクエスト処理クラス
81          * @param object         $param                 任意使用パラメータ。
82          * @return string,array                                 Javascriptライブラリ。出力しない場合は空文字列を設定。
83          */
84         function _addScriptLibToHead($request, &$param)
85         {
86                 return $this->selectedPlugin;
87         }
88         /**
89          * JavascriptをHTMLヘッダ部に設定
90          *
91          * CSSデータをHTMLのheadタグ内に追加出力する。
92          * _assign()よりも後に実行される。
93          *
94          * @param RequestManager $request               HTTPリクエスト処理クラス
95          * @param object         $param                 任意使用パラメータ。
96          * @return string                                               CSS文字列。出力しない場合は空文字列を設定。
97          */
98         function _addScriptToHead($request, &$param)
99         {
100                 return $this->headScript;
101         }
102 }
103 ?>