aboutsummaryrefslogtreecommitdiff
path: root/actions/friends
diff options
context:
space:
mode:
authorBrett Profitt <brett.profitt@gmail.com>2011-07-06 21:08:03 -0400
committerBrett Profitt <brett.profitt@gmail.com>2011-07-06 21:08:03 -0400
commit3e318bdeda941f78e9ae7b78bf337f67c4475849 (patch)
treea4074ed7288ac8682c0bd3296f1d36f281c9f0f7 /actions/friends
parentf068068add8645dc359fdcb00b7745a918c1c81e (diff)
downloadelgg-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')
-rw-r--r--actions/friends/collections/add.php38
-rw-r--r--actions/friends/collections/delete.php34
-rw-r--r--actions/friends/collections/edit.php20
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;