4require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Node.php");
 
   25                parent::__construct($a_slm_object, $a_id);
 
   32        function delete($a_delete_meta_data = 
true)
 
   34                $node_data = $this->tree->getNodeData($this->
getId());
 
   36                $this->tree->deleteTree($node_data);
 
   37                parent::deleteSeqInfo();
 
   43        function create($a_upload = 
false, $a_template = 
false)
 
   45                include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
 
   46                include_once(
"./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Objective.php");
 
   47                parent::create($a_upload);
 
   71                $childs = $this->tree->getChilds($this->
getId());
 
   72                foreach ($childs as $child)
 
   77                                if ($obj->getType() == 
"page")
 
   79                                        $obj->delete($a_delete_meta_data);
 
   84                parent::delete($a_delete_meta_data);
 
   90        function copy($a_target_slm)
 
   94                if ($this->
getSLMId() != $a_target_slm->getId())
 
   96                        $ass->setImportId(
"il__ass_".$this->
getId());
 
   98                $ass->setSLMId($a_target_slm->getId());
 
   99                $ass->setType($this->
getType());
 
  102                $a_copied_nodes[$this->
getId()] = $ass->getId();
 
  105                include_once(
"Services/MetaData/classes/class.ilMD.php");
 
  107                $new_md = $md->cloneMD($a_target_slm->getId(), $ass->getId(), $this->getType());
 
  116                copy(
'./xml/ilias_co_3_7.dtd',$a_target_dir.
'/ilias_co_3_7.dtd');
 
  117                copy(
'./Modules/Scorm2004/templates/xsl/sco.xsl',$a_target_dir.
'/sco.xsl');
 
  123                $metadata_xml = $a_xml_writer->xmlDumpMem(
false);
 
  124                $a_xml_writer->_XmlWriter;
 
  125                $xsl = file_get_contents(
"./Modules/Scorm2004/templates/xsl/metadata.xsl");
 
  126                $args = array( 
'/_xml' => $metadata_xml , 
'/_xsl' => $xsl );
 
  128                $output = xslt_process($xh,
"arg:/_xml",
"arg:/_xsl",NULL,$args,NULL);
 
  130                file_put_contents($a_target_dir.
'/indexMD.xml',
$output);
 
  134                $a_xml_writer->
xmlSetDtdDef(
"<!DOCTYPE ContentObject SYSTEM \"http://www.ilias.de/download/dtd/ilias_co_3_7.dtd\">");
 
  137                $a_xml_writer->xmlSetGenCmt(
"Export of ILIAS Content Module ".  $this->
getId().
" of installation ".$a_inst.
".");
 
  140                $a_xml_writer->xmlHeader();
 
  144                $a_xml_writer->xmlStartTag(
"ContentObject", array(
"Type"=>
"SCORM2004SCO"));
 
  152                $this->
exportHTML($a_inst, $a_target_dir, $expLog);
 
  156                        copy(
'./Modules/Scorm2004/scripts/scorm_12.js',$a_target_dir.
'/js/scorm.js');
 
  158                $a_xml_writer->xmlEndTag(
"ContentObject");
 
  160                $a_xml_writer->xmlDumpFile($a_target_dir.
'/index.xml', 
false);
 
  162                $a_xml_writer->_XmlWriter;
 
  167                        $objectives_text = 
"";
 
  171                        foreach ($tr_data as 
$data)
 
  173                                $objectives_text.= 
$data->getObjectiveID();
 
  175                        $a_xml_writer->xmlStartTag(
"sco");
 
  176                        $a_xml_writer->xmlElement(
"objective", 
null, $objectives_text);
 
  177                        $a_xml_writer->xmlEndTag(
"sco");
 
  178                        $a_xml_writer->xmlDumpFile($a_target_dir.
'/sco.xml', 
false);
 
  179                        $a_xml_writer->_XmlWriter;
 
  184        function exportHTML($a_inst, $a_target_dir, &$expLog, $a_asset_type = 
"sco",
 
  188                $this->slm_object->prepareHTMLExporter($a_target_dir);
 
  190                        $a_asset_type, $a_one_file);
 
  207                $a_xml_writer->
xmlStartTag(
"ContentObject", array(
"Type"=>
"SCORM2004SCO"));
 
  209                $a_xml_writer->xmlEndTag(
"ContentObject");
 
  210                include_once 
'Services/Transformation/classes/class.ilXML2FO.php';
 
  212                $xml2FO->setXSLTLocation(
'./Modules/Scorm2004/templates/xsl/contentobject2fo.xsl');
 
  213                $xml2FO->setXMLString($a_xml_writer->xmlDumpMem());
 
  214                $xml2FO->setXSLTParams(array (
'target_dir' => $a_target_dir));
 
  215                $xml2FO->transform();
 
  216                $fo_string = $xml2FO->getFOString();
 
  217                $fo_xml = simplexml_load_string($fo_string);
 
  218        $fo_ext = $fo_xml->xpath(
"//fo:declarations");
 
  219        $fo_ext = $fo_ext[0];
 
  221        include_once 
"./Services/Utilities/classes/class.ilFileUtils.php";
 
  225            foreach (
$results[
"file"] as $key => $value)
 
  227                $e = $fo_ext->addChild(
"fox:embedded-file",
"",
"http://xml.apache.org/fop/extensions");
 
  228                $e->addAttribute(
"src",
$results[path][$key].$value);
 
  229                $e->addAttribute(
"name",$value);
 
  230                $e->addAttribute(
"desc",
"");
 
  233        $fo_string = $fo_xml->asXML();
 
  234                $a_xml_writer->_XmlWriter;
 
  247                include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php";
 
  248                include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
 
  250                $tree = 
new ilTree($this->slm_id);
 
  251                $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  252                $tree->setTreeTablePK(
"slm_id");
 
  253                foreach($tree->getSubTree($tree->getNodeData($this->getId()),
true,
'page') as $page)
 
  257                        include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  259                        if (count($q_ids) > 0)
 
  261                                include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
 
  262                                foreach ($q_ids as $q_id)
 
  265                                        $qti_file = fopen($a_target_dir.
"/qti_".$q_id.
".xml", 
"w");
 
  266                                        fwrite($qti_file, $q_obj->toXML());
 
  268                                                $x = file_get_contents($a_target_dir.
"/qti_".$q_id.
".xml");
 
  269                                                $x = str_replace(
'<?xml version="1.0" encoding="utf-8"?>', 
'', 
$x);
 
  270                                                $a_xml_writer->appendXML(
$x);
 
  281                $a_asset_type = 
"sco", $a_one_file = 
"", $a_sco_tpl = 
null)
 
  285                include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004PageGUI.php";
 
  286                include_once 
"./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModuleGUI.php";
 
  287                include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  290                $tree = 
new ilTree($this->slm_id);
 
  291                $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  292                $tree->setTreeTablePK(
"slm_id");
 
  307                        $sco_tpl = 
new ilTemplate(
"tpl.sco.html", 
true, 
true, 
"Modules/Scorm2004");
 
  314                if ($mode != 
'pdf' && $a_one_file == 
"")
 
  316                        include_once(
"./Services/COPage/classes/class.ilCOPageHTMLExport.php");
 
  318                        $pg_exp->getPreparedMainTemplate($sco_tpl);
 
  322                        $sco_tpl->setCurrentBlock(
"init");
 
  323                        include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  324                        $sco_tpl->setVariable(
"TXT_INIT_CODE",
 
  326                        $sco_tpl->parseCurrentBlock();
 
  329                        $styles = array(
"./css/yahoo/container.css",
 
  330                                "./css/question_handling.css");
 
  333                                $sco_tpl->setCurrentBlock(
"css_file");
 
  334                                $sco_tpl->setVariable(
"CSS_FILE", 
$style);
 
  335                                $sco_tpl->parseCurrentBlock();
 
  339                        $scripts = array(
"./js/scorm.js",
 
  340                                "./js/pager.js", 
"./js/pure.js", 
 
  341                                "./js/questions_".$this->
getId().
".js");
 
  342                        foreach ($scripts as $script)
 
  344                                $sco_tpl->setCurrentBlock(
"js_file");
 
  345                                $sco_tpl->setVariable(
"JS_FILE", $script);
 
  346                                $sco_tpl->parseCurrentBlock();
 
  349                        if ($a_asset_type != 
"entry_asset" && $a_asset_type != 
"final_asset")
 
  354                        $sco_tpl->touchBlock(
"finish");
 
  357                $sco_tpl->setCurrentBlock(
"head");
 
  358                $sco_tpl->setVariable(
"SCO_TITLE", $this->
getTitle());
 
  359                $sco_tpl->parseCurrentBlock();
 
  360                $sco_tpl->touchBlock(
"tail");
 
  364                if ($a_one_file != 
"")
 
  366                        fputs($a_one_file, 
"<a name='sco".$this->
getId().
"'></a>");
 
  367                        fputs($a_one_file, $sco_tpl->get(
"meta_page"));
 
  371                require_once 
'./Modules/Scorm2004/classes/class.ilQuestionExporter.php';
 
  378                include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004ScoGUI.php");
 
  379                $pages = $tree->getSubTree($tree->getNodeData($this->getId()),
true,
'page');
 
  380                $sco_q_ids = array();
 
  381                foreach($pages as $page)
 
  385                                $this->slm_object->getId());
 
  386                        $page_obj->setPresentationTitle($page[
"title"]);
 
  388                        $page_obj->setStyleId($this->slm_object->getStyleSheetId());
 
  389                        if (count($terms) > 1)
 
  391                                $page_obj->setGlossaryOverviewInfo(
 
  395                        $page_output = $page_obj->showPage(
"export");
 
  398                        $mob_ids = $page_obj->getSCORM2004Page()->collectMediaObjects(
false);
 
  399                        foreach($mob_ids as $mob_id)
 
  401                                $this->mob_ids[$mob_id] = $mob_id;
 
  403                                if($media_obj->hasFullscreenItem())
 
  404                                        $media_obj->exportMediaFullscreen($a_target_dir, $page_obj->getPageObject());
 
  408                        $int_links = $page_obj->getPageObject()->getInternalLinks(
true);
 
  409                        include_once(
"./Services/Link/classes/class.ilInternalLink.php");
 
  410                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
 
  411                        if (is_array($int_links))
 
  413                                foreach ($int_links as $k => $e)
 
  416                                        if ($e[
"Type"] == 
"GlossaryItem")
 
  418                                                $karr = explode(
":", $k);
 
  421                                                foreach ($dids as $did)
 
  423                                                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPage.php");
 
  426                                                        $mob_ids = $def_pg->collectMediaObjects(
false);
 
  427                                                        foreach($mob_ids as $mob_id)
 
  429                                                                $this->mob_ids[$mob_id] = $mob_id;
 
  432                                                                if($media_obj->hasFullscreenItem())
 
  433                                                                        $media_obj->exportMediaFullscreen($a_target_dir, $def_pg);
 
  435                                                        include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  438                                                        foreach($file_ids as $file_id)
 
  440                                                                $this->file_ids[$file_id] = $file_id;
 
  448                        include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  450                        foreach($file_ids as $file_id)
 
  452                                $this->file_ids[$file_id] = $file_id;
 
  457                                include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  459                                foreach ($q_ids as $q_id)
 
  461                                        include_once(
"./Modules/TestQuestionPool/classes/class.assQuestionGUI.php");
 
  464                                        $q_gui->outAdditionalOutput();
 
  465                                        $html = $q_gui->getPreview(TRUE);
 
  466                                        $page_output = preg_replace(
"/{{{{{Question;il__qst_".$q_id.
"}}}}}/i",
$html,$page_output);
 
  469                                $sco_tpl->touchBlock(
"pdf_pg_break");
 
  472                        $sco_tpl->setCurrentBlock(
"page");
 
  473                        $sco_tpl->setVariable(
"PAGE", $page_output);
 
  474                        $sco_tpl->parseCurrentBlock();
 
  477                        if ($a_one_file != 
"")
 
  479                                include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  481                                foreach ($q_ids as $i)
 
  483                                        if (!in_array($i, $sco_q_ids))
 
  494                        $sco_tpl->setVariable(
"GLOSSARY_HTML",
 
  498                if ($a_one_file == 
"")
 
  504                        $output = $sco_tpl->get(
"page");
 
  508                        $output = preg_replace(
"/<div class=\"ilc_page_title_PageTitle\">(.*?)<\/div>/i",
"<h2>$1</h2>",
$output);
 
  511                $output = preg_replace(
"/mobs\/mm_(\d+)\/([^\"]+)/i",
"./objects/il_".IL_INST_ID.
"_mob_$1/$2",
$output);
 
  512                $output = preg_replace(
"/\.\/files\/file_(\d+)\/([^\"]+)/i",
"./objects/il_".IL_INST_ID.
"_file_$1/$2",
$output);
 
  513                $output = preg_replace(
"/\.\/Services\/MediaObjects\/flash_mp3_player/i",
"./players",
$output);
 
  515                $output = preg_replace(
"/file=..\/..\/..\/.\//i",
"file=../",
$output);
 
  519                        $output = preg_replace_callback(
"/href=\"&mob_id=(\d+)&pg_id=(\d+)\"/",array(get_class($this), 
'fixFullscreeenLink'),
$output);
 
  521                        $output = preg_replace_callback(
"/href=\"fullscreen_(\d+)\.html\"/",array(get_class($this), 
'fixFullscreeenLink'),
$output);
 
  522                        $output = preg_replace_callback(
"/{{{{{(Question;)(il__qst_[0-9]+)}}}}}/",array(get_class($this), 
'insertQuestion'),
$output);
 
  525                        $q_handling = file_get_contents(
'./Modules/Scorm2004/scripts/questions/question_handling.js');
 
  527                        copy(
"./Modules/Scorm2004/templates/default/question_handling.css",
 
  528                                $a_target_dir.
'/css/question_handling.css');
 
  531                        if ($a_one_file != 
"")
 
  533                                $output = 
'<script type="text/javascript">'.ilQuestionExporter::questionsJS().
'</script>'.
$output;
 
  534                                if (count($sco_q_ids) > 0)
 
  536                                        $output.= 
'<script type="text/javascript">';
 
  537                                        foreach ($sco_q_ids as $i)
 
  541                                                        $output.= 
"ilias.questions.showCorrectAnswers(".$i.
"); \n";
 
  550                                $this->mob_ids[$mob_id] = $mob_id;
 
  556                if ($a_one_file != 
"")
 
  562                        fputs(fopen($a_target_dir.
'/index.html',
'w+'),
$output);
 
  579                if ($a_spacer_img == 
"")
 
  585                        $a_lang = 
$lng->getLangKey();
 
  588                $a_tpl->setCurrentBlock(
"ilLMNavigation");
 
  589                $a_tpl->setVariable(
"TXT_PREVIOUS", 
$lng->txtlng(
"content", 
'scplayer_previous', $a_lang));
 
  590                $a_tpl->setVariable(
"SRC_SPACER", $a_spacer_img);
 
  591                $a_tpl->setVariable(
"TXT_NEXT", 
$lng->txtlng(
"content", 
'scplayer_next', $a_lang));
 
  592                $a_tpl->parseCurrentBlock();
 
  593                $a_tpl->setCurrentBlock(
"ilLMNavigation2");
 
  594                $a_tpl->setVariable(
"TXT_PREVIOUS", 
$lng->txtlng(
"content", 
'scplayer_previous', $a_lang));
 
  595                $a_tpl->setVariable(
"SRC_SPACER", $a_spacer_img);
 
  596                $a_tpl->setVariable(
"TXT_NEXT", 
$lng->txtlng(
"content", 
'scplayer_next', $a_lang));
 
  597                $a_tpl->parseCurrentBlock();
 
  612                if ($a_sco->getType() != 
"sco" || $a_sco->getHideObjectivePage())
 
  617                if ($a_asset_type != 
"entry_asset" && $a_asset_type != 
"final_asset")
 
  619                        $meta = 
new ilMD($a_sco->getSLMId(), $a_sco->getId(), $a_sco->getType());
 
  620                        $desc_ids = $meta->getGeneral()->getDescriptionIds();
 
  621                        $sco_description = $meta->getGeneral()->getDescription($desc_ids[0])->getDescription();
 
  627                        if ($a_asset_type != 
"entry_asset" && $a_asset_type != 
"final_asset")
 
  629                                $a_tpl->setCurrentBlock(
"title");
 
  630                                $a_tpl->setVariable(
"SCO_TITLE", $a_sco->getTitle());
 
  631                                $a_tpl->parseCurrentBlock();
 
  637                        $a_tpl->setCurrentBlock(
"pdf_title");
 
  638                        $a_tpl->setVariable(
"SCO_TITLE", $a_sco->getTitle());
 
  639                        $a_tpl->parseCurrentBlock();
 
  640                        $a_tpl->touchBlock(
"pdf_break");
 
  644                if (trim($sco_description) != 
"")
 
  646                        $a_tpl->setCurrentBlock(
"sco_desc");
 
  647                        $a_tpl->setVariable(
"TXT_DESC", 
$lng->txt(
"description"));
 
  648                        include_once(
"./Services/COPage/classes/class.ilPCParagraph.php");
 
  649                        $a_tpl->setVariable(
"VAL_DESC", self::convertLists($sco_description));
 
  650                        $a_tpl->parseCurrentBlock();
 
  653                if ($a_asset_type == 
"sco")
 
  656                        $objs = $a_sco->getObjectives();
 
  657                        if (count($objs) > 0)
 
  659                                foreach ($objs as $objective)
 
  661                                        $a_tpl->setCurrentBlock(
"sco_obj");
 
  662                                        $a_tpl->setVariable(
"VAL_OBJECTIVE", self::convertLists($objective->getObjectiveID()));
 
  663                                        $a_tpl->parseCurrentBlock();
 
  665                                $a_tpl->setCurrentBlock(
"sco_objs");
 
  666                                $a_tpl->setVariable(
"TXT_OBJECTIVES", 
$lng->txt(
"sahs_objectives"));
 
  667                                $a_tpl->parseCurrentBlock();
 
  670                $a_tpl->setCurrentBlock(
"meta_page");
 
  671                $a_tpl->parseCurrentBlock();
 
  683         include_once(
"./Services/COPage/classes/class.ilPCParagraph.php");
 
  684                $a_text = nl2br($a_text);
 
  685                $a_text = str_replace(array(
"\n", 
"\r"), 
"", $a_text);
 
  686                $a_text = str_replace(
"<br>", 
"<br />", $a_text);
 
  688                $a_text = str_replace(
 
  689                        array(
"<SimpleBulletList>", 
"</SimpleBulletList>",
 
  690                                "<SimpleListItem>", 
"</SimpleListItem>",
 
  691                                "<SimpleNumberedList>", 
"</SimpleNumberedList>" 
  693                        array(
"<ul class='ilc_list_u_BulletedList'>", 
"</ul>",
 
  694                                "<li class='ilc_list_item_StandardListItem'>", 
"</li>",
 
  695                                "<ol class='ilc_list_o_NumberedList'>", 
"</ol>" 
  704                if($media_obj->hasFullscreenItem())
 
  706                        return "href=\"./objects/il_".IL_INST_ID.
"_mob_".$matches[1].
"/fullscreen.html\"";
 
  715                $ret = $q_exporter->exportQuestion($matches[2], 
"./objects/", 
"offline");
 
  724                include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php";
 
  725                include_once 
"./Modules/Scorm2004/classes/class.ilSCORM2004Page.php";
 
  727                $tree = 
new ilTree($this->slm_id);
 
  728                $tree->setTableNames(
'sahs_sc13_tree', 
'sahs_sc13_tree_node');
 
  729                $tree->setTreeTablePK(
"slm_id");
 
  731                $pages = $tree->getSubTree($tree->getNodeData($this->getId()),
true,
'page');
 
  732                foreach($pages as $page)
 
  734                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"Page Object ".$page[
"obj_id"]);
 
  738                        $page_obj->exportXML($a_xml_writer, 
"normal", $a_inst);
 
  741                        $mob_ids = $page_obj->getMediaObjectIds();
 
  742                        foreach($mob_ids as $mob_id)
 
  744                                $this->mob_ids[$mob_id] = $mob_id;
 
  748                        $file_ids = $page_obj->getFileItemIds();
 
  749                        foreach($file_ids as $file_id)
 
  751                                $this->file_ids[$file_id] = $file_id;
 
  754                        include_once(
"./Services/COPage/classes/class.ilPCQuestion.php");
 
  756                        if (count($q_ids) > 0)
 
  758                                include_once(
"./Modules/TestQuestionPool/classes/class.assQuestion.php");
 
  759                                foreach ($q_ids as $q_id)
 
  763                                        if (is_object($q_obj))
 
  765                                                $qti_file = fopen($a_target_dir.
"/qti_".$q_id.
".xml", 
"w");
 
  766                                                fwrite($qti_file, $q_obj->toXML());
 
  779                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
 
  780        include_once(
"./Modules/File/classes/class.ilObjFile.php");
 
  781                $linked_mobs = array();
 
  782                if(is_array($this->mob_ids ))
 
  785                        foreach ($this->mob_ids as $mob_id)
 
  789                                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"Media Object ".$mob_id);
 
  791                                        $media_obj->exportXML($a_xml_writer, $a_inst);
 
  792                                        $lmobs = $media_obj->getLinkedMediaObjects($this->mob_ids);
 
  793                                        $linked_mobs = array_merge($linked_mobs, $lmobs);
 
  799                        foreach ($linked_mobs as $mob_id)
 
  803                                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"Media Object ".$mob_id);
 
  805                                        $media_obj->exportXML($a_xml_writer, $a_inst);
 
  810        if(is_array($this->file_ids))
 
  811            foreach ($this->file_ids as $file_id)
 
  815                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"File Item ".$file_id);
 
  816                        $file_obj = 
new ilObjFile($file_id, 
false);
 
  817                        $file_obj->export($a_target_dir);
 
  830                include_once(
"./Modules/File/classes/class.ilObjFile.php");
 
  831                if(is_array($this->file_ids))
 
  832                        foreach ($this->file_ids as $file_id)
 
  834                                $expLog->write(
date(
"[y-m-d H:i:s] ").
"File Item ".$file_id);
 
  837                                        $file_obj = 
new ilObjFile($file_id, 
false);
 
  838                                        $file_obj->export($a_target_dir);
 
  843                                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"File Item not found, ID: ".$file_id);
 
  847                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
 
  848                $linked_mobs = array();
 
  849                if(is_array($this->mob_ids ))
 
  852                        foreach ($this->mob_ids as $mob_id)
 
  856                                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"Media Object ".$mob_id);
 
  858                                        $media_obj->exportFiles($a_target_dir, $expLog);
 
  859                                        $lmobs = $media_obj->getLinkedMediaObjects($this->mob_ids);
 
  860                                        $linked_mobs = array_merge($linked_mobs, $lmobs);
 
  867                        foreach ($linked_mobs as $mob_id)
 
  871                                        $expLog->write(
date(
"[y-m-d H:i:s] ").
"Media Object ".$mob_id);
 
  873                                        $media_obj->exportFiles($a_target_dir);
 
  880                foreach ($this->q_media as $media) {
 
  883                                if (is_file ($media))
 
  885                                        copy($media, $a_target_dir.
"/objects/".basename($media));
 
  898                include_once(
"Services/MetaData/classes/class.ilMD2XML.php");
 
  900                $md2xml->setExportMode(
true);
 
  901                $md2xml->startExport();
 
  902                $a_xml_writer->appendXML($md2xml->getXML());
 
  909                require_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Export.php");
 
  911                $export = 
new ilSCORM2004Export($this);
 
  912                foreach ($export->getSupportedExportTypes() as 
$type)
 
  914                        $dir = $export->getExportDirectoryForType(
$type);
 
  916                        if (!@is_dir($dir) or !is_writeable($dir))
 
  924                        while ($entry = $cdir->read())
 
  926                                if ($entry != 
"." and
 
  929                                        preg_match(
"~^[0-9]{10}_{2}[0-9]+_{2}(".$this->
getType().
"_)".$this->
getId().
"+\.zip\$~", $entry) or
 
  930                                        preg_match(
"~^[0-9]{10}_{2}[0-9]+_{2}(".$this->
getType().
"_)".$this->
getId().
"+\.pdf\$~", $entry) or
 
  931                                        preg_match(
"~^[0-9]{10}_{2}[0-9]+_{2}(".$this->
getType().
"_)".$this->
getId().
"+\.iso\$~", $entry)
 
  934                                        $file[$entry.$type] = array(
"type" => 
$type, 
"file" => $entry,
 
  935                                                "size" => filesize($dir.
"/".$entry));
 
  957                include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
  958                $childs = $this->tree->getChilds($this->
getId());
 
  960                foreach ($childs as $c)
 
  964                        foreach ($links as 
$l)
 
  966                                if (
$l[
"type"] == 
"git" && (
int) 
$l[
"inst"] == 0 && !isset($ids[
$l[
"id"]]))
 
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
An exception for terminatinating execution or to throw for unit testing.
static _getQuestionGUI($question_type, $question_id=-1)
Creates a question gui representation and returns the alias to the question gui note: please do not u...
const RENDER_PURPOSE_PREVIEW
static _instantiateQuestion($question_id)
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
HTML export class for pages.
static recursive_dirscan($dir, &$arr)
Recursively scans a given directory and writes path and filename into referenced array.
Glossary definition page object.
static getDefinitionList($a_term_id)
static
static _lookGlossaryTerm($term_id)
get glossary term
static _extractObjIdOfTarget($a_target)
Extract object id out of target.
static _getTargetsOfSource($a_source_type, $a_source_id, $a_source_lang="-")
Get all targets of a source object (e.g., a page)
static getAffectiveLocalization($a_id)
Get affective localization.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static _lookupType($a_id, $a_reference=false)
lookup object type
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
static input2xmlReplaceLists($a_text)
Converts xml from DB to output in edit textarea.
static getJSTextInitCode($a_lang)
Get js txt init code.
static _getQuestionIdsForPage($a_parent_type, $a_page_id, $a_lang="-")
Get all questions of a page.
Scorm 2004 Question Exporter.
static questionsJS(array $a_qids=null)
__construct($a_slm_object, $a_id=0)
Constructor.
getGlossaryTermIds()
Get glossary term ids in sco.
exportXMLMediaObjects(&$a_xml_writer, $a_inst, $a_target_dir, &$expLog)
copy($a_target_slm)
Copy sco.
static convertLists($a_text)
Convert * and # to lists.
exportHTMLPageObjects($a_inst, $a_target_dir, &$expLog, $mode, $a_asset_type="sco", $a_one_file="", $a_sco_tpl=null)
Export HTML pages of SCO.
exportXMLPageObjects($a_target_dir, &$a_xml_writer, $a_inst, &$expLog)
exportPDF($a_inst, $a_target_dir, &$expLog)
static renderMetaPage($a_tpl, $a_sco, $a_asset_type="", $mode="")
Render meta page (description/objectives at beginning)
exportXMLMetaData(&$a_xml_writer)
static fixFullscreeenLink($matches)
insertDefaultSequencingItem()
Insert default sequencing item.
static renderNavigation($a_tpl, $a_spacer_img="", $a_lang="")
Render navigation.
exportHTML4PDF($a_inst, $a_target_dir, &$expLog)
static insertQuestion($matches)
delete_rec($a_delete_meta_data=true)
Delete Nested Page Objects.
create($a_upload=false, $a_template=false)
Create asset.
exportHTML($a_inst, $a_target_dir, &$expLog, $a_asset_type="sco", $a_one_file="")
exportPDFPrepareXmlNFiles($a_inst, $a_target_dir, &$expLog, &$a_xml_writer)
exportFileItems($a_target_dir, &$expLog)
export files of file itmes
exportScorm($a_inst, $a_target_dir, $ver, &$expLog)
Class ilSCORM2004Condition.
static getInstance($a_slm_object, $a_id=0, $a_halt=true)
getSLMId()
Get ID of parent Scorm Learning Module Object.
setType($a_type)
Set type.
getDescription()
Get description.
Class ilSCORM2004Page GUI class.
static initExport()
Init export.
static getGlossaryHTML($a_sco)
Get glossary html (only in export mode)
static getGlossaryOverviewId()
Get sco glossary overlay id.
special template class to simplify handling of ITX/PEAR
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
xmlSetDtdDef($dtdDef)
Sets dtd definition.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file