public function showAction($id)
 {
     $view = new WpProQuiz_View_FrontQuiz();
     $quizMapper = new WpProQuiz_Model_QuizMapper();
     $questionMapper = new WpProQuiz_Model_QuestionMapper();
     $categoryMapper = new WpProQuiz_Model_CategoryMapper();
     $formMapper = new WpProQuiz_Model_FormMapper();
     $quiz = $quizMapper->fetch($id);
     if ($quiz->isShowMaxQuestion() && $quiz->getShowMaxQuestionValue() > 0) {
         $value = $quiz->getShowMaxQuestionValue();
         if ($quiz->isShowMaxQuestionPercent()) {
             $count = $questionMapper->count($id);
             $value = ceil($count * $value / 100);
         }
         $question = $questionMapper->fetchAll($id, true, $value);
     } else {
         $question = $questionMapper->fetchAll($id);
     }
     $view->quiz = $quiz;
     $view->question = $question;
     $view->category = $categoryMapper->fetchByQuiz($quiz->getId());
     $view->forms = $formMapper->fetch($quiz->getId());
     $view->show(true);
 }
 private function getPostQuestionModel($quizId, $questionId)
 {
     $questionMapper = new WpProQuiz_Model_QuestionMapper();
     $post = WpProQuiz_Controller_Request::getPost();
     $post['id'] = $questionId;
     $post['quizId'] = $quizId;
     $post['title'] = isset($post['title']) ? trim($post['title']) : '';
     $clearPost = $this->clearPost($post);
     $post['answerData'] = $clearPost['answerData'];
     if (empty($post['title'])) {
         $count = $questionMapper->count($quizId);
         $post['title'] = sprintf(__('Question: %d', 'wp-pro-quiz'), $count + 1);
     }
     if ($post['answerType'] === 'assessment_answer') {
         $post['answerPointsActivated'] = 1;
     }
     if (isset($post['answerPointsActivated'])) {
         if (isset($post['answerPointsDiffModusActivated'])) {
             $post['points'] = $clearPost['maxPoints'];
         } else {
             $post['points'] = $clearPost['points'];
         }
     }
     $post['categoryId'] = $post['category'] > 0 ? $post['category'] : 0;
     return new WpProQuiz_Model_Question($post);
 }
 public static function ajaxQuizLoadData($data)
 {
     $id = $data['quizId'];
     $view = new WpProQuiz_View_FrontQuiz();
     $quizMapper = new WpProQuiz_Model_QuizMapper();
     $questionMapper = new WpProQuiz_Model_QuestionMapper();
     $categoryMapper = new WpProQuiz_Model_CategoryMapper();
     $formMapper = new WpProQuiz_Model_FormMapper();
     $quiz = $quizMapper->fetch($id);
     if ($quiz->isShowMaxQuestion() && $quiz->getShowMaxQuestionValue() > 0) {
         $value = $quiz->getShowMaxQuestionValue();
         if ($quiz->isShowMaxQuestionPercent()) {
             $count = $questionMapper->count($id);
             $value = ceil($count * $value / 100);
         }
         $question = $questionMapper->fetchAll($id, true, $value);
     } else {
         $question = $questionMapper->fetchAll($id);
     }
     if (empty($quiz) || empty($question)) {
         return null;
     }
     $view->quiz = $quiz;
     $view->question = $question;
     $view->category = $categoryMapper->fetchByQuiz($quiz->getId());
     $view->forms = $formMapper->fetch($quiz->getId());
     return json_encode($view->getQuizData());
 }