Ejemplo n.º 1
0
 /**
  * Import record
  *
  * @param
  * @return
  */
 function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
 {
     switch ($a_entity) {
         case "bookmarks":
             break;
         case "bookmark_tree":
             $usr_id = $a_mapping->getMapping("Services/User", "usr", $a_rec["UserId"]);
             if ($usr_id > 0 && ilObject::_lookupType($usr_id) == "usr") {
                 //echo "<br><br>";
                 //var_dump($a_rec);
                 switch ($a_rec["Type"]) {
                     case "bmf":
                         if ($a_rec["Parent"] > 0) {
                             $parent = (int) $a_mapping->getMapping("Services/Bookmarks", "bookmark_tree", $a_rec["Parent"]);
                             include_once "./Services/Bookmarks/classes/class.ilBookmarkFolder.php";
                             $bmf = new ilBookmarkFolder(0, $usr_id);
                             $bmf->setTitle($a_rec["Title"]);
                             $bmf->setParent($parent);
                             $bmf->create();
                             $fold_id = $bmf->getId();
                         } else {
                             $tree = new ilTree($usr_id);
                             $tree->setTableNames('bookmark_tree', 'bookmark_data');
                             $fold_id = $tree->readRootId();
                         }
                         $a_mapping->addMapping("Services/Bookmarks", "bookmark_tree", $a_rec["Child"], $fold_id);
                         break;
                     case "bm":
                         $parent = 0;
                         if ((int) $a_rec["Parent"] > 0) {
                             $parent = (int) $a_mapping->getMapping("Services/Bookmarks", "bookmark_tree", $a_rec["Parent"]);
                         } else {
                             return;
                         }
                         if ($parent == 0) {
                             $tree = new ilTree($usr_id);
                             $tree->setTableNames('bookmark_tree', 'bookmark_data');
                             $parent = $tree->readRootId();
                         }
                         //echo "-$parent-";
                         include_once "./Services/Bookmarks/classes/class.ilBookmark.php";
                         $bm = new ilBookmark(0, $usr_id);
                         $bm->setTitle($a_rec["Title"]);
                         $bm->setDescription($a_rec["Description"]);
                         $bm->setTarget($a_rec["Target"]);
                         $bm->setParent($parent);
                         $bm->create();
                         break;
                 }
             }
             break;
     }
 }
 /**
  * creates the bookmarks and folders
  * @param    array            array of objects
  * @param    array            stores the number of created objects
  * @param    folder_id        id where to store the bookmarks
  * @param    start_key        key of the objects array where to start
  * @access    private
  */
 function __importBookmarks(&$objects, &$num_create, $folder_id, $start_key = 0)
 {
     if (is_array($objects[$start_key])) {
         foreach ($objects[$start_key] as $obj_key => $object) {
             switch ($object['type']) {
                 case 'bm':
                     if (!$object["title"]) {
                         continue;
                     }
                     if (!$object["target"]) {
                         continue;
                     }
                     $bm = new ilBookmark();
                     $bm->setTitle($object["title"]);
                     $bm->setDescription($object["description"]);
                     $bm->setTarget($object["target"]);
                     $bm->setParent($folder_id);
                     $bm->create();
                     $num_create['bm']++;
                     break;
                 case 'bmf':
                     if (!$object["title"]) {
                         continue;
                     }
                     $bmf = new ilBookmarkFolder();
                     $bmf->setTitle($object["title"]);
                     $bmf->setParent($folder_id);
                     $bmf->create();
                     $num_create['bmf']++;
                     if (is_array($objects[$obj_key])) {
                         $this->__importBookmarks($objects, $num_create, $bmf->getId(), $obj_key);
                     }
                     break;
             }
         }
     }
 }