public function fetchCountQuestions() { $m = new WpProQuiz_Model_QuizMapper(); return $m->countQuestion($this->_id); }
/** * @deprecated */ public static function ajaxLoadFormOverview($data, $func) { if (!current_user_can('wpProQuiz_show_statistics')) { return json_encode(array()); } $statisticRefMapper = new WpProQuiz_Model_StatisticRefMapper(); $quizMapper = new WpProQuiz_Model_QuizMapper(); $quizId = $data['quizId']; $page = isset($data['page']) && $data['page'] > 0 ? $data['page'] : 1; $limit = $data['pageLimit']; $start = $limit * ($page - 1); $statisticModel = $statisticRefMapper->fetchFormOverview($quizId, $start, $limit, $data['onlyUser']); $items = array(); $maxPoints = $quizMapper->sumQuestionPoints($quizId); $sumQuestion = $quizMapper->countQuestion($quizId); foreach ($statisticModel as $model) { /*@var $model WpProQuiz_Model_StatisticFormOverview */ if (!$model->getUserId()) { $model->setUserName(__('Anonymous', 'wp-pro-quiz')); } $sum = $model->getCorrectCount() + $model->getIncorrectCount(); $result = round(100 * $model->getPoints() / ($sum * $maxPoints / $sumQuestion), 2) . '%'; $items[] = array('userName' => $model->getUserName(), 'userId' => $model->getUserId(), 'testId' => $model->getStatisticRefId(), 'date' => WpProQuiz_Helper_Until::convertTime($model->getCreateTime(), get_option('wpProQuiz_statisticTimeFormat', 'Y/m/d g:i A')), 'result' => $result); } $d = array('items' => $items); if (isset($data['nav']) && $data['nav']) { $count = $statisticRefMapper->countFormOverview($quizId, $data['onlyUser']); $d['page'] = ceil(($count > 0 ? $count : 1) / $limit); } return json_encode($d); }