"exercice.php","name" => get_lang('Exercices')); // Tool name $nameTools=get_lang('AddQuestionToExercise'); // The form $form = new FormValidator('add_question','post',api_get_self().'?'.api_get_cidreq()); // form title $form->addElement('header','',get_lang('AddQuestionToExercise')); // the question types (normal form element) /* foreach (Question::$questionTypes as $key=>$value) { $question_types[] = get_lang($value[1]); } $form->addElement('select', 'question_type', get_lang('QuestionType'), $question_types); */ // the question types (jquery form element) $form->addElement('hidden', 'question_type_hidden', get_lang('QuestionType'), array('id'=>'question_type_hidden')); $form->addElement('static','',' '); $form->addElement('static','select_question_type', get_lang('QuestionType'),'
'); //session id $session_id = api_get_session_id(); // the exercices $tbl_exercices = Database :: get_course_table(TABLE_QUIZ_TEST); $sql = "SELECT id,title,type,description, results_disabled FROM $tbl_exercices WHERE active<>'-1' AND session_id=".$session_id." ORDER BY title ASC"; $result = Database::query($sql); $exercises['-'] = '-'.get_lang('SelectExercice').'-'; while ($row = Database :: fetch_array($result)) { $exercises[$row['id']] = $row['title']; } $form->addElement('select', 'exercice', get_lang('Exercice'), $exercises); // generate default content $form->addElement('checkbox', 'is_content', get_lang('DefaultContent'), null, array('checked' => true)); // the submit button $form->addElement('style_submit_button', 'SubmitCreateQuestion', get_lang('CreateQuestion'), 'class="add"'); // setting the rules // $form->addRule('question_type', '
'.get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('exercice', ''.get_lang('ThisFieldIsRequired').'', 'required'); $form->addRule('exercice', ''.get_lang('YouHaveToSelectATest').'', 'numeric'); $form->registerRule('validquestiontype', 'callback', 'check_question_type'); $form->addRule('question_type_hidden', get_lang('InvalidQuestionType'), 'validquestiontype'); if ($form->validate()) { $values = $form->exportValues(); foreach (Question::$questionTypes as $question_type_id => $question_type_class_and_name) { if (get_lang($question_type_class_and_name[1]) == $values['question_type_hidden']) { $answer_type = $question_type_id; } } // check feedback_type from current exercise for type of question delineation $exercise_id = intval($values['exercice']); $sql = "SELECT feedback_type FROM $tbl_exercices WHERE id = '$exercise_id'"; $rs_feedback_type = Database::query($sql,__FILE__,__LINE__); $row_feedback_type = Database::fetch_row($rs_feedback_type); $feedback_type = $row_feedback_type[0]; // if question type does not belong to self-evaluation (immediate feedback) it'll send an error if (($answer_type == HOT_SPOT_DELINEATION && $feedback_type != 1) || ($feedback_type == 1 && ($answer_type != HOT_SPOT_DELINEATION && $answer_type != UNIQUE_ANSWER))) { header('Location: question_create.php?'.api_get_cidreq().'&error=true'); exit; } header('Location: admin.php?exerciseId='.$values['exercice'].'&newQuestion=yes&isContent='.$values['is_content'].'&answerType='.$answer_type); exit; } else { // header Display::display_header($nameTools); echo '
'; echo ''.Display :: return_icon('back.png', get_lang('BackToExercisesList'),'','32').''; echo '
'; // displaying the form $form->display(); // footer Display::display_footer(); } ?> $value) { $valid_question_types[] = get_lang($value[1]); //$valid_question_types[] = trim($value[1]); } if (in_array($parameter, $valid_question_types)) { return true; } else { return false; } }