7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
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
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseAdminWidgetContainer.php');
18 class admin_qrcodeWidgetContainer extends BaseAdminWidgetContainer
23 function __construct()
26 parent::__construct();
31 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
32 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
34 * @param RequestManager $request HTTPリクエスト処理クラス
35 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
36 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
38 function _setTemplate($request, &$param)
40 return 'admin.tmpl.html';
45 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
47 * @param RequestManager $request HTTPリクエスト処理クラス
48 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
51 function _assign($request, &$param)
53 $act = $request->trimValueOf('act');
54 if ($act == 'update'){ // 設定更新のとき
55 $qrData = $request->trimValueOf('qr_data'); // QRコード化するデータ
56 $desc = $request->trimValueOf('desc'); // 説明
59 if ($this->getMsgCount() == 0){ // エラーのないとき
60 $paramObj = new stdClass;
61 $paramObj->qrData = $qrData; // QRコード化するデータ
62 $paramObj->desc = $desc; // 説明
63 $ret = $this->updateWidgetParamObj($paramObj);
65 $this->setMsg(self::MSG_GUIDANCE, 'データを更新しました');
67 $this->setMsg(self::MSG_APP_ERR, 'データ更新に失敗しました');
69 $this->gPage->updateParentWindow();// 親ウィンドウを更新
73 $qrData = $this->gEnv->getDefaultMobileUrl(); // QRコード化するデータ、デフォルト値は携帯サイトURL
75 $paramObj = $this->getWidgetParamObj();
76 if (!empty($paramObj)){
77 $qrData = $paramObj->qrData; // QRコード化するデータ
78 $desc = $paramObj->desc; // 説明
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
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
93 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
95 * @param RequestManager $request HTTPリクエスト処理クラス
96 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
99 function _postAssign($request, &$param)
101 // メニューバー、パンくずリスト作成(簡易版)
102 $this->createBasicConfigMenubar($request);