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-2008 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: reserve_mainLoginWidgetContainer.php 2363 2009-09-26 14:45:44Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
18 class reserve_mainLoginWidgetContainer extends BaseWidgetContainer
20 private $db; // DB接続オブジェクト
21 private $sysDb; // システムDBオブジェクト
26 function __construct()
28 global $gInstanceManager;
31 parent::__construct();
34 $this->sysDb = $gInstanceManager->getSytemDbObject();
39 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
40 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
42 * @param RequestManager $request HTTPリクエスト処理クラス
43 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
44 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
46 function _setTemplate($request, &$param)
48 return 'login.tmpl.html';
53 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
55 * @param RequestManager $request HTTPリクエスト処理クラス
56 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
59 function _assign($request, &$param)
62 global $gAccessManager;
64 global $gInstanceManager;
66 $act = $request->trimValueOf('act');
67 if ($act == 'reserve_login'){ // 会員ログインのとき
69 $account = $request->trimValueOf('reserve_account');
70 $password = $request->trimValueOf('password');
73 if ($gAccessManager->userLoginByAccount($account, $password)){ // ログイン成功
75 $gPageManager->redirect($gEnvManager->createCurrentPageUrl());
79 $gAccessManager->userLogout();
81 $this->tmpl->setAttribute('login_status', 'visibility', 'visible'); // ログイン状況
82 $this->tmpl->addVar("login_status", "message", 'ログインに失敗しました');
84 } else if ($act == 'reserve_logout'){ // 会員ログアウトのとき
85 $gAccessManager->userLogout();
88 $gPageManager->redirect($gEnvManager->createCurrentPageUrl());
92 $userName = $gEnvManager->getCurrentUserName();
93 if (empty($userName)){ // ユーザがログインしていないとき
95 $this->tmpl->setAttribute('login_field', 'visibility', 'visible');
96 $this->tmpl->setAttribute('login_button', 'visibility', 'visible');
97 $this->tmpl->setAttribute('regmember_button', 'visibility', 'visible'); // 会員登録ボタン
98 } else { // ユーザがログイン中のとき
99 $this->tmpl->addVar("login_status", "user_name", 'ログイン ' . $userName . ' 様');
102 $this->tmpl->setAttribute('login_status', 'visibility', 'visible'); // ログイン状況
103 $this->tmpl->setAttribute('logout_button', 'visibility', 'visible');
104 $this->tmpl->setAttribute('member_button', 'visibility', 'visible');
108 $this->tmpl->addVar("_widget", "default_menu_param", $this->gDesign->getDefaultWidgetTableParam());
111 $this->tmpl->addVar("_widget", "script_url", $gEnvManager->getScriptsUrl());
113 $this->tmpl->addVar("regmember_button", "sendpwd_url", $gEnvManager->createCurrentPageUrl() . '&task=sendpwd'); // パスワー送信用URL