//It's being used. Cannot delete it, so:
//Create a container category in SITEID course if it doesn't exist
if (!$concatid) {
+ $concat = new stdClass;
$concat->course = SITEID;
if (!isset($course->shortname)) {
$course->shortname = 'id=' . $course->id;
}
//Inform about changes performed if feedback is enabled
if ($feedback) {
+ $table = new stdClass;
$table->head = array(get_string('category','quiz'), get_string('action'));
$table->data = $feedbackdata;
print_table($table);
return true;
}
-
/**
-* Updates the question objects with question type specific
-* information by calling {@link get_question_options()}
-*
-* Can be called either with an array of question objects or with a single
-* question object.
-* @return bool Indicates success or failure.
-* @param mixed $questions Either an array of question objects to be updated
-* or just a single question object
-*/
-function get_question_options(&$questions) {
+ * Private function to factor common code out of get_question_options().
+ *
+ * @param object $question the question to tidy.
+ * @return boolean true if successful, else false.
+ */
+function _tidy_question(&$question) {
global $QTYPES;
+ if (!array_key_exists($question->qtype, $QTYPES)) {
+ $question->qtype = 'missingtype';
+ $question->questiontext = '<p>' . get_string('warningmissingtype', 'quiz') . '</p>' . $question->questiontext;
+ }
+ $question->name_prefix = question_make_name_prefix($question->id);
+ return $QTYPES[$question->qtype]->get_question_options($question);
+}
+/**
+ * Updates the question objects with question type specific
+ * information by calling {@link get_question_options()}
+ *
+ * Can be called either with an array of question objects or with a single
+ * question object.
+ *
+ * @param mixed $questions Either an array of question objects to be updated
+ * or just a single question object
+ * @return bool Indicates success or failure.
+ */
+function get_question_options(&$questions) {
if (is_array($questions)) { // deal with an array of questions
- // get the keys of the input array
- $keys = array_keys($questions);
- // update each question object
- foreach ($keys as $i) {
- if (!array_key_exists($questions[$i]->qtype, $QTYPES)) {
- $questions[$i]->qtype = 'missingtype';
- $questions[$i]->questiontext = get_string('warningmissingtype', 'quiz').$questions[$i]->questiontext;
- }
-
- // set name prefix
- $questions[$i]->name_prefix = question_make_name_prefix($i);
-
- if (!$QTYPES[$questions[$i]->qtype]->get_question_options($questions[$i]))
+ foreach ($questions as $i => $notused) {
+ if (!_tidy_question($questions[$i])) {
return false;
+ }
}
return true;
} else { // deal with single question
- if (!array_key_exists($questions->qtype, $QTYPES)) {
- $questions->qtype = 'missingtype';
- $questions[$i]->questiontext = get_string('warningmissingtype', 'quiz').$questions[$i]->questiontext;
- }
- $questions->name_prefix = question_make_name_prefix($questions->id);
- return $QTYPES[$questions->qtype]->get_question_options($questions);
+ return _tidy_question($questions);
}
}
*/
function question_new_attempt_uniqueid($modulename='quiz') {
global $CFG;
+ $attempt = new stdClass;
$attempt->modulename = $modulename;
if (!$id = insert_record('question_attempts', $attempt)) {
error('Could not create new entry in question_attempts table');
<?php // $Id$
if (!empty($options->answers)) {
- $answersraw = get_records_list("question_answers", "id", $options->answers);
+ $answersraw = get_records_list('question_answers', 'id', $options->answers);
}
}
$yesnooptions = array();
- $yesnooptions[0] = get_string("no");
- $yesnooptions[1] = get_string("yes");
+ $yesnooptions[0] = get_string('no');
+ $yesnooptions[1] = get_string('yes');
- print_heading_with_help(get_string("editingmissingtype", "quiz"), "multichoice", "quiz");
+ print_heading(get_string('warningmissingtype', 'quiz'));
require("$CFG->dirroot/question/type/missingtype/editquestion.html");
?>