addFeedback('CANCELLED'); if ($_POST['tid']) { header('Location: questions.php?tid='.$_POST['tid'].'&_course_id='.$_course_id); } else { header('Location: question_db.php?_course_id='.$_course_id); } exit; } else if (isset($_POST['submit'])) { $_POST['feedback'] = trim($_POST['feedback']); $_POST['question'] = trim($_POST['question']); $_POST['tid'] = intval($_POST['tid']); $_POST['qid'] = intval($_POST['qid']); $_POST['weight'] = intval($_POST['weight']); if ($_POST['question'] == ''){ $msg->addError(array('EMPTY_FIELDS', _AT('question'))); } if (!$msg->containsErrors()) { $choice_new = array(); // stores the non-blank choices $answer_new = array(); // stores the associated "answer" for the choices for ($i=0; $i<10; $i++) { $_POST['choice'][$i] = $addslashes(trim($_POST['choice'][$i])); /** * Db defined it to be 255 length, chop strings off it it's less than that * @harris */ $_POST['choice'][$i] = Utility::validateLength($_POST['choice'][$i], 255); $_POST['answer'][$i] = intval($_POST['answer'][$i]); if ($_POST['choice'][$i] == '') { /* an empty option can't be correct */ $_POST['answer'][$i] = 0; } else { /* filter out empty choices/ remove gaps */ $choice_new[] = $_POST['choice'][$i]; $answer_new[] = $_POST['answer'][$i]; } } $_POST['answer'] = $answer_new; $_POST['choice'] = $choice_new; $_POST['answer'] = array_pad($_POST['answer'], 10, 0); $_POST['choice'] = array_pad($_POST['choice'], 10, ''); $_POST['feedback'] = $addslashes($_POST['feedback']); $_POST['question'] = $addslashes($_POST['question']); $sql = "UPDATE ".TABLE_PREFIX."tests_questions SET category_id=$_POST[category_id], feedback='$_POST[feedback]', question='$_POST[question]', choice_0='{$_POST[choice][0]}', choice_1='{$_POST[choice][1]}', choice_2='{$_POST[choice][2]}', choice_3='{$_POST[choice][3]}', choice_4='{$_POST[choice][4]}', choice_5='{$_POST[choice][5]}', choice_6='{$_POST[choice][6]}', choice_7='{$_POST[choice][7]}', choice_8='{$_POST[choice][8]}', choice_9='{$_POST[choice][9]}', answer_0={$_POST[answer][0]}, answer_1={$_POST[answer][1]}, answer_2={$_POST[answer][2]}, answer_3={$_POST[answer][3]}, answer_4={$_POST[answer][4]}, answer_5={$_POST[answer][5]}, answer_6={$_POST[answer][6]}, answer_7={$_POST[answer][7]}, answer_8={$_POST[answer][8]}, answer_9={$_POST[answer][9]} WHERE question_id=$_POST[qid]"; if ($testsQuestionsDAO->execute($sql)) { $msg->addFeedback('QUESTION_UPDATED'); if ($_POST['tid']) { header('Location: questions.php?tid='.$_POST['tid'].'&_course_id='.$_course_id); } else { header('Location: question_db.php?_course_id='.$_course_id); } exit; } else { $msg->addError('DB_NOT_UPDATED'); } } } if (!isset($_POST['submit'])) { if (!($row = $testsQuestionsDAO->get($qid))){ require_once(TR_INCLUDE_PATH.'header.inc.php'); $msg->printErrors('ITEM_NOT_FOUND'); require (TR_INCLUDE_PATH.'footer.inc.php'); exit; } $_POST['category_id'] = $row['category_id']; $_POST['feedback'] = $row['feedback']; $_POST['weight'] = $row['weight']; $_POST['question'] = $row['question']; for ($i=0; $i<10; $i++) { $_POST['choice'][$i] = $row['choice_'.$i]; $_POST['answer'][$i] = $row['answer_'.$i]; } } $onload = 'document.form.category_id.focus();'; require_once(TR_INCLUDE_PATH.'header.inc.php'); $savant->assign('qid', $qid); $savant->assign('tid', $_REQUEST['tid']); $savant->assign('course_id', $_course_id); $savant->display('tests/create_edit_question_multianswer.tmpl.php'); require (TR_INCLUDE_PATH.'footer.inc.php'); ?>