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;
     }
 }