mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-36243 question->questiontext and question->generalfeedback should always be strings
This commit is contained in:
parent
4bd6f71bad
commit
7980a381cc
7 changed files with 32 additions and 91 deletions
|
@ -148,16 +148,4 @@ class qformat_blackboard_six_base extends qformat_based_on_xml {
|
|||
public function cleaned_text_field($text) {
|
||||
return $this->text_field($this->cleaninput($text));
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the question text to plain text.
|
||||
* We need to overwrite this function because questiontext is an array.
|
||||
*/
|
||||
protected function format_question_text($question) {
|
||||
global $DB;
|
||||
$formatoptions = new stdClass();
|
||||
$formatoptions->noclean = true;
|
||||
return html_to_text(format_text($question->questiontext['text'],
|
||||
$question->questiontext['format'], $formatoptions), 0, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,12 +88,16 @@ class qformat_blackboard_six_pool extends qformat_blackboard_six_base {
|
|||
array('#', 'BODY', 0, '#', 'TEXT', 0, '#'),
|
||||
'', true, get_string('importnotext', 'qformat_blackboard_six'));
|
||||
|
||||
$question->questiontext = $this->cleaned_text_field($text);
|
||||
$question->questiontextformat = FORMAT_HTML; // Needed because add_blank_combined_feedback uses it.
|
||||
$questiontext = $this->cleaned_text_field($text);
|
||||
$question->questiontext = $questiontext['text'];
|
||||
$question->questiontextformat = $questiontext['format']; // Needed because add_blank_combined_feedback uses it.
|
||||
if (isset($questiontext['itemid'])) {
|
||||
$question->questiontextitemid = $questiontext['itemid'];
|
||||
}
|
||||
|
||||
// Put name in question object. We must ensure it is not empty and it is less than 250 chars.
|
||||
$id = $this->getpath($questiondata, array('@', 'id'), '', true);
|
||||
$question->name = $this->create_default_question_name($question->questiontext['text'],
|
||||
$question->name = $this->create_default_question_name($question->questiontext,
|
||||
get_string('defaultname', 'qformat_blackboard_six' , $id));
|
||||
|
||||
$question->generalfeedback = '';
|
||||
|
@ -453,7 +457,7 @@ class qformat_blackboard_six_pool extends qformat_blackboard_six_base {
|
|||
$subanswercount++;
|
||||
}
|
||||
if ($subquestioncount < 2 || $subanswercount < 3) {
|
||||
$this->error(get_string('notenoughtsubans', 'qformat_blackboard_six', $question->questiontext['text']));
|
||||
$this->error(get_string('notenoughtsubans', 'qformat_blackboard_six', $question->questiontext));
|
||||
} else {
|
||||
$questions[] = $question;
|
||||
}
|
||||
|
|
|
@ -506,11 +506,13 @@ class qformat_blackboard_six_qti extends qformat_blackboard_six_base {
|
|||
public function process_common($quest) {
|
||||
$question = $this->defaultquestion();
|
||||
$text = $quest->QUESTION_BLOCK->text;
|
||||
|
||||
$question->questiontext = $this->cleaned_text_field($text);
|
||||
$question->questiontextformat = FORMAT_HTML; // Needed because add_blank_combined_feedback uses it.
|
||||
|
||||
$question->name = $this->create_default_question_name($question->questiontext['text'],
|
||||
$questiontext = $this->cleaned_text_field($text);
|
||||
$question->questiontext = $questiontext['text'];
|
||||
$question->questiontextformat = $questiontext['format']; // Needed because add_blank_combined_feedback uses it.
|
||||
if (isset($questiontext['itemid'])) {
|
||||
$question->questiontextitemid = $questiontext['itemid'];
|
||||
}
|
||||
$question->name = $this->create_default_question_name($question->questiontext,
|
||||
get_string('defaultname', 'qformat_blackboard_six' , $quest->id));
|
||||
$question->generalfeedback = '';
|
||||
$question->generalfeedbackformat = FORMAT_HTML;
|
||||
|
@ -863,7 +865,7 @@ class qformat_blackboard_six_qti extends qformat_blackboard_six_base {
|
|||
$subanswercount++;
|
||||
}
|
||||
if ($subquestioncount < 2 || $subanswercount < 3) {
|
||||
$this->error(get_string('notenoughtsubans', 'qformat_blackboard_six', $question->questiontext['text']));
|
||||
$this->error(get_string('notenoughtsubans', 'qformat_blackboard_six', $question->questiontext));
|
||||
} else {
|
||||
$questions[] = $question;
|
||||
}
|
||||
|
|
|
@ -58,10 +58,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'match';
|
||||
$expectedq->name = 'Classify the animals.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<i>Classify the animals.</i>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<i>Classify the animals.</i>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array('text' => '',
|
||||
'format' => FORMAT_HTML);
|
||||
|
@ -98,10 +95,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq->qtype = 'multichoice';
|
||||
$expectedq->single = 1;
|
||||
$expectedq->name = 'What\'s between orange and green in the spectrum?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' =>'<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array('text' => 'You gave the right answer.',
|
||||
'format' => FORMAT_HTML);
|
||||
|
@ -161,10 +155,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq->qtype = 'multichoice';
|
||||
$expectedq->single = 0;
|
||||
$expectedq->name = 'What\'s between orange and green in the spectrum?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array(
|
||||
'text' => 'You gave the right answer.',
|
||||
|
@ -237,10 +228,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'truefalse';
|
||||
$expectedq->name = '42 is the Absolute Answer to everything.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">42 is the Absolute Answer to everything.</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">42 is the Absolute Answer to everything.</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
@ -270,10 +258,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'shortanswer';
|
||||
$expectedq->name = 'Name an amphibian: __________.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">Name an amphibian: __________.</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">Name an amphibian: __________.</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
@ -308,10 +293,7 @@ class qformat_blackboard_six_pool_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'essay';
|
||||
$expectedq->name = 'How are you?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => 'How are you?',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = 'How are you?';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
|
|
@ -55,10 +55,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'match';
|
||||
$expectedq->name = 'Classify the animals.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => 'Classify the animals.',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = 'Classify the animals.';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array('text' => '',
|
||||
'format' => FORMAT_HTML, 'files' => array());
|
||||
|
@ -94,10 +91,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq->qtype = 'multichoice';
|
||||
$expectedq->single = 1;
|
||||
$expectedq->name = 'What\'s between orange and green in the spectrum?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">What\'s between orange and green in the spectrum?</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array('text' => '',
|
||||
'format' => FORMAT_HTML, 'files' => array());
|
||||
|
@ -157,10 +151,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq->qtype = 'multichoice';
|
||||
$expectedq->single = 0;
|
||||
$expectedq->name = 'What\'s between orange and green in the spectrum?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<i>What\'s between orange and green in the spectrum?</i>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<i>What\'s between orange and green in the spectrum?</i>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->correctfeedback = array(
|
||||
'text' => '',
|
||||
|
@ -236,10 +227,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'truefalse';
|
||||
$expectedq->name = '42 is the Absolute Answer to everything.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">42 is the Absolute Answer to everything.</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">42 is the Absolute Answer to everything.</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
@ -270,10 +258,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'shortanswer';
|
||||
$expectedq->name = 'Name an amphibian: __________.';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => '<span style="font-size:12pt">Name an amphibian: __________.</span>',
|
||||
'format' => FORMAT_HTML,
|
||||
);
|
||||
$expectedq->questiontext = '<span style="font-size:12pt">Name an amphibian: __________.</span>';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
@ -308,10 +293,7 @@ class qformat_blackboard_six_qti_test extends question_testcase {
|
|||
$expectedq = new stdClass();
|
||||
$expectedq->qtype = 'essay';
|
||||
$expectedq->name = 'How are you?';
|
||||
$expectedq->questiontext = array(
|
||||
'text' => 'How are you?',
|
||||
'format' => FORMAT_HTML
|
||||
);
|
||||
$expectedq->questiontext = 'How are you?';
|
||||
$expectedq->questiontextformat = FORMAT_HTML;
|
||||
$expectedq->generalfeedback = '';
|
||||
$expectedq->generalfeedbackformat = FORMAT_HTML;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue