/**
  * 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");
 }