/** * split page to next 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 _splitPageNext($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; } $tree = new ilTree($cont_obj->getId()); $tree->setTableNames('lm_tree', 'lm_data'); $tree->setTreeTablePK("lm_id"); $source_lm_page =& new ilLMPageObject($cont_obj, $a_page_id); $source_page =& $source_lm_page->getPageObject(); // get next page $succ = $tree->fetchSuccessorNode($a_page_id, "pg"); if ($succ["child"] > 0) { $target_lm_page =& new ilLMPageObject($cont_obj, $succ["child"]); $target_page =& $target_lm_page->getPageObject(); $target_page->buildDom(); $target_page->addHierIds(); // move nodes to target page $source_page->buildDom(); $source_page->addHierIds(); ilLMPage::_moveContentAfterHierId($source_page, $target_page, $a_hier_id); //$source_page->deleteContentFromHierId($a_hier_id); return $succ["child"]; } }