2 /************************************************************************/
4 /************************************************************************/
5 /* Copyright (c) 2010 */
6 /* Inclusive Design Institute */
8 /* This program is free software. You can redistribute it and/or */
9 /* modify it under the terms of the GNU General Public License */
10 /* as published by the Free Software Foundation. */
11 /************************************************************************/
13 define('TR_INCLUDE_PATH', '../include/');
14 require_once(TR_INCLUDE_PATH.'vitals.inc.php');
15 require_once(TR_INCLUDE_PATH.'../tests/lib/likert_presets.inc.php');
16 require_once(TR_INCLUDE_PATH.'classes/DAO/TestsQuestionsDAO.class.php');
17 require_once(TR_INCLUDE_PATH.'classes/Utility.class.php');
21 Utility::authenticate(TR_PRIV_ISAUTHOR_OF_CURRENT_COURSE);
22 $testsQuestionsDAO = new TestsQuestionsDAO();
24 $qid = intval($_GET['qid']);
26 $qid = intval($_POST['qid']);
29 if (isset($_POST['cancel'])) {
30 $msg->addFeedback('CANCELLED');
32 header('Location: questions.php?tid='.$_POST['tid'].'&_course_id='.$_course_id);
34 header('Location: question_db.php?_course_id='.$_course_id);
37 } else if (isset($_POST['submit'])) {
38 $_POST['question'] = trim($_POST['question']);
39 $_POST['category_id'] = intval($_POST['category_id']);
40 $_POST['alignment'] = intval($_POST['alignment']);
42 $empty_fields = array();
43 if ($_POST['question'] == ''){
44 $empty_fields[] = _AT('question');
46 if ($_POST['choice'][0] == '') {
47 $empty_fields[] = _AT('choice').' 1';
50 if ($_POST['choice'][1] == '') {
51 $empty_fields[] = _AT('choice').' 2';
54 if (!empty($empty_fields)) {
55 $msg->addError(array('EMPTY_FIELDS', implode(', ', $empty_fields)));
58 if (!$msg->containsErrors()) {
59 $_POST['question'] = $addslashes($_POST['question']);
61 for ($i=0; $i<10; $i++) {
62 $_POST['choice'][$i] = $addslashes(trim($_POST['choice'][$i]));
63 $_POST['answer'][$i] = intval($_POST['answer'][$i]);
65 if ($_POST['choice'][$i] == '') {
66 /* an empty option can't be correct */
67 $_POST['answer'][$i] = 0;
70 $sql = "UPDATE ".TABLE_PREFIX."tests_questions SET
71 category_id=$_POST[category_id],
73 question='$_POST[question]',
74 choice_0='{$_POST[choice][0]}',
75 choice_1='{$_POST[choice][1]}',
76 choice_2='{$_POST[choice][2]}',
77 choice_3='{$_POST[choice][3]}',
78 choice_4='{$_POST[choice][4]}',
79 choice_5='{$_POST[choice][5]}',
80 choice_6='{$_POST[choice][6]}',
81 choice_7='{$_POST[choice][7]}',
82 choice_8='{$_POST[choice][8]}',
83 choice_9='{$_POST[choice][9]}',
84 answer_0={$_POST[answer][0]},
85 answer_1={$_POST[answer][1]},
86 answer_2={$_POST[answer][2]},
87 answer_3={$_POST[answer][3]},
88 answer_4={$_POST[answer][4]},
89 answer_5={$_POST[answer][5]},
90 answer_6={$_POST[answer][6]},
91 answer_7={$_POST[answer][7]},
92 answer_8={$_POST[answer][8]},
93 answer_9={$_POST[answer][9]}
94 WHERE question_id=$_POST[qid]";
95 $testsQuestionsDAO->execute($sql);
97 $msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');
99 header('Location: questions.php?tid='.$_POST['tid'].'&_course_id='.$_course_id);
101 header('Location: question_db.php?_course_id='.$_course_id);
105 } else if (isset($_POST['preset'])) {
107 $_POST['preset_num'] = intval($_POST['preset_num']);
109 if (isset($_likert_preset[$_POST['preset_num']])) {
110 $_POST['choice'] = $_likert_preset[$_POST['preset_num']];
111 } else if ($_POST['preset_num']) {
112 if ($row = $testsQuestionsDAO->get($_POST['preset_num'])){
113 for ($i=0; $i<10; $i++) {
114 $_POST['choice'][$i] = $row['choice_' . $i];
119 if (!($row = $testsQuestionsDAO->get($qid))){
120 require_once(TR_INCLUDE_PATH.'header.inc.php');
121 $msg->printErrors('ITEM_NOT_FOUND');
122 require (TR_INCLUDE_PATH.'footer.inc.php');
126 $_POST['question'] = $row['question'];
127 $_POST['category_id'] = $row['category_id'];
129 for ($i=0; $i<10; $i++) {
130 $_POST['choice'][$i] = $row['choice_'.$i];
135 $onload = 'document.form.category_id.focus();';
137 require_once(TR_INCLUDE_PATH.'header.inc.php');
139 $savant->assign('qid', $qid);
140 $savant->assign('tid', $_REQUEST['tid']);
141 $savant->assign('likert_preset', $_likert_preset);
142 $savant->assign('testsQuestionsDAO', $testsQuestionsDAO);
143 $savant->assign('course_id', $_course_id);
144 $savant->display('tests/create_edit_question_likert.tmpl.php');
146 require (TR_INCLUDE_PATH.'footer.inc.php'); ?>