Ejemplo n.º 1
0
function bookmark_tools_change_children_access($folder, $change_bookmarks = false)
{
    if (!empty($folder) && $folder instanceof ElggObject) {
        if ($folder->getSubtype() == BOOKMARK_TOOLS_SUBTYPE) {
            // get children folders
            $options = array("type" => "object", "subtype" => BOOKMARK_TOOLS_SUBTYPE, "container_guid" => $folder->getContainerGUID(), "limit" => false, "metadata_name" => "parent_guid", "metadata_value" => $folder->getGUID());
            if ($children = elgg_get_entities_from_metadata($options)) {
                foreach ($children as $child) {
                    $child->access_id = $folder->access_id;
                    $child->save();
                    bookmark_tools_change_children_access($child, $change_bookmarks);
                }
            }
            if ($change_bookmarks) {
                // change access on bookmarks in this folder
                bookmark_tools_change_bookmarks_access($folder);
            }
        }
    }
}
Ejemplo n.º 2
0
     $folder->owner_guid = elgg_get_logged_in_user_guid();
     $folder->container_guid = $owner_guid;
     $folder->access_id = $access_id;
     $order = elgg_get_entities_from_metadata(array("type" => "object", "subtype" => BOOKMARK_TOOLS_SUBTYPE, "metadata_name" => "parent_guid", "metadata_value" => $parent_guid, "count" => true));
     $folder->order = $order;
     if (!$folder->save()) {
         unset($folder);
     }
 }
 if (!empty($folder)) {
     $folder->title = $title;
     $folder->description = $description;
     $folder->access_id = $access_id;
     if (!empty($change_children_access)) {
         $folder->save();
         bookmark_tools_change_children_access($folder, !empty($change_bookmarks_access));
     } elseif (!empty($change_bookmarks_access)) {
         $folder->save();
         bookmark_tools_change_bookmarks_access($folder);
     }
     $folder->parent_guid = $parent_guid;
     if ($folder->save()) {
         $post_fix = "/" . $folder->getGUID();
         $forward_url = $folder->getURL();
         system_message(elgg_echo("bookmark_tools:action:edit:success"));
     } else {
         register_error(elgg_echo("bookmark_tools:action:edit:error:save"));
     }
 } else {
     register_error(elgg_echo("bookmark_tools:action:edit:error:folder"));
 }