Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-32865 CLOZE Questions imported from another course end up with br…

…oken image links
  • Loading branch information...
commit 1d5c83082f010fce8b77618a59aba6e20dacd459 1 parent b969895
Jean-Michel Vedrine authored
Showing with 15 additions and 1 deletion.
  1. +15 −1 question/format/xml/format.php
View
16 question/format/xml/format.php
@@ -440,7 +440,21 @@ public function import_multianswer($question) {
$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,
Please sign in to comment.
Something went wrong with that request. Please try again.