/** * export object to xml (see ilias_co.dtd) * * @param object $a_xml_writer ilXmlWriter object that receives the * xml data */ function exportXML(&$a_xml_writer, $a_inst, $a_target_dir, &$expLog) { global $ilBench; $attrs = array(); switch ($this->getType()) { case "lm": $attrs["Type"] = "LearningModule"; break; case "dbk": $attrs["Type"] = "LibObject"; break; } $a_xml_writer->xmlStartTag("ContentObject", $attrs); // MetaData $this->exportXMLMetaData($a_xml_writer); // StructureObjects //echo "ContObj:".$a_inst.":<br>"; $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Structure Objects"); $ilBench->start("ContentObjectExport", "exportStructureObjects"); $this->exportXMLStructureObjects($a_xml_writer, $a_inst, $expLog); $ilBench->stop("ContentObjectExport", "exportStructureObjects"); $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Structure Objects"); // PageObjects $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Page Objects"); $ilBench->start("ContentObjectExport", "exportPageObjects"); $this->exportXMLPageObjects($a_xml_writer, $a_inst, $expLog); $ilBench->stop("ContentObjectExport", "exportPageObjects"); $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Page Objects"); // MediaObjects $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Media Objects"); $ilBench->start("ContentObjectExport", "exportMediaObjects"); $this->exportXMLMediaObjects($a_xml_writer, $a_inst, $a_target_dir, $expLog); $ilBench->stop("ContentObjectExport", "exportMediaObjects"); $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Media Objects"); // FileItems $expLog->write(date("[y-m-d H:i:s] ") . "Start Export File Items"); $ilBench->start("ContentObjectExport", "exportFileItems"); $this->exportFileItems($a_target_dir, $expLog); $ilBench->stop("ContentObjectExport", "exportFileItems"); $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export File Items"); // Questions if (count($this->q_ids) > 0) { $qti_file = fopen($a_target_dir . "/qti.xml", "w"); include_once "./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php"; $pool = new ilObjQuestionPool(); fwrite($qti_file, $pool->toXML($this->q_ids)); fclose($qti_file); } // To do: implement version selection/detection // Properties $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Properties"); $this->exportXMLProperties($a_xml_writer, $expLog); $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Properties"); $a_xml_writer->xmlEndTag("ContentObject"); }