]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2680: Added group support to bookmarks plugin.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 17 Feb 2011 03:52:00 +0000 (03:52 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 17 Feb 2011 03:52:00 +0000 (03:52 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8269 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/bookmarks/lib/bookmarks.php
mod/bookmarks/pages/add.php
mod/bookmarks/pages/edit.php
mod/bookmarks/pages/owner.php
mod/bookmarks/start.php

index 3ffda737deaa37925b3e4362cc91a909a39e7d67..815330e2c52a64246ed30d3bb3beea7da02aae20 100644 (file)
@@ -6,7 +6,7 @@
  */
 
 /**
- * Prepare the upload/edit form variables
+ * Prepare the add/edit form variables
  *
  * @param ElggObject $bookmark A bookmark object.
  * @return array
index 77b9a0bd0cbec21e75b97c0554f7c96b56c64bf7..c748daca51633d5d9fa71ddb9d0811ca4f54ecf1 100644 (file)
@@ -5,8 +5,6 @@
  * @package Bookmarks
  */
 
-gatekeeper();
-
 $bookmark_guid = get_input('guid');
 $bookmark = get_entity($bookmark_guid);
 $container_guid = (int) get_input('container_guid');
index 1c74a592a1d348dfb4520300b565eb7db0222cd8..7b055e69926bee605f627ea1ce634eac3bdd615e 100644 (file)
@@ -5,13 +5,12 @@
  * @package ElggBookmarks
  */
 
-gatekeeper();
 $bookmark_guid = get_input('guid');
 $bookmark = get_entity($bookmark_guid);
 $container_guid = (int) get_input('container_guid');
 $container = get_entity($container_guid);
 
-if (!elgg_instanceof($bookmark, 'object', 'bookmarks')) {
+if (!elgg_instanceof($bookmark, 'object', 'bookmarks') || !$bookmark->canEdit()) {
        register_error(elgg_echo('bookmarks:unknown_bookmark'));
        forward(REFERRER);
 }
index 2216b593f2bc6e52aa40723d37426a0caba38521..c11d6628e96e54625eed4634abae94b236ba6860 100644 (file)
@@ -5,11 +5,10 @@
  * @package Bookmarks
  */
 
+$guid = get_input('guid');
+
+elgg_set_page_owner_guid($guid);
 $page_owner = elgg_get_page_owner_entity();
-if (!$page_owner) {
-       $page_owner = elgg_get_logged_in_user_guid();
-       elgg_set_page_owner_guid($page_owner);
-}
 
 elgg_push_breadcrumb($page_owner->name);
 
@@ -17,17 +16,26 @@ $offset = (int)get_input('offset', 0);
 $content .= elgg_list_entities(array(
        'type' => 'object',
        'subtype' => 'bookmarks',
-       'owner_guid' => $page_owner->guid,
+       'container_guid' => $page_owner->guid,
        'limit' => 10,
        'offset' => $offset,
        'full_view' => false,
        'view_toggle_type' => false
 ));
 
+if (!$content) {
+       $content = elgg_echo('bookmarks:none');
+}
+
 $title = elgg_echo('bookmarks:owner', array($page_owner->name));
 
+$filter_context = '';
+if ($page_owner->getGUID() == elgg_get_logged_in_user_guid()) {
+       $filter_context = 'mine';
+}
+
 $body = elgg_view_layout('content', array(
-       'filter_context' => 'mine',
+       'filter_context' => $filter_context,
        'content' => $content,
        'title' => $title
 ));
index 90dd89f182aa49dfd91be0a85d0ec1bdc15d8f2a..00a6406445489b36a14d9f132f75f98d8b9b110f 100644 (file)
@@ -117,15 +117,23 @@ function bookmarks_page_handler($page) {
                        break;
 
                case "add":
+                       gatekeeper();
                        set_input('container_guid', $page[1]);
                        include "$pages/add.php";
                        break;
 
                case "edit":
+                       gatekeeper();
                        set_input('guid', $page[1]);
                        include "$pages/edit.php";
                        break;
 
+               case 'group':
+                       group_gatekeeper();
+                       set_input('guid', $page[1]);
+                       include "$pages/owner.php";
+                       break;
+
                case "bookmarklet":
                        set_input('container_guid', $page[1]);
                        include "$pages/bookmarklet.php";