OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / widgets / blog_update_box / include / container / admin_blog_update_boxWidgetContainer.php
1 <?php
2 /**
3  * コンテナクラス
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: admin_blog_update_boxWidgetContainer.php 3918 2011-01-01 03:20:22Z fishbone $
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() . '/baseAdminWidgetContainer.php');
17
18 class admin_blog_update_boxWidgetContainer extends BaseAdminWidgetContainer
19 {
20         const DEFAULT_ITEM_COUNT = 10;          // デフォルトの表示項目数
21         
22         /**
23          * コンストラクタ
24          */
25         function __construct()
26         {
27                 // 親クラスを呼び出す
28                 parent::__construct();
29         }
30         /**
31          * テンプレートファイルを設定
32          *
33          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
34          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
35          *
36          * @param RequestManager $request               HTTPリクエスト処理クラス
37          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
38          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
39          */
40         function _setTemplate($request, &$param)
41         {       
42                 return 'admin.tmpl.html';
43         }
44         /**
45          * テンプレートにデータ埋め込む
46          *
47          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
48          *
49          * @param RequestManager $request               HTTPリクエスト処理クラス
50          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
51          * @param                                                               なし
52          */
53         function _assign($request, &$param)
54         {
55                 $act = $request->trimValueOf('act');
56                 if ($act == 'update'){          // 設定更新のとき
57                         // 入力値を取得
58                         $itemCount      = $request->valueOf('item_count');                      // 表示項目数
59                         $useRss = ($request->trimValueOf('item_use_rss') == 'on') ? 1 : 0;              // RSS配信を行うかどうか
60                         $optionPassage = ($request->trimValueOf('item_option_passage') == 'on') ? 1 : 0;                // 表示オプション(経過日時)
61                         
62                         if ($this->getMsgCount() == 0){                 // エラーのないとき
63                                 $paramObj->itemCount    = $itemCount;
64                                 $paramObj->useRss       = $useRss;
65                                 $paramObj->optionPassage        = $optionPassage;               // 表示オプション(経過日時)
66                                 $ret = $this->updateWidgetParamObj($paramObj);
67                                 if ($ret){
68                                         $this->setMsg(self::MSG_GUIDANCE, 'データを更新しました');
69                                 } else {
70                                         $this->setMsg(self::MSG_APP_ERR, 'データ更新に失敗しました');
71                                 }
72                                 $this->gPage->updateParentWindow();// 親ウィンドウを更新
73                         }
74                 } else {                // 初期表示の場合
75                         // デフォルト値設定
76                         $itemCount = self::DEFAULT_ITEM_COUNT;  // 表示項目数
77                         $useRss = 1;                                                    // RSS配信を行うかどうか
78                         $optionPassage = 0;                                             // 表示オプション(経過日時)
79                         $paramObj = $this->getWidgetParamObj();
80                         if (!empty($paramObj)){
81                                 $itemCount      = $paramObj->itemCount;
82                                 $useRss         = $paramObj->useRss;// RSS配信を行うかどうか
83                                 if (!isset($useRss)) $useRss = 1;
84                                 $optionPassage  = $paramObj->optionPassage;             // 表示オプション(経過日時)
85                                 if (!isset($optionPassage)) $optionPassage = 0;
86                         }
87                 }
88                 
89                 // 画面にデータを埋め込む
90                 $this->tmpl->addVar("_widget", "item_count",    $itemCount);
91                 $checked = '';
92                 if ($useRss) $checked = 'checked';
93                 $this->tmpl->addVar("_widget", "use_rss",       $checked);// RSS配信を行うかどうか
94                 $checked = '';
95                 if ($optionPassage) $checked = 'checked';
96                 $this->tmpl->addVar("_widget", "option_passage",        $checked);// 表示オプション(経過日時)
97         }
98 }
99 ?>