From bcbbcd9d5c13fcb8a9fa9604d96136f4436a9bb9 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 22 May 2013 16:48:48 +0200 Subject: [PATCH] Fixing PHP warning + cleaning question_list_flatten session. --- main/exercice/exercise_result.php | 1 + main/exercice/testcategory.class.php | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/main/exercice/exercise_result.php b/main/exercice/exercise_result.php index a18ee8e6f6..b150e29dc7 100644 --- a/main/exercice/exercise_result.php +++ b/main/exercice/exercise_result.php @@ -163,6 +163,7 @@ if ($origin != 'learnpath') { Session::erase('objExercise'); Session::erase('exe_id'); Session::erase('categoryList'); + Session::erase('question_list_flatten'); } Display::display_footer(); diff --git a/main/exercice/testcategory.class.php b/main/exercice/testcategory.class.php index a241379e87..1a0f4b3770 100644 --- a/main/exercice/testcategory.class.php +++ b/main/exercice/testcategory.class.php @@ -525,11 +525,9 @@ class Testcategory $newMediaList[$questionId] = $mediaId; } } - foreach ($questionList as $question_id) { //var_dump($question_id); $categoryList = Testcategory::getCategoryForQuestion($question_id); - //var_dump($categoryList); foreach ($categoryList as $categoryId) { if (!isset($categoriesWithQuestion[$categoryId])) { @@ -546,6 +544,7 @@ class Testcategory $categoryEntity = $parentsLoaded[$cat['parent_id']]; } $path = $repo->getPath($categoryEntity); + if (isset($path) && isset($path[0])) { $categoryId = $path[0]->getIid(); $cat['id'] = $categoryId; @@ -558,12 +557,13 @@ class Testcategory $temp = isset($categoriesWithQuestion[$categoryId]) ? $categoriesWithQuestion[$categoryId]['question_list'] : array(); $categoriesWithQuestion[$categoryId] = $cat; $categoriesWithQuestion[$categoryId]['question_list'] = $temp; - $categoriesWithQuestion[$categoryId]['media_question'] = $newMediaList[$question_id]; + $categoriesWithQuestion[$categoryId]['media_question'] = isset($newMediaList[$question_id]) ? $newMediaList[$question_id] : 999; } else { $categoriesWithQuestion[$categoryId] = $cat; - $categoriesWithQuestion[$categoryId]['media_question'] = $newMediaList[$question_id]; + $categoriesWithQuestion[$categoryId]['media_question'] = isset($newMediaList[$question_id]) ? $newMediaList[$question_id] : 999; } } + $categoriesWithQuestion[$categoryId]['question_list'][] = (int)$question_id; } } @@ -727,7 +727,8 @@ class Testcategory /** * Return an array of X elements of an array */ - public static function getNElementsFromArray($array, $random_number) { + public static function getNElementsFromArray($array, $random_number) + { shuffle($array); if ($random_number < count($array)) { $array = array_slice($array, 0, $random_number);