OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / s / css_add / include / container / s_css_addWidgetContainer.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: s_css_addWidgetContainer.php 5607 2013-02-07 08:48:39Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
17
18 class s_css_addWidgetContainer extends BaseWidgetContainer
19 {
20         private $paramObj;              // 定義取得用
21         private $headCss;                       // ヘッダ出力用CSS
22         private $cssFiles;              // CSSファイル
23         const DEFAULT_CONFIG_ID = 0;
24         const CSS_DIR = '/resource/css';                        // CSSファイル格納ディレクトリ
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                 return '';
48         }
49         /**
50          * テンプレートにデータ埋め込む
51          *
52          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
53          *
54          * @param RequestManager $request               HTTPリクエスト処理クラス
55          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
56          * @param                                                               なし
57          */
58         function _assign($request, &$param)
59         {
60                 // 定義ID取得
61                 $configId = $this->gEnv->getCurrentWidgetConfigId();
62                 if (empty($configId)) $configId = self::DEFAULT_CONFIG_ID;
63                 
64                 // 初期値設定
65                 $files = array();
66                 
67                 // パラメータオブジェクトを取得
68                 $targetObj = $this->getWidgetParamObjByConfigId($configId);
69                 if (!empty($targetObj)){                // 定義データが取得できたとき
70                         $menuId         = $targetObj->menuId;   // メニューID
71                         $name           = $targetObj->name;// 定義名
72                         $this->headCss = $this->convertM3ToText($targetObj->css);       // 標準マクロ変換してCSSを作成
73                         $files          = $targetObj->cssFiles;                 // CSSファイル
74                         if (!isset($files)) $files = array();
75                 }
76                 
77                 // CSSファイルのパスを修正
78                 $this->cssFiles = array();
79                 $cssDir = $this->gEnv->getSystemRootPath() . self::CSS_DIR;             // CSSファイル読み込みディレクトリ
80                 $cssUrl = $this->gEnv->getRootUrl() . self::CSS_DIR;            // CSSファイル読み込みURL
81                 for ($i = 0; $i < count($files); $i++){
82                         $file = $cssDir . $files[$i];
83                         if (file_exists($file)){
84                                 $fileUrl = $this->getUrl($cssUrl . $files[$i]);
85                                 $this->cssFiles[] = $fileUrl;
86                         } else {                // ファイルが存在しないときはエラーメッセージ
87                                 $this->gOpeLog->writeError(__METHOD__, 'CSSファイルが存在しません。(ファイル=' . $file . ')', 1100);
88                         }
89                 }
90         }
91         /**
92          * CSSデータをHTMLヘッダ部に設定
93          *
94          * CSSデータをHTMLのheadタグ内に追加出力する。
95          * _assign()よりも後に実行される。
96          *
97          * @param RequestManager $request               HTTPリクエスト処理クラス
98          * @param object         $param                 任意使用パラメータ。
99          * @return string                                               CSS文字列。出力しない場合は空文字列を設定。
100          */
101         function _addCssToHead($request, &$param)
102         {
103                 return $this->headCss;
104         }
105         /**
106          * CSSファイルをHTMLヘッダ部に設定
107          *
108          * CSSファイルをHTMLのheadタグ内に追加出力する。
109          * _assign()よりも後に実行される。
110          *
111          * @param RequestManager $request               HTTPリクエスト処理クラス
112          * @param object         $param                 任意使用パラメータ。
113          * @return string                                               CSS文字列。出力しない場合は空文字列を設定。
114          */
115         function _addCssFileToHead($request, &$param)
116         {
117                 return $this->cssFiles;
118         }
119 }
120 ?>