diff --git a/main/admin/questions.php b/main/admin/questions.php index e28cb62d66..a965122752 100644 --- a/main/admin/questions.php +++ b/main/admin/questions.php @@ -3,6 +3,8 @@ /* For licensing terms, see /license.txt */ use Chamilo\CourseBundle\Entity\CQuizQuestion; +use Knp\Component\Pager\Paginator; +use Doctrine\Common\Collections\Criteria; /** * @package chamilo.admin @@ -38,7 +40,7 @@ if ($formSent) { $em = Database::getManager(); $repo = $em->getRepository('ChamiloCourseBundle:CQuizQuestion'); - $criteria = new \Doctrine\Common\Collections\Criteria(); + $criteria = new Criteria(); if (!empty($id)) { $criteria->where($criteria->expr()->eq('iid', $id)); } @@ -65,7 +67,7 @@ if ($formSent) { $questionCount = count($questions); - $paginator = new Knp\Component\Pager\Paginator(); + $paginator = new Paginator(); $pagination = $paginator->paginate($questions, $page, $length); $pagination->setItemNumberPerPage($length); $pagination->setCurrentPageNumber($page); diff --git a/main/exercise/admin.php b/main/exercise/admin.php index 1b4e349776..7b40776563 100755 --- a/main/exercise/admin.php +++ b/main/exercise/admin.php @@ -62,9 +62,7 @@ if (!$is_allowedToEdit) { api_not_allowed(true); } -if (empty($exerciseId)) { - $exerciseId = isset($_GET['exerciseId']) ? intval($_GET['exerciseId']) : '0'; -} +$exerciseId = isset($_GET['exerciseId']) ? (int) $_GET['exerciseId'] : '0'; /* stripslashes POST data */ if ($_SERVER['REQUEST_METHOD'] == 'POST') { @@ -81,11 +79,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') { } $newQuestion = isset($_GET['newQuestion']) ? $_GET['newQuestion'] : 0; - -if (empty($modifyAnswers)) { - $modifyAnswers = isset($_GET['modifyAnswers']) ? $_GET['modifyAnswers'] : 0; -} - +$modifyAnswers = isset($_GET['modifyAnswers']) ? $_GET['modifyAnswers'] : 0; $editQuestion = isset($_GET['editQuestion']) ? $_GET['editQuestion'] : 0; if (empty($modifyQuestion)) { @@ -169,7 +163,12 @@ if (!is_object($objExercise)) { // creation of a new exercise if wrong or not specified exercise ID if ($exerciseId) { - $objExercise->read($exerciseId, $showPagination > 0 ? false : true); + $parseQuestionList = $showPagination > 0 ? false : true; + if ($editQuestion) { + $parseQuestionList = false; + $showPagination = true; + } + $objExercise->read($exerciseId, $parseQuestionList); } // saves the object into the session Session::write('objExercise', $objExercise); @@ -285,21 +284,21 @@ if (api_is_in_gradebook()) { $interbreadcrumb[] = ['url' => 'exercise.php?'.api_get_cidreq(), 'name' => get_lang('Exercises')]; if (isset($_GET['newQuestion']) || isset($_GET['editQuestion'])) { $interbreadcrumb[] = [ - "url" => "admin.php?exerciseId=".$objExercise->id.'&'.api_get_cidreq(), - "name" => $objExercise->selectTitle(true), + 'url' => "admin.php?exerciseId=".$objExercise->id.'&'.api_get_cidreq(), + 'name' => $objExercise->selectTitle(true), ]; } else { $interbreadcrumb[] = [ - "url" => "#", - "name" => $objExercise->selectTitle(true), + 'url' => '#', + 'name' => $objExercise->selectTitle(true), ]; } // shows a link to go back to the question pool if (!$exerciseId && $nameTools != get_lang('ExerciseManagement')) { $interbreadcrumb[] = [ - "url" => api_get_path(WEB_CODE_PATH)."exercise/question_pool.php?fromExercise=$fromExercise&".api_get_cidreq(), - "name" => get_lang('QuestionPool'), + 'url' => api_get_path(WEB_CODE_PATH)."exercise/question_pool.php?fromExercise=$fromExercise&".api_get_cidreq(), + 'name' => get_lang('QuestionPool'), ]; } @@ -356,7 +355,7 @@ if ($inATest) { $maxScoreAllQuestions = 0; if ($showPagination === false) { $questionList = $objExercise->selectQuestionList(true, true); - if (!empty($questionList)) { + if (!empty($questionList)) { foreach ($questionList as $questionItemId) { $question = Question::read($questionItemId); if ($question) { @@ -370,7 +369,6 @@ if ($inATest) { if ($objExercise->added_in_lp()) { echo Display::return_message(get_lang('AddedToLPCannotBeAccessed'), 'warning'); } - if ($editQuestion && $objQuestion->existsInAnotherExercises()) { echo Display::return_message( Display::returnFontAwesomeIcon('exclamation-triangle"') @@ -416,7 +414,6 @@ if ($newQuestion || $editQuestion) { $objExercise->edit_exercise_in_lp = true; require 'question_admin.inc.php'; } - if ($editQuestion) { // Question preview if teacher clicked the "switch to student" if ($studentViewActive && $is_allowedToEdit) { diff --git a/main/exercise/answer.class.php b/main/exercise/answer.class.php index 55b1b1b8a6..bdd0e00f3e 100755 --- a/main/exercise/answer.class.php +++ b/main/exercise/answer.class.php @@ -80,7 +80,7 @@ class Answer // fills arrays $objExercise = new Exercise($this->course_id); $exerciseId = isset($_REQUEST['exerciseId']) ? $_REQUEST['exerciseId'] : null; - $objExercise->read($exerciseId); + $objExercise->read($exerciseId, false); } else { $objExercise = $exercise; }