MDL-32865 CLOZE Questions imported from another course end up with broken image links

This commit is contained in:
Jean-Michel Vedrine
2012-11-17 16:54:42 +01:00
parent b969895cb6
commit 1d5c83082f
+15 -1
View File
@@ -440,7 +440,21 @@ class qformat_xml extends qformat_default {
$qo->name = $this->clean_question_name($this->import_text($question['#']['name'][0]['#']['text']));
$qo->questiontextformat = $questiontext['format'];
$qo->questiontext = $qo->questiontext['text'];
$qo->questiontextfiles = array();
$qo->questiontextfiles = $this->import_files($this->getpath($question,
array('#', 'questiontext', 0, '#', 'file'), array(), false));
// Backwards compatibility, deal with the old image tag.
$filedata = $this->getpath($question, array('#', 'image_base64', '0', '#'), null, false);
$filename = $this->getpath($question, array('#', 'image', '0', '#'), null, false);
if ($filedata && $filename) {
$data = new stdClass();
$data->content = $filedata;
$data->encoding = 'base64';
// Question file areas don't support subdirs, so convert path to filename if necessary.
$data->name = clean_param(str_replace('/', '_', $filename), PARAM_FILE);
$qo->questiontextfiles[] = $data;
$qo->questiontext .= ' <img src="@@PLUGINFILE@@/' . $data->name . '" />';
}
// restore files in generalfeedback
$qo->generalfeedback = $this->getpath($question,