diff options
author | Brett Profitt <brett.profitt@gmail.com> | 2011-07-06 21:08:03 -0400 |
---|---|---|
committer | Brett Profitt <brett.profitt@gmail.com> | 2011-07-06 21:08:03 -0400 |
commit | 3e318bdeda941f78e9ae7b78bf337f67c4475849 (patch) | |
tree | a4074ed7288ac8682c0bd3296f1d36f281c9f0f7 /actions/friends/collections | |
parent | f068068add8645dc359fdcb00b7745a918c1c81e (diff) | |
download | elgg-3e318bdeda941f78e9ae7b78bf337f67c4475849.tar.gz elgg-3e318bdeda941f78e9ae7b78bf337f67c4475849.tar.bz2 |
Revert "Merged ACL fixes from 1.7 branch."
This reverts commit de111da23258cd2b513c8f4ab84712ee50272b23. Reverted because of problems in how 1.8 populates the access dropdown.
Diffstat (limited to 'actions/friends/collections')
-rw-r--r-- | actions/friends/collections/add.php | 38 | ||||
-rw-r--r-- | actions/friends/collections/delete.php | 34 | ||||
-rw-r--r-- | actions/friends/collections/edit.php | 20 |
3 files changed, 50 insertions, 42 deletions
diff --git a/actions/friends/collections/add.php b/actions/friends/collections/add.php index 8383e4db2..8ec6a085f 100644 --- a/actions/friends/collections/add.php +++ b/actions/friends/collections/add.php @@ -2,31 +2,35 @@ /** * Elgg collection add page * - * @package Elgg - * @subpackage Core + * @package Elgg.Core + * @subpackage Friends.Collections */ $collection_name = get_input('collection_name'); $friends = get_input('friends_collection'); -if (!$collection_name) { - register_error(elgg_echo("friends:nocollectionname")); - forward(REFERER); -} +//first check to make sure that a collection name has been set and create the new colection +if ($collection_name) { -$id = create_access_collection($collection_name); + //create the collection + $create_collection = create_access_collection($collection_name, elgg_get_logged_in_user_guid()); -if ($id) { - $result = update_access_collection($id, $friends); - if ($result) { - system_message(elgg_echo("friends:collectionadded")); - // go to the collections page - forward("pg/collections/" . get_loggedin_user()->username); - } else { - register_error(elgg_echo("friends:nocollectionname")); - forward(REFERER); + //if the collection was created and the user passed some friends from the form, add them + if ($create_collection && (!empty($friends))) { + //add friends to the collection + foreach ($friends as $friend) { + add_user_to_access_collection($friend, $create_collection); + } } + + // Success message + system_message(elgg_echo("friends:collectionadded")); + // Forward to the collections page + forward("collections/" . elgg_get_logged_in_user_entity()->username); + } else { register_error(elgg_echo("friends:nocollectionname")); - forward(REFERER); + + // Forward to the add collection page + forward("collections/add"); } diff --git a/actions/friends/collections/delete.php b/actions/friends/collections/delete.php index 5b0aa8e10..fe719d74b 100644 --- a/actions/friends/collections/delete.php +++ b/actions/friends/collections/delete.php @@ -1,24 +1,36 @@ <?php - /** * Elgg friends: delete collection action * - * @package Elgg - * @subpackage Core + * @package Elgg.Core + * @subpackage Friends.Collections */ $collection_id = (int) get_input('collection'); -// check the ACL exists and we can edit -if (!can_edit_access_collection($collection_id)) { - register_error(elgg_echo("friends:collectiondeletefailed")); - forward(REFERER); -} +// Check to see that the access collection exist and grab its owner +$get_collection = get_access_collection($collection_id); + +if ($get_collection) { + + if ($get_collection->owner_guid == elgg_get_logged_in_user_guid()) { + + $delete_collection = delete_access_collection($collection_id); -if (delete_access_collection($collection_id)) { - system_message(elgg_echo("friends:collectiondeleted")); + // Success message + if ($delete_collection) { + system_message(elgg_echo("friends:collectiondeleted")); + } else { + register_error(elgg_echo("friends:collectiondeletefailed")); + } + } else { + // Failure message + register_error(elgg_echo("friends:collectiondeletefailed")); + } } else { + // Failure message register_error(elgg_echo("friends:collectiondeletefailed")); } -forward(REFERER); +// Forward to the collections page +forward("collections/" . elgg_get_logged_in_user_entity()->username); diff --git a/actions/friends/collections/edit.php b/actions/friends/collections/edit.php index 581b21353..b7fb716f2 100644 --- a/actions/friends/collections/edit.php +++ b/actions/friends/collections/edit.php @@ -1,23 +1,15 @@ <?php /** - * Elgg collection add page + * Friends collection edit action * - * @package Elgg - * @subpackage Core + * @package Elgg.Core + * @subpackage Friends.Collections */ $collection_id = get_input('collection_id'); $friends = get_input('friend'); -// check it exists and we can edit -if (!can_edit_access_collection($collection_id)) { - system_message(elgg_echo('friends:collection:edit_failed')); -} +//chech the collection exists and the current user owners it +update_access_collection($collection_id, $friends); -if (update_access_collection($collection_id, $friends)) { - system_message(elgg_echo('friends:collections:edited')); -} else { - system_message(elgg_echo('friends:collection:edit_failed')); -} - -forward(REFERER);
\ No newline at end of file +exit; |