From 34a4d4e02cc56884fa4698bf2d7ea8bc6d23e2d9 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 29 May 2013 15:37:29 +0200 Subject: [PATCH] Fixing question list pagination with medias + categories --- main/exercice/exercise.class.php | 9 ++++----- main/exercice/exercise_reminder.php | 2 +- main/exercice/exercise_submit.php | 11 ++++------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/main/exercice/exercise.class.php b/main/exercice/exercise.class.php index 405b4f15ea..5997db8baf 100644 --- a/main/exercice/exercise.class.php +++ b/main/exercice/exercise.class.php @@ -4849,7 +4849,7 @@ class Exercise public function getQuestionList($expand_media_questions = false) { $questionList = $this->selectQuestionList(); - $questionList = $this->transform_question_list_with_medias($questionList, $expand_media_questions); + $questionList = $this->transformQuestionListWithMedias($questionList, $expand_media_questions); return $questionList; } @@ -4859,7 +4859,7 @@ class Exercise * @params bool expand or not question list (true show all questions, false show media question id instead of the question ids) * **/ - public function transform_question_list_with_medias($question_list, $expand_media_questions = false) + public function transformQuestionListWithMedias($question_list, $expand_media_questions = false) { $new_question_list = array(); if (!empty($question_list)) { @@ -5333,7 +5333,7 @@ class Exercise $counterNoMedias = 0; $nextValue = 0; $wasMedia = false; - $before = array(); + $before = 0; if (!empty($categories)) { @@ -5361,10 +5361,9 @@ class Exercise if (!empty($nextValue)) { if ($wasMedia) { - $nextValue = $nextValue - count($before) -1; + $nextValue = $nextValue - $before + 1; } } - $html .= Display::progressPaginationBar( $nextValue, $questionList, diff --git a/main/exercice/exercise_reminder.php b/main/exercice/exercise_reminder.php index 4bdedceb22..b896bce456 100644 --- a/main/exercice/exercise_reminder.php +++ b/main/exercice/exercise_reminder.php @@ -254,7 +254,7 @@ $exercise_actions = Display::url(get_lang('EndTest'), 'javascript://', array('on $questionList = explode(',', $exercise_stat_info['data_tracking']); -$questionListFlatten = $objExercise->transform_question_list_with_medias($questionList, true); +$questionListFlatten = $objExercise->transformQuestionListWithMedias($questionList, true); $mediaQuestions = $objExercise->getMediaList($questionList); $params = "exe_id=$exe_id&exerciseId=$exerciseId&origin=$origin&learnpath_id=$learnpath_id&learnpath_item_id=$learnpath_item_id&learnpath_item_view_id=$learnpath_item_view_id&".api_get_cidreq(); diff --git a/main/exercice/exercise_submit.php b/main/exercice/exercise_submit.php index fce7155cdc..87f707bc3d 100644 --- a/main/exercice/exercise_submit.php +++ b/main/exercice/exercise_submit.php @@ -352,7 +352,7 @@ if (!isset($_SESSION['objExercise']) || $_SESSION['objExercise']->id != $_REQUES } } -$objExercise = new Exercise(); $objExercise->read($exerciseId); +// $objExercise = new Exercise(); $objExercise->read($exerciseId); //2. Checking if $objExercise is set if (!isset($objExercise) && isset($_SESSION['objExercise'])) { @@ -455,8 +455,8 @@ if ($objExercise->selectAttempts() > 0) { // 5. Getting user exercise info (if the user took the exam before) - generating exe_id $exercise_stat_info = $objExercise->get_stat_track_exercise_info($learnpath_id, $learnpath_item_id, $learnpath_item_view_id); -if (1) { -//if (!isset($_SESSION['questionList'])) { +//if (1) { +if (!isset($_SESSION['questionList'])) { // Selects the list of question ID $questionList = $objExercise->getQuestionList(); @@ -475,10 +475,8 @@ if (1) { } } -// var_dump($questionList); //Fix in order to get the correct question list -$questionListFlatten = $objExercise->transform_question_list_with_medias($questionList, true); -// var_dump($questionListFlatten); +$questionListFlatten = $objExercise->transformQuestionListWithMedias($questionList, true); Session::write('question_list_flatten', $questionListFlatten); @@ -822,7 +820,6 @@ if (api_is_course_admin() && $origin != 'learnpath') { } echo ''; } -//var_dump($questionList);var_dump($questionListFlatten); if ($objExercise->type == ONE_PER_PAGE) { echo $objExercise->getProgressPagination( $exe_id,