Inheritance diagram for ilStructureObject:
Collaboration diagram for ilStructureObject: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 | |
| _goto ($a_target) | |
| redirect script | |
| 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 | |
Definition at line 36 of file class.ilStructureObject.php.
| ilStructureObject::_getPresentationTitle | ( | $ | a_st_id, | |
| $ | a_include_numbers = false | |||
| ) |
get presentation title
Definition at line 239 of file class.ilStructureObject.php.
References $query, $tree, and $tree_set.
Referenced by ilLMTOCExplorer::buildTitle(), ilTableOfContentsExplorer::buildTitle(), ilLMPresentationGUI::ilLocator(), ilLMPresentationGUI::showPrintView(), and ilLMPresentationGUI::showPrintViewSelection().
{
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"];
}
Here is the caller graph for this function:| ilStructureObject::_goto | ( | $ | a_target | ) |
redirect script
| string | $a_target |
Definition at line 147 of file class.ilStructureObject.php.
References $ilErr, ilLMObject::$lm_id, $lng, $rbacsystem, $ref_id, ilSearch::_checkParentConditions(), ilObject::_getAllReferences(), ilLMObject::_lookupContObjID(), and ilUtil::redirect().
{
global $rbacsystem, $ilErr, $lng;
// determine learning object
$lm_id = ilLMObject::_lookupContObjID($a_target);
// get all references
$ref_ids = ilObject::_getAllReferences($lm_id);
// check read permissions
foreach ($ref_ids as $ref_id)
{
include_once 'classes/class.ilSearch.php';
// Added this additional check (ParentConditions) to avoid calls of objects inside e.g courses.
// Will be replaced in future releases by ilAccess::checkAccess()
if ($rbacsystem->checkAccess("read", $ref_id) and ilSearch::_checkParentConditions($ref_id))
{
ilUtil::redirect("content/lm_presentation.php?ref_id=$ref_id".
"&obj_id=$a_target");
}
}
$ilErr->raiseError($lng->txt("msg_no_perm_read_lm"), $ilErr->FATAL);
}
Here is the call graph for this function:| & 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;
}
Here is the call graph for this function:| 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);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilStructureObject::delete_rec | ( | &$ | a_tree, | |
| $ | a_delete_meta_data = true | |||
| ) |
private
Definition at line 73 of file class.ilStructureObject.php.
References $obj, 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);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilStructureObject::exportFO | ( | &$ | a_xml_writer | ) |
export object to fo
| object | $a_xml_writer ilXmlWriter object that receives the xml data |
Definition at line 356 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);
}
Here is the call graph for this function:| 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 384 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");
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 181 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");
}
Here is the call graph for this function:| 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 215 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());
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 291 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");
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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 328 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);
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilStructureObject::modifyExportIdentifier | ( | $ | a_tag, | |
| $ | a_param, | |||
| $ | a_value | |||
| ) |
Definition at line 224 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;
}
Here is the call graph for this function:| 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().
1.7.1