Exemplo n.º 1
0
 /**
  * Recursive method to insert all saved nodes of the clipboard
  */
 private function insertSavedNodes($a_source_id, $a_dest_id, $a_tree_id, &$a_affected_ids)
 {
     global $rbacadmin, $rbacreview, $log, $tree;
     $tree->insertNode($a_source_id, $a_dest_id, IL_LAST_NODE, true);
     $a_affected_ids[$a_source_id] = $a_source_id;
     // write log entry
     $log->write("ilRepUtil::insertSavedNodes(), restored ref_id {$a_source_id} from trash");
     // SET PERMISSIONS
     $parentRoles = $rbacreview->getParentRoleIds($a_dest_id);
     $obj =& ilObjectFactory::getInstanceByRefId($a_source_id);
     foreach ($parentRoles as $parRol) {
         $ops = $rbacreview->getOperationsOfRole($parRol["obj_id"], $obj->getType(), $parRol["parent"]);
         $rbacadmin->grantPermission($parRol["obj_id"], $ops, $a_source_id);
     }
     $saved_tree = new ilTree($a_tree_id);
     $childs = $saved_tree->getChilds($a_source_id);
     foreach ($childs as $child) {
         ilRepUtil::insertSavedNodes($child["child"], $a_source_id, $a_tree_id, $a_affected_ids);
     }
 }