Class ilStructreObject. More...
Public Member Functions | |
ilStructureObject (&$a_content_obj, $a_id=0) | |
Constructor public. | |
create ($a_upload=false) | |
delete ($a_delete_meta_data=true) | |
delete lm object data | |
delete_rec (&$a_tree, $a_delete_meta_data=true) | |
private | |
& | copy (&$a_target_tree, $a_parent, $a_pos=IL_LAST_NODE) |
copy chapter | |
exportXML (&$a_xml_writer, $a_inst, &$expLog) | |
export object to xml (see ilias_co.dtd) | |
exportXMLMetaData (&$a_xml_writer) | |
export structure objects meta data to xml (see ilias_co.dtd) | |
modifyExportIdentifier ($a_tag, $a_param, $a_value) | |
_getPresentationTitle ($a_st_id, $a_include_numbers=false) | |
get presentation title | |
exportXMLPageObjects (&$a_xml_writer, $a_inst=0) | |
export page objects of structure object (see ilias_co.dtd) | |
exportXMLStructureObjects (&$a_xml_writer, $a_inst, &$expLog) | |
export (sub)structure objects of structure object (see ilias_co.dtd) | |
exportFO (&$a_xml_writer) | |
export object to fo | |
exportFOPageObjects (&$a_xml_writer) | |
export page objects of structure object (see ilias_co.dtd) | |
Data Fields | |
$is_alias | |
$origin_id | |
$tree |
Class ilStructreObject.
Handles StructureObjects of ILIAS Learning Modules (see ILIAS DTD)
Definition at line 36 of file class.ilStructureObject.php.
ilStructureObject::_getPresentationTitle | ( | $ | a_st_id, | |
$ | a_include_numbers = false | |||
) |
get presentation title
Definition at line 205 of file class.ilStructureObject.php.
References $query, $tree, and $tree_set.
Referenced by ilLMTOCExplorer::buildTitle(), ilTableOfContentsExplorer::buildTitle(), ilLMEditorExplorer::buildTitle(), ilObjContentObjectGUI::chapters(), ilLMPresentationGUI::ilLocator(), ilLMPresentationGUI::showPrintView(), ilLMPresentationGUI::showPrintViewSelection(), and ilStructureObjectGUI::subchap().
{ global $ilDB; // get chapter data $query = "SELECT * FROM lm_data WHERE obj_id = '".$a_st_id."'"; $st_set = $ilDB->query($query); $st_rec = $st_set->fetchRow(DB_FETCHMODE_ASSOC); $tree = new ilTree($st_rec["lm_id"]); $tree->setTableNames('lm_tree','lm_data'); $tree->setTreeTablePK("lm_id"); if ($a_include_numbers) { if ($tree->isInTree($st_rec["obj_id"])) { // get chapter tree node $query = "SELECT * FROM lm_tree WHERE child = ". $ilDB->quote($a_st_id)." AND lm_id = ". $ilDB->quote($st_rec["lm_id"]); $tree_set = $ilDB->query($query); $tree_node = $tree_set->fetchRow(DB_FETCHMODE_ASSOC); $depth = $tree_node["depth"]; $nr = $tree->getChildSequenceNumber($tree_node, "st")." "; for ($i = $depth - 1; $i > 1; $i --) { // get next parent tree node $query = "SELECT * FROM lm_tree WHERE child = ". $ilDB->quote($tree_node["parent"])." AND lm_id = ". $ilDB->quote($st_rec["lm_id"]); $tree_set = $ilDB->query($query); $tree_node = $tree_set->fetchRow(DB_FETCHMODE_ASSOC); $seq = $tree->getChildSequenceNumber($tree_node, "st"); $nr = $seq.".".$nr; } } } return $nr.$st_rec["title"]; }
& ilStructureObject::copy | ( | &$ | a_target_tree, | |
$ | a_parent, | |||
$ | a_pos = IL_LAST_NODE | |||
) |
copy chapter
Definition at line 98 of file class.ilStructureObject.php.
References ilLMObject::getContentObject(), ilLMObject::getDescription(), ilLMObject::getId(), ilLMObjectFactory::getInstance(), ilObjectFactory::getInstanceByObjId(), ilLMObject::getLMId(), ilLMObject::getTitle(), ilLMObject::getType(), and ilStructureObject().
{ $lm =& $this->getContentObject(); $source_tree = new ilTree($lm->getId()); $source_tree->setTableNames('lm_tree','lm_data'); $source_tree->setTreeTablePK("lm_id"); // copy chapter $target_lm_id = $a_target_tree->getTreeId(); $target_lm = ilObjectFactory::getInstanceByObjId($target_lm_id); $chap =& new ilStructureObject($target_lm); $chap->setTitle($this->getTitle()); $chap->setLMId($target_lm_id); $chap->setType($this->getType()); $chap->setDescription($this->getDescription()); $chap->create(true); // copy meta data include_once("Services/MetaData/classes/class.ilMD.php"); $md = new ilMD($this->getLMId(), $this->getId(), $this->getType()); $new_md =& $md->cloneMD($target_lm_id, $chap->getId(), $this->getType()); // insert chapter in tree $a_target_tree->insertNode($chap->getId(), $a_parent, $a_pos); $childs =& $source_tree->getChilds($this->getId()); foreach($childs as $child) { $lmobj = ilLMObjectFactory::getInstance($this->getContentObject(), $child["obj_id"], true); if ($child["type"] == "st") { $newobj =& $lmobj->copy($a_target_tree, $chap->getId()); } else { $newobj =& $lmobj->copyToOtherContObject($target_lm); $a_target_tree->insertNode($newobj->getId(), $chap->getId()); } } return $chap; }
ilStructureObject::create | ( | $ | a_upload = false |
) |
Reimplemented from ilLMObject.
Definition at line 52 of file class.ilStructureObject.php.
{ parent::create($a_upload); }
ilStructureObject::delete | ( | $ | a_delete_meta_data = true |
) |
delete lm object data
Reimplemented from ilLMObject.
Definition at line 60 of file class.ilStructureObject.php.
References delete_rec(), and ilLMObject::getId().
Referenced by delete_rec().
{ $this->tree = new ilTree($this->getLmId()); $this->tree->setTableNames('lm_tree', 'lm_data'); $this->tree->setTreeTablePK("lm_id"); $node_data = $this->tree->getNodeData($this->getId()); $this->delete_rec($this->tree, $a_delete_meta_data); $this->tree->deleteTree($node_data); }
ilStructureObject::delete_rec | ( | &$ | a_tree, | |
$ | a_delete_meta_data = true | |||
) |
private
Definition at line 73 of file class.ilStructureObject.php.
References delete(), ilLMObject::getId(), and ilLMObjectFactory::getInstance().
Referenced by delete().
{ $childs = $a_tree->getChilds($this->getId()); foreach ($childs as $child) { $obj =& ilLMObjectFactory::getInstance($this->content_object, $child["obj_id"], false); if (is_object($obj)) { if($obj->getType() == "st") { $obj->delete_rec($a_tree, $a_delete_meta_data); } if($obj->getType() == "pg") { $obj->delete($a_delete_meta_data); } } unset($obj); } parent::delete($a_delete_meta_data); }
ilStructureObject::exportFO | ( | &$ | a_xml_writer | ) |
export object to fo
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 322 of file class.ilStructureObject.php.
References $ilBench, exportFOPageObjects(), and ilLMObject::getTitle().
{ global $ilBench; //$expLog->write(date("[y-m-d H:i:s] ")."Structure Object ".$this->getId()); // fo:block (complete) $attrs = array(); $attrs["font-family"] = "Times"; $attrs["font-size"] = "14pt"; $a_xml_writer->xmlElement("fo:block", $attrs, $this->getTitle()); // page objects //$ilBench->start("ContentObjectExport", "exportStructureObject_exportPageObjects"); $this->exportFOPageObjects($a_xml_writer); //$ilBench->stop("ContentObjectExport", "exportStructureObject_exportPageObjects"); // structure objects //$this->exportFOStructureObjects($a_xml_writer); }
ilStructureObject::exportFOPageObjects | ( | &$ | a_xml_writer | ) |
export page objects of structure object (see ilias_co.dtd)
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 350 of file class.ilStructureObject.php.
References $ilBench, ilLMObject::getContentObject(), and ilLMObject::getId().
Referenced by exportFO().
{ global $ilBench; $this->tree = new ilTree($this->getLmId()); $this->tree->setTableNames('lm_tree', 'lm_data'); $this->tree->setTreeTablePK("lm_id"); $childs = $this->tree->getChilds($this->getId()); foreach ($childs as $child) { if($child["type"] != "pg") { continue; } // export xml to writer object //$ilBench->start("ContentObjectExport", "exportStructureObject_exportPageObjectAlias"); $page_obj = new ilLMPageObject($this->getContentObject(), $child["obj_id"]); $page_obj->exportFO($a_xml_writer); //$ilBench->stop("ContentObjectExport", "exportStructureObject_exportPageObjectAlias"); } }
ilStructureObject::exportXML | ( | &$ | a_xml_writer, | |
$ | a_inst, | |||
&$ | expLog | |||
) |
export object to xml (see ilias_co.dtd)
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 147 of file class.ilStructureObject.php.
References $ilBench, exportXMLMetaData(), exportXMLPageObjects(), exportXMLStructureObjects(), and ilLMObject::getId().
{ global $ilBench; $expLog->write(date("[y-m-d H:i:s] ")."Structure Object ".$this->getId()); $attrs = array(); $a_xml_writer->xmlStartTag("StructureObject", $attrs); // MetaData $ilBench->start("ContentObjectExport", "exportStructureObject_exportMeta"); $this->exportXMLMetaData($a_xml_writer); $ilBench->stop("ContentObjectExport", "exportStructureObject_exportMeta"); // StructureObjects $ilBench->start("ContentObjectExport", "exportStructureObject_exportPageObjects"); $this->exportXMLPageObjects($a_xml_writer, $a_inst); $ilBench->stop("ContentObjectExport", "exportStructureObject_exportPageObjects"); // PageObjects $this->exportXMLStructureObjects($a_xml_writer, $a_inst, $expLog); // Layout // not implemented $a_xml_writer->xmlEndTag("StructureObject"); }
ilStructureObject::exportXMLMetaData | ( | &$ | a_xml_writer | ) |
export structure objects meta data to xml (see ilias_co.dtd)
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 181 of file class.ilStructureObject.php.
References ilLMObject::getId(), ilLMObject::getLMId(), and ilLMObject::getType().
Referenced by exportXML().
{ include_once("Services/MetaData/classes/class.ilMD2XML.php"); $md2xml = new ilMD2XML($this->getLMId(), $this->getId(), $this->getType()); $md2xml->setExportMode(true); $md2xml->startExport(); $a_xml_writer->appendXML($md2xml->getXML()); }
ilStructureObject::exportXMLPageObjects | ( | &$ | a_xml_writer, | |
$ | a_inst = 0 | |||
) |
export page objects of structure object (see ilias_co.dtd)
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 257 of file class.ilStructureObject.php.
References $ilBench, ilLMPageObject::_exportXMLAlias(), and ilLMObject::getId().
Referenced by exportXML().
{ include_once './content/classes/class.ilLMPageObject.php'; global $ilBench; $this->tree = new ilTree($this->getLmId()); $this->tree->setTableNames('lm_tree', 'lm_data'); $this->tree->setTreeTablePK("lm_id"); $childs = $this->tree->getChilds($this->getId()); foreach ($childs as $child) { if($child["type"] != "pg") { continue; } // export xml to writer object $ilBench->start("ContentObjectExport", "exportStructureObject_exportPageObjectAlias"); //$ilBench->start("ContentObjectExport", "exportStructureObject_getLMPageObject"); //$page_obj = new ilLMPageObject($this->getContentObject(), $child["obj_id"]); //$ilBench->stop("ContentObjectExport", "exportStructureObject_getLMPageObject"); ilLMPageObject::_exportXMLAlias($a_xml_writer, $child["obj_id"], $a_inst); //$page_obj->exportXML($a_xml_writer, "alias", $a_inst); //unset($page_obj); $ilBench->stop("ContentObjectExport", "exportStructureObject_exportPageObjectAlias"); } }
ilStructureObject::exportXMLStructureObjects | ( | &$ | a_xml_writer, | |
$ | a_inst, | |||
&$ | expLog | |||
) |
export (sub)structure objects of structure object (see ilias_co.dtd)
object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 294 of file class.ilStructureObject.php.
References ilLMObject::getContentObject(), ilLMObject::getId(), and ilStructureObject().
Referenced by exportXML().
{ $this->tree = new ilTree($this->getLmId()); $this->tree->setTableNames('lm_tree', 'lm_data'); $this->tree->setTreeTablePK("lm_id"); $childs = $this->tree->getChilds($this->getId()); foreach ($childs as $child) { if($child["type"] != "st") { continue; } // export xml to writer object $structure_obj = new ilStructureObject($this->getContentObject(), $child["obj_id"]); $structure_obj->exportXML($a_xml_writer, $a_inst, $expLog); unset($structure_obj); } }
ilStructureObject::ilStructureObject | ( | &$ | a_content_obj, | |
$ | a_id = 0 | |||
) |
Constructor public.
Definition at line 46 of file class.ilStructureObject.php.
References ilLMObject::ilLMObject(), and ilLMObject::setType().
Referenced by copy(), and exportXMLStructureObjects().
{ $this->setType("st"); parent::ilLMObject($a_content_obj, $a_id); }
ilStructureObject::modifyExportIdentifier | ( | $ | a_tag, | |
$ | a_param, | |||
$ | a_value | |||
) |
Definition at line 190 of file class.ilStructureObject.php.
References ilLMObject::getId().
{ if ($a_tag == "Identifier" && $a_param == "Entry") { $a_value = "il_".IL_INST_ID."_st_".$this->getId(); //$a_value = ilUtil::insertInstIntoID($a_value); } return $a_value; }
ilStructureObject::$is_alias |
Definition at line 38 of file class.ilStructureObject.php.
ilStructureObject::$origin_id |
Definition at line 39 of file class.ilStructureObject.php.
ilStructureObject::$tree |
Definition at line 40 of file class.ilStructureObject.php.
Referenced by _getPresentationTitle().