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-2009 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: m_quizkCompleteWidgetContainer.php 1933 2009-05-28 10:54:45Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getCurrentWidgetContainerPath() . '/m_quizkBaseWidgetContainer.php');
17 require_once($gEnvManager->getCurrentWidgetDbPath() . '/quizkDb.php');
19 class m_quizkCompleteWidgetContainer extends m_quizkBaseWidgetContainer
21 private $db; // DB接続オブジェクト
22 private $setId; // 定義セットID
23 const CFG_DEFAULT_SET_ID_KEY = 'current_set_id'; // 現在の選択中のセットID取得用キー
28 function __construct()
31 parent::__construct();
34 $this->db = new quizkDb();
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 'complete.tmpl.html';
53 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
55 * @param RequestManager $request HTTPリクエスト処理クラス
56 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
59 function _assign($request, &$param)
61 $this->setId = $this->db->getConfig(self::CFG_DEFAULT_SET_ID_KEY); // パターンセットID
62 $ret = $this->db->getAnswerResult($this->setId, $this->mobileId, $rows);
64 $totalCount = count($rows);
66 for ($i = 0; $i < $totalCount; $i++){
67 if ($rows[$i]['qp_result']) $rightCount++;
69 $resutlStr = $totalCount . '問中 ' . $rightCount . '問正解';
70 $resutlRatioStr = '正解率 0%';
71 if ($totalCount > 0) $resutlRatioStr = '正解率 ' . sprintf("%01.1f", round($rightCount / $totalCount * 100, 1)) . '%';
72 $this->tmpl->addVar('_widget', 'result', $resutlStr);
73 $this->tmpl->addVar('_widget', 'result_ratio', $resutlRatioStr);
75 $this->tmpl->addVar('_widget', 'top_url', $this->gEnv->createCurrentPageUrlForMobile(''));