id.'&page='.$page; } else { $objQuestion = Question::getInstance($_REQUEST['answerType']); $action = api_get_self().'?'.api_get_cidreq().'&modifyQuestion='.$modifyQuestion.'&newQuestion='.$newQuestion; } if (is_object($objQuestion)) { // FORM CREATION $form = new FormValidator('question_admin_form', 'post', $action); if (isset($_GET['editQuestion'])) { $class = 'btn btn-default'; $text = get_lang('Save the question'); $type = isset($_GET['type']) ? Security::remove_XSS($_GET['type']) : null; } else { $class = 'btn btn-default'; $text = get_lang('Add this question to the test'); $type = $_REQUEST['answerType']; } $typesInformation = Question::getQuestionTypeList(); $form_title_extra = isset($typesInformation[$type][1]) ? get_lang($typesInformation[$type][1]) : null; $code = ''; if (isset($objQuestion->code) && !empty($objQuestion->code)) { $code = ' ('.$objQuestion->code.')'; } // form title $form->addHeader($text.': '.$form_title_extra.$code); // question form elements $objQuestion->createForm($form, $objExercise); // answer form elements $objQuestion->createAnswersForm($form); // this variable $show_quiz_edition comes from admin.php blocks the exercise/quiz modifications if (!empty($objExercise->id) && $objExercise->edit_exercise_in_lp == false) { $form->freeze(); } // FORM VALIDATION if (isset($_POST['submitQuestion']) && $form->validate()) { // Question $objQuestion->processCreation($form, $objExercise); $objQuestion->processAnswersCreation($form, $objExercise); // TODO: maybe here is the better place to index this tool, including answers text // redirect if ($objQuestion->type != HOT_SPOT && $objQuestion->type != HOT_SPOT_DELINEATION ) { if (isset($_GET['editQuestion'])) { if (empty($exerciseId)) { Display::addFlash(Display::return_message(get_lang('Item updated'))); $url = 'admin.php?exerciseId='.$exerciseId.'&'.api_get_cidreq().'&editQuestion='.$objQuestion->id; echo ''; exit; } echo ''; } else { // New question $page = 1; $length = api_get_configuration_value('question_pagination_length'); if (!empty($length)) { $page = round($objExercise->getQuestionCount() / $length); } echo ''; } } else { echo ''; } } else { if (isset($questionName)) { echo '

'.$questionName.'

'; } if (!empty($pictureName)) { echo ''; } if (!empty($msgErr)) { echo Display::return_message($msgErr); } // display the form $form->display(); } }