protected function doCloneObject($new_obj, $a_target_id, $a_copy_id = null) { self::cloneBasics($this, $new_obj); // copy pages include_once "Modules/Portfolio/classes/class.ilPortfolioTemplatePage.php"; foreach (ilPortfolioPage::getAllPages($this->getId()) as $page) { // see ilObjWiki::cloneObject(); $page = new ilPortfolioTemplatePage($page["id"]); $new_page = new ilPortfolioTemplatePage(); $new_page->setPortfolioId($new_obj->getId()); $new_page->setTitle($page->getTitle()); $new_page->setType($page->getType()); $new_page->setOrderNr($page->getOrderNr()); $new_page->create(); $page->copy($new_page->getId(), "", 0, true); } }
/** * Import record * * @param * @return */ function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version) { switch ($a_entity) { case "prtt": include_once "./Modules/Portfolio/classes/class.ilObjPortfolioTemplate.php"; // container copy if ($new_id = $a_mapping->getMapping("Services/Container", "objs", $a_rec["Id"])) { $newObj = ilObjectFactory::getInstanceByObjId($new_id, false); } else { $newObj = new ilObjPortfolioTemplate(); $newObj->create(); } $newObj->setTitle($a_rec["Title"]); $newObj->setDescription($a_rec["Description"]); $newObj->setPublicComments($a_rec["Comments"]); $newObj->setBackgroundColor($a_rec["BgColor"]); $newObj->setFontColor($a_rec["FontColor"]); $newObj->setProfilePicture($a_rec["Ppic"]); $newObj->setImage($a_rec["Img"]); $newObj->update(); // handle image(s) if ($a_rec["Img"]) { $dir = str_replace("..", "", $a_rec["Dir"]); if ($dir != "" && $this->getImportDirectory() != "") { $source_dir = $this->getImportDirectory() . "/" . $dir; $target_dir = ilObjPortfolioTemplate::initStorage($newObj->getId()); ilUtil::rCopy($source_dir, $target_dir); } } $a_mapping->addMapping("Modules/Portfolio", "prtt", $a_rec["Id"], $newObj->getId()); break; case "portfolio_page": $prtt_id = (int) $a_mapping->getMapping("Modules/Portfolio", "prtt", $a_rec["PortfolioId"]); if ($prtt_id) { include_once "./Modules/Portfolio/classes/class.ilPortfolioTemplatePage.php"; $newObj = new ilPortfolioTemplatePage(); $newObj->setPortfolioId($prtt_id); $newObj->setTitle($a_rec["Title"]); $newObj->setType($a_rec["Type"]); $newObj->setOrderNr($a_rec["OrderNr"]); $newObj->create(true); $a_mapping->addMapping("Services/COPage", "pg", "prtt:" . $a_rec["Id"], "prtt:" . $newObj->getId()); } break; } }