OSDN Git Service

e948e564f4b10d32bb251b71fa700843e4478fb2
[magic3/magic3.git] / widgets / qrcode / include / container / admin_qrcodeWidgetContainer.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-2015 Magic3 Project.
12  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
13  * @version    SVN: $Id$
14  * @link       http://www.magic3.org
15  */
16 require_once($gEnvManager->getContainerPath() .                 '/baseAdminWidgetContainer.php');
17
18 class admin_qrcodeWidgetContainer extends BaseAdminWidgetContainer
19 {
20         /**
21          * コンストラクタ
22          */
23         function __construct()
24         {
25                 // 親クラスを呼び出す
26                 parent::__construct();
27         }
28         /**
29          * テンプレートファイルを設定
30          *
31          * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
32          * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
33          *
34          * @param RequestManager $request               HTTPリクエスト処理クラス
35          * @param object         $param                 任意使用パラメータ。そのまま_assign()に渡る
36          * @return string                                               テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
37          */
38         function _setTemplate($request, &$param)
39         {
40                 return 'admin.tmpl.html';
41         }
42         /**
43          * テンプレートにデータ埋め込む
44          *
45          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
46          *
47          * @param RequestManager $request               HTTPリクエスト処理クラス
48          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
49          * @param                                                               なし
50          */
51         function _assign($request, &$param)
52         {
53                 $act = $request->trimValueOf('act');
54                 if ($act == 'update'){          // 設定更新のとき
55                         $qrData = $request->trimValueOf('qr_data');                     // QRコード化するデータ
56                         $desc = $request->trimValueOf('desc');                          // 説明
57
58                         // 入力値のエラーチェック
59                         if ($this->getMsgCount() == 0){                 // エラーのないとき
60                                 $paramObj = new stdClass;
61                                 $paramObj->qrData = $qrData;                                            // QRコード化するデータ
62                                 $paramObj->desc = $desc;                                // 説明
63                                 $ret = $this->updateWidgetParamObj($paramObj);
64                                 if ($ret){
65                                         $this->setMsg(self::MSG_GUIDANCE, 'データを更新しました');
66                                 } else {
67                                         $this->setMsg(self::MSG_APP_ERR, 'データ更新に失敗しました');
68                                 }
69                                 $this->gPage->updateParentWindow();// 親ウィンドウを更新
70                         }
71                 } else {                // 初期表示の場合
72                         // デフォルト値の設定
73                         $qrData = $this->gEnv->getDefaultMobileUrl();                   // QRコード化するデータ、デフォルト値は携帯サイトURL
74                         $desc = '';                             // 説明
75                         $paramObj = $this->getWidgetParamObj();
76                         if (!empty($paramObj)){
77                                 $qrData = $paramObj->qrData;                    // QRコード化するデータ
78                                 $desc = $paramObj->desc;                                // 説明
79                         }
80                 }
81                 $urlparam  = M3_REQUEST_PARAM_OPERATION_COMMAND . '=' . M3_REQUEST_CMD_DO_WIDGET . '&';
82                 $urlparam .= M3_REQUEST_PARAM_WIDGET_ID . '=' . $this->gEnv->getCurrentWidgetId() .'&';
83                 $generateUrl = $this->gEnv->getDefaultUrl() . '?' . $urlparam . 'act=genarate&t=P&s=3&d=' . '[urlエンコードしたデータ]';                      // QRコード生成URL
84                         
85                 // 画面に書き戻す
86                 $this->tmpl->addVar("_widget", "qr_data", $qrData);                     // QRコード化するデータ
87                 $this->tmpl->addVar("_widget", "desc", $desc);                          // 説明
88                 $this->tmpl->addVar("_widget", "gurl", $this->getUrl($generateUrl));            // QRコード生成URL
89         }
90         /**
91          * テンプレートにデータ埋め込む
92          *
93          * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
94          *
95          * @param RequestManager $request               HTTPリクエスト処理クラス
96          * @param object         $param                 任意使用パラメータ。_setTemplate()と共有。
97          * @return                                                              なし
98          */
99         function _postAssign($request, &$param)
100         {
101                 // メニューバー、パンくずリスト作成(簡易版)
102                 $this->createBasicConfigMenubar($request);
103         }
104 }
105 ?>