4 require_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);
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();
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")
351 self::renderNavigation($sco_tpl,
"./images/spacer.png", $lk);
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");
363 self::renderMetaPage($sco_tpl, $this, $a_asset_type, $mode);
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());
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)
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"]]))
exportPDF($a_inst, $a_target_dir, &$expLog)
static getJSTextInitCode($a_lang)
Get js txt init code.
Class ilSCORM2004Condition.
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
Scorm 2004 Question Exporter.
static getDefinitionList($a_term_id)
static
static fixFullscreeenLink($matches)
static _getQuestionIdsForPage($a_parent_type, $a_page_id, $a_lang="-")
Get all questions of a page.
xmlSetDtdDef($dtdDef)
Sets dtd definition.
HTML export class for pages.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
static _extractObjIdOfTarget($a_target)
Extract object id out of target.
__construct($a_slm_object, $a_id=0)
Constructor.
static renderMetaPage($a_tpl, $a_sco, $a_asset_type="", $mode="")
Render meta page (description/objectives at beginning)
create($a_upload=false, $a_template=false)
Create asset.
static convertLists($a_text)
Convert * and # to lists.
static getGlossaryOverviewId()
Get sco glossary overlay id.
exportFileItems($a_target_dir, &$expLog)
export files of file itmes
getSLMId()
Get ID of parent Scorm Learning Module Object.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
exportHTML($a_inst, $a_target_dir, &$expLog, $a_asset_type="sco", $a_one_file="")
getGlossaryTermIds()
Get glossary term ids in sco.
exportHTMLPageObjects($a_inst, $a_target_dir, &$expLog, $mode, $a_asset_type="sco", $a_one_file="", $a_sco_tpl=null)
Export HTML pages of SCO.
static input2xmlReplaceLists($a_text)
Converts xml from DB to output in edit textarea.
static getInstance($a_slm_object, $a_id=0, $a_halt=true)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
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...
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
special template class to simplify handling of ITX/PEAR
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
insertDefaultSequencingItem()
Insert default sequencing item.
exportXMLMediaObjects(&$a_xml_writer, $a_inst, $a_target_dir, &$expLog)
setPresentationTitle($a_title="")
delete_rec($a_delete_meta_data=true)
Delete Nested Page Objects.
static _getTargetsOfSource($a_source_type, $a_source_id, $a_source_lang="-")
Get all targets of a source object (e.g., a page)
getDescription()
Get description.
Glossary definition page object.
exportPDFPrepareXmlNFiles($a_inst, $a_target_dir, &$expLog, &$a_xml_writer)
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static _instantiateQuestion($question_id)
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
exportHTML4PDF($a_inst, $a_target_dir, &$expLog)
static renderNavigation($a_tpl, $a_spacer_img="", $a_lang="")
Render navigation.
static insertQuestion($matches)
exportXMLPageObjects($a_target_dir, &$a_xml_writer, $a_inst, &$expLog)
Class ilSCORM2004Page GUI class.
static recursive_dirscan($dir, &$arr)
Recursively scans a given directory and writes path and filename into referenced array.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
static getGlossaryHTML($a_sco)
Get glossary html (only in export mode)
copy($a_target_slm)
Copy sco.
static getAffectiveLocalization($a_id)
Get affective localization.
setType($a_type)
Set type.
const RENDER_PURPOSE_PREVIEW
static _lookGlossaryTerm($term_id)
get glossary term
exportScorm($a_inst, $a_target_dir, $ver, &$expLog)
exportXMLMetaData(&$a_xml_writer)
static questionsJS(array $a_qids=null)
static initExport()
Init export.