示例#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);
            }
        }
    }
}
示例#2
0
         $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"));
     }
 } else {
     register_error(elgg_echo("bookmark_tools:action:edit:error:owner"));
 }