本文整理汇总了PHP中ilTree::getParentNodeData方法的典型用法代码示例。如果您正苦于以下问题:PHP ilTree::getParentNodeData方法的具体用法?PHP ilTree::getParentNodeData怎么用?PHP ilTree::getParentNodeData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ilTree
的用法示例。
在下文中一共展示了ilTree::getParentNodeData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: switch
/**
* split page at hierarchical id
*
* the main reason for this method being static is that a lm page
* object is not available within ilPageContentGUI where this method
* is called
*/
function _splitPage($a_page_id, $a_pg_parent_type, $a_hier_id)
{
// get content object (learning module / digilib book)
$lm_id = ilLMObject::_lookupContObjID($a_page_id);
$type = ilObject::_lookupType($lm_id, false);
switch ($type) {
case "lm":
include_once "./Modules/LearningModule/classes/class.ilObjLearningModule.php";
$cont_obj = new ilObjLearningModule($lm_id, false);
break;
case "dbk":
include_once "./Modules/LearningModule/classes/class.ilObjDlBook.php";
$cont_obj = new ilObjDlBook($lm_id, false);
break;
}
$source_lm_page = new ilLMPageObject($cont_obj, $a_page_id);
// create new page
$lm_page = new ilLMPageObject($cont_obj);
$lm_page->setTitle($source_lm_page->getTitle());
$lm_page->setLMId($source_lm_page->getLMId());
$lm_page->setType($source_lm_page->getType());
$lm_page->setDescription($source_lm_page->getDescription());
$lm_page->create(true);
// copy complete content of source page to new page
$source_page = $source_lm_page->getPageObject();
$page = $lm_page->getPageObject();
$page->setXMLContent($source_page->copyXMLContent());
//echo htmlentities($source_page->copyXMLContent());
$page->buildDom(true);
$page->update();
// echo "-".$page->getId()."-".$page->getParentType()."-";
// copy meta data
include_once "Services/MetaData/classes/class.ilMD.php";
$md = new ilMD($source_lm_page->getLMId(), $a_page_id, $source_lm_page->getType());
$md->cloneMD($source_lm_page->getLMId(), $lm_page->getId(), $source_lm_page->getType());
// insert new page in tree (after original page)
$tree = new ilTree($cont_obj->getId());
$tree->setTableNames('lm_tree', 'lm_data');
$tree->setTreeTablePK("lm_id");
if ($tree->isInTree($source_lm_page->getId())) {
$parent_node = $tree->getParentNodeData($source_lm_page->getId());
$tree->insertNode($lm_page->getId(), $parent_node["child"], $source_lm_page->getId());
}
// remove all nodes < hierarchical id from new page (incl. update)
$page->addHierIds();
$page->deleteContentBeforeHierId($a_hier_id);
// $page->update();
// remove all nodes >= hierarchical id from source page
$source_page->buildDom();
$source_page->addHierIds();
$source_page->deleteContentFromHierId($a_hier_id);
return $lm_page;
}