/** * Save media pool page */ public function saveMediaPoolPage() { global $tpl, $lng, $ilCtrl; $this->initMediaPoolPageForm("create"); if ($this->form->checkInput()) { // create media pool item include_once "./Modules/MediaPool/classes/class.ilMediaPoolItem.php"; $item = new ilMediaPoolItem(); $item->setTitle($_POST["title"]); $item->setType("pg"); $item->create(); if ($item->getId() > 0) { // put in tree $tree = $this->object->getTree(); $parent = $_GET["mepitem_id"] > 0 ? $_GET["mepitem_id"] : $tree->getRootId(); $this->object->insertInTree($item->getId(), $parent); // create page include_once "./Modules/MediaPool/classes/class.ilMediaPoolPage.php"; $page = new ilMediaPoolPage(); $page->setId($item->getId()); $page->create(); ilUtil::sendSuccess($lng->txt("mep_page_created"), true); } $ilCtrl->redirect($this, "listMedia"); } $this->form->setValuesByPost(); $tpl->setContent($this->form->getHtml()); }
/** * Copy tree content * * @param * @return */ function copyTreeContent($a_new_obj, $a_target_parent, $a_source_parent) { include_once "./Modules/MediaPool/classes/class.ilMediaPoolItem.php"; include_once "./Modules/MediaPool/classes/class.ilMediaPoolPage.php"; include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; // get all chapters of root lm $nodes = $this->getTree()->getChilds($a_source_parent); foreach ($nodes as $node) { $item = new ilMediaPoolItem(); $item->setType($node["type"]); switch ($node["type"]) { case "mob": $mob_id = ilMediaPoolItem::lookupForeignId($node["child"]); $mob = new ilObjMediaObject($mob_id); $new_mob = $mob->duplicate(); $item->setForeignId($new_mob->getId()); $item->setTitle($new_mob->getTitle()); $item->create(); break; case "pg": $item->setTitle($node["title"]); $item->create(); $page = new ilMediaPoolPage($node["child"]); $new_page = new ilMediaPoolPage(); $new_page->setId($item->getId()); $new_page->create(); // todo: make mobs being copied $new_page->setXMLContent($page->copyXMLContent(true)); $new_page->buildDom(); $new_page->update(); break; case "fold": $item->setTitle($node["title"]); $item->create(); break; } // insert item into tree $a_new_obj->insertInTree($item->getId(), $a_target_parent); // handle childs $this->copyTreeContent($a_new_obj, $item->getId(), $node["child"]); } }
/** * Save media pool page */ public function saveMediaPoolPage() { global $tpl, $lng, $ilCtrl; $this->checkPermission("write"); $this->initMediaPoolPageForm("create"); if ($this->form->checkInput()) { // create media pool item include_once "./Modules/MediaPool/classes/class.ilMediaPoolItem.php"; $item = new ilMediaPoolItem(); $item->setTitle($_POST["title"]); $item->setType("pg"); $item->create(); if ($item->getId() > 0) { // put in tree $tree = $this->object->getTree(); $parent = $_GET["mepitem_id"] > 0 ? $_GET["mepitem_id"] : $tree->getRootId(); $this->object->insertInTree($item->getId(), $parent); // create page include_once "./Modules/MediaPool/classes/class.ilMediaPoolPage.php"; $page = new ilMediaPoolPage(); $page->setId($item->getId()); $page->create(); $ilCtrl->setParameterByClass("ilmediapoolpagegui", "mepitem_id", $item->getId()); $ilCtrl->redirectByClass("ilmediapoolpagegui", "edit"); } $ilCtrl->redirect($this, "listMedia"); } $this->form->setValuesByPost(); $tpl->setContent($this->form->getHtml()); }