mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
Bug #6033 - missing string for unknown questiontype. Also tidied up some messy code. Merged from MOODLE_16_STABLE.
This commit is contained in:
parent
1367cb8d6b
commit
d7444d442f
@ -495,7 +495,7 @@ $string['usedcategorymoved'] = 'This category has been preserved and moved to th
|
||||
$string['validate'] = 'Validate';
|
||||
$string['viewallanswers'] = 'View $a quiz attempts';
|
||||
$string['viewallreports'] = 'View reports for $a attempts';
|
||||
$string['warningmissingtype'] = '<p><b>This question is of a type that has not been installed on your Moodle yet.<br />Please alert your Moodle administrator.</b></p>';
|
||||
$string['warningmissingtype'] = '<b>This question is of a type that has not been installed on your Moodle yet.<br />Please alert your Moodle administrator.</b>';
|
||||
$string['warningsdetected'] = '$a warning(s) detected';
|
||||
$string['wheregrade'] = 'Where\'s my grade?';
|
||||
$string['webct'] = 'WebCT format';
|
||||
|
@ -430,6 +430,7 @@ function question_delete_course($course, $feedback=true) {
|
||||
//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;
|
||||
@ -489,6 +490,7 @@ function question_delete_course($course, $feedback=true) {
|
||||
}
|
||||
//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);
|
||||
@ -497,44 +499,43 @@ function question_delete_course($course, $feedback=true) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @return bool Indicates success or failure.
|
||||
* @param mixed $questions Either an array of question objects to be updated
|
||||
* or just a single question object
|
||||
*/
|
||||
* 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) {
|
||||
global $QTYPES;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1210,6 +1211,7 @@ function question_get_id_from_name_prefix($name) {
|
||||
*/
|
||||
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');
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php // $Id$
|
||||
|
||||
if (!empty($options->answers)) {
|
||||
$answersraw = get_records_list("question_answers", "id", $options->answers);
|
||||
$answersraw = get_records_list('question_answers', 'id', $options->answers);
|
||||
|
||||
}
|
||||
|
||||
@ -13,10 +13,10 @@
|
||||
}
|
||||
|
||||
$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");
|
||||
|
||||
?>
|
||||
|
@ -38,6 +38,7 @@ class question_missingtype_qtype extends default_questiontype {
|
||||
$anss = array();
|
||||
if ($answers) {
|
||||
foreach ($answers as $answer) {
|
||||
$a = new stdClass;
|
||||
$a->text = format_text("$answer->answer", FORMAT_MOODLE, $formatoptions, $cmoptions->course);
|
||||
|
||||
$anss[] = clone($a);
|
||||
|
Loading…
x
Reference in New Issue
Block a user