/** * Constructor */ function __construct($a_parent_obj, $a_parent_cmd, $a_lm) { global $ilCtrl, $lng, $ilAccess, $lng; $this->lm = $a_lm; $this->lm_set = new ilSetting("lm"); parent::__construct($a_parent_obj, $a_parent_cmd); $this->setData(ilLMPageObject::getPageList($this->lm->getId())); $this->setTitle($lng->txt("cont_pages")); $this->addColumn($this->lng->txt(""), "", "1"); $this->addColumn($this->lng->txt("type"), "", "1"); $this->addColumn($this->lng->txt("title")); $this->addColumn($this->lng->txt("cont_usage")); $this->setSelectAllCheckbox("id[]"); if ($this->lm->getLayoutPerPage()) { $this->addColumn($this->lng->txt("cont_layout")); } $this->setLimit(9999); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj)); $this->setRowTemplate("tpl.page_list_row.html", "Modules/LearningModule"); if (ilEditClipboard::getContentObjectType() == "pg" && ilEditClipboard::getAction() == "copy") { $this->addMultiCommand("pastePage", $lng->txt("pastePage")); } if ($this->lm->getLayoutPerPage()) { $this->addMultiCommand("setPageLayout", $lng->txt("cont_set_layout")); } $this->addMultiCommand("activatePages", $lng->txt("cont_de_activate")); $this->addMultiCommand("movePage", $lng->txt("movePage")); $this->addMultiCommand("copyPage", $lng->txt("copyPage")); $this->addMultiCommand("delete", $lng->txt("delete")); $this->addMultiCommand("selectHeader", $lng->txt("selectHeader")); $this->addMultiCommand("selectFooter", $lng->txt("selectFooter")); // $this->addCommandButton("", $lng->txt("")); }
/** * paste page */ function pastePage() { if (ilEditClipboard::getContentObjectType() != "pg") { $this->ilias->raiseError($this->lng->txt("no_page_in_clipboard"), $this->ilias->error_obj->MESSAGE); } // paste selected object $id = ilEditClipboard::getContentObjectId(); // copy page, if action is copy if (ilEditClipboard::getAction() == "copy") { // check wether page belongs to lm if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId()) == $this->object->getID()) { $lm_page = new ilLMPageObject($this->object, $id); $new_page =& $lm_page->copy(); $id = $new_page->getId(); } else { // get page from other content object into current content object $lm_id = ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId()); $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id); $lm_page = new ilLMPageObject($lm_obj, $id); $copied_nodes = array(); $new_page =& $lm_page->copyToOtherContObject($this->object, $copied_nodes); $id = $new_page->getId(); ilLMObject::updateInternalLinks($copied_nodes); } } // cut is not be possible in "all pages" form yet if (ilEditClipboard::getAction() == "cut") { // check wether page belongs not to lm if (ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId()) != $this->object->getID()) { $lm_id = ilLMObject::_lookupContObjID(ilEditClipboard::getContentObjectId()); $lm_obj =& $this->ilias->obj_factory->getInstanceByObjId($lm_id); $lm_page = new ilLMPageObject($lm_obj, $id); $lm_page->setLMId($this->object->getID()); $lm_page->update(); $page =& $lm_page->getPageObject(); $page->buildDom(); $page->setParentId($this->object->getID()); $page->update(); } } ilEditClipboard::clear(); $this->ctrl->redirect($this, "pages"); }