/**
  * Save export IDs
  */
 function saveExportIds()
 {
     global $ilCtrl, $lng;
     // check all export ids
     $ok = true;
     if (is_array($_POST["exportid"])) {
         foreach ($_POST["exportid"] as $pg_id => $exp_id) {
             if ($exp_id != "" && !preg_match("/^([a-zA-Z]+)[0-9a-zA-Z_]*\$/", trim($exp_id))) {
                 $ok = false;
             }
         }
     }
     if (!$ok) {
         ilUtil::sendFailure($lng->txt("cont_exp_ids_not_resp_format1") . ": a-z, A-Z, 0-9, '_'. " . $lng->txt("cont_exp_ids_not_resp_format3") . " " . $lng->txt("cont_exp_ids_not_resp_format2"));
         $this->showExportIDsOverview(true);
         return;
     }
     if (is_array($_POST["exportid"])) {
         foreach ($_POST["exportid"] as $pg_id => $exp_id) {
             ilLMPageObject::saveExportId($this->object->getId(), $pg_id, ilUtil::stripSlashes($exp_id), ilLMObject::_lookupType($pg_id));
         }
     }
     ilUtil::sendSuccess($lng->txt("cont_saved_export_ids"), true);
     $ilCtrl->redirect($this, "showExportIdsOverview");
 }
 /**
  * copy page
  */
 function copy($a_target_lm)
 {
     // copy page
     $lm_page = new ilLMPageObject($a_target_lm);
     $lm_page->setTitle($this->getTitle());
     $lm_page->setLayout($this->getLayout());
     $lm_page->setLMId($a_target_lm->getId());
     $lm_page->setType($this->getType());
     $lm_page->setDescription($this->getDescription());
     $lm_page->setImportId("il__pg_" . $this->getId());
     $lm_page->create(true);
     // setting "upload" flag to true prevents creating of meta data
     // check whether export id already exists in the target lm
     $del_exp_id = false;
     $exp_id = ilLMPageObject::getExportId($this->getLMId(), $this->getId());
     if (trim($exp_id) != "") {
         if (ilLMPageObject::existsExportID($a_target_lm->getId(), $exp_id)) {
             $del_exp_id = true;
         }
     }
     // copy meta data
     include_once "Services/MetaData/classes/class.ilMD.php";
     $md = new ilMD($this->getLMId(), $this->getId(), $this->getType());
     $new_md = $md->cloneMD($a_target_lm->getId(), $lm_page->getId(), $this->getType());
     // check whether export id already exists in the target lm
     if ($del_exp_id) {
         ilLMPageObject::saveExportId($a_target_lm->getId(), $lm_page->getId(), "");
     } else {
         ilLMPageObject::saveExportId($a_target_lm->getId(), $lm_page->getId(), trim($exp_id));
     }
     // copy page content and activation
     $page = $lm_page->getPageObject();
     $this->page_object->copy($page->getId(), $page->getParentType(), $page->getParentId());
     /*$page->setXMLContent($this->page_object->copyXMLContent());
     		$page->setActive($this->page_object->getActive());
     		$page->setActivationStart($this->page_object->getActivationStart());
     		$page->setActivationEnd($this->page_object->getActivationEnd());
     		$page->buildDom();
     		$page->update();*/
     $lm_page->read();
     // this gets the updated page object into lm page
     // copy translations
     include_once "./Modules/LearningModule/classes/class.ilLMObjTranslation.php";
     ilLMObjTranslation::copy($this->getId(), $lm_page->getId());
     return $lm_page;
 }