tpl_mainpage = $this->arrPluginInfo['fullpath'] . 'tpl/admin/index.tpl'; $this->tpl_mainno = 'plugin'; $this->tpl_subno = $this->arrPluginInfo['path']; $this->tpl_subtitle = "プラグイン「{$this->arrPluginInfo['name']}」の設定"; if (empty($_POST["mode"])) { $_POST["mode"] = ""; } if (empty($_GET["mode"])) { $_GET["mode"] = ""; } } /** * Page のプロセス. * * POST パラメータ "mode" が register の場合は登録処理を行う. * 登録処理の後, 自ページをリロードし, GET パラメータ "mode" を付与する. * 登録に成功し, GET パラメータ "mode" の値が success の場合は * 「登録に成功しました」というメッセージをポップアップで表示する. * 登録に失敗し, GET パラメータ "mode" の値が failure の場合は * 「登録に失敗しました」というメッセージをポップアップで表示する. * * TODO Transaction Token を使用する * * @return void */ function process() { // 認証可否の判定 SC_Utils_Ex::sfIsSuccess(new SC_Session()); switch ($_POST["mode"]) { case "register": if ($this->register($_POST['ga_ua'])) { SC_Response_Ex::reload(array("mode" => "success"), true); exit; } else { SC_Response_Ex::reload(array("mode" => "failure"), true); exit; } break; default: } switch ($_GET["mode"]) { case "success": $this->tpl_onload .= "window.alert('登録に成功しました。');"; break; case "failure": $this->tpl_onload .= "window.alert('登録に失敗しました。');"; break; default: } $objView = new SC_AdminView(); $objView->assignobj($this); $objView->display(MAIN_FRAME); } /** * UA の登録を行う. * * classes/pages/ga_config.php を読み込み, ウェブプロパティID の文字列 * を定数として書き出す. * * @param string ウェブプロパティID の文字列 * @return boolean 登録に成功した場合 true; 失敗した場合 false; */ function register($ua) { $data = "\n"; $configFile = $this->arrPluginInfo['fullpath'] . "classes/pages/ga_config.php"; $handle = fopen($configFile, "w"); if (!$handle) { return false; } // ファイルの内容を書き出す. if (fwrite($handle, $data) === false) { return false; } return true; } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?>