protected function to_html(ImsXmlReader $item) { $xml = $item->get_xml(); $variables = $item->all_printedVariable(); foreach ($variables as $var) { $var_xml = $var->get_xml(); $name = '{' . $var->identifier . '}'; $xml = str_replace($var_xml, $name, $xml); } $xml = '<?xml version="1.0" encoding="UTF-8" ?>' . $xml; $item = new ImsQtiReader(); $item->load_xml($xml); $result = parent::to_html($item); return $result; }
/** * Build questions using moodle serialized data. Used for reimport, i.e. from Moodle to Moodle. * Used to process data not supported by QTI and to improve performances. * * @param QtiImportSettings $data * @return object|null */ public function build_moodle(QtiImportSettings $settings) { $data = $settings->get_data(); $result = parent::build_moodle($settings); $result->instructions = $this->format_text($data->options->instructions); $result->showunits = $data->options->showunits; $result->unitsleft = $data->options->unitsleft; $result->unitgradingtype = $data->options->unitgradingtype; $result->unitpenalty = $data->options->unitpenalty; $result->multiplier = array(); $result->unit = array(); $units = $data->options->units; foreach ($units as $u) { $result->multiplier[] = $u->multiplier; $result->unit[] = $u->unit; } $answers = $data->options->answers; foreach ($answers as $a) { $result->answer[] = $a->answer; $result->fraction[] = $a->fraction; $result->tolerance[] = $a->tolerance; $result->feedback[] = $this->format_text($a->feedback); } return $result; }