aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/actions
diff options
context:
space:
mode:
Diffstat (limited to 'mod/groups/actions')
-rw-r--r--mod/groups/actions/forums/deletepost.php4
-rw-r--r--mod/groups/actions/forums/editpost.php52
2 files changed, 54 insertions, 2 deletions
diff --git a/mod/groups/actions/forums/deletepost.php b/mod/groups/actions/forums/deletepost.php
index 2298a930a..9c89610bb 100644
--- a/mod/groups/actions/forums/deletepost.php
+++ b/mod/groups/actions/forums/deletepost.php
@@ -21,8 +21,8 @@
if ($post = get_annotation($post_id)) {
- //check that the user can edit
- if ($post->canEdit()) {
+ //check that the user can edit as well as admin
+ if ($post->canEdit() || ($post->owner_guid == $_SESSION['user']->guid)) {
//delete
$post->delete();
diff --git a/mod/groups/actions/forums/editpost.php b/mod/groups/actions/forums/editpost.php
new file mode 100644
index 000000000..bd37c5c31
--- /dev/null
+++ b/mod/groups/actions/forums/editpost.php
@@ -0,0 +1,52 @@
+<?php
+
+ /**
+ * Elgg groups plugin edit post action.
+ *
+ * @package ElggGroups
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider
+ * @copyright Curverider Ltd 2008-2009
+ * @link http://elgg.com/
+ */
+
+ // Make sure we're logged in (send us to the front page if not)
+ if (!isloggedin()) forward();
+
+ // Check the user is a group member
+ $group_guid = get_input('group');
+ $group_entity = get_entity($group_guid);
+ if (!$group_entity->isMember($vars['user'])) forward();
+
+ //get the required variables
+ $post = get_input("post");
+ $post_comment = get_input("postComment");
+ $annotation = get_annotation($post);
+ $commentOwner = get_input("commentOwner");
+ $access_id = get_input("access_id");
+ $topic = get_input("topic");
+
+ if($annotation){
+
+ //can edit? Either the comment owner or admin can
+ if($annotation->canedit() || ($commentOwner == $_SESSION['user']->guid)){
+
+ update_annotation($post, "group_topic_post", $post_comment, "",$commentOwner, $access_id);
+ system_message(elgg_echo("groups:forumpost:edited"));
+
+ }else{
+ system_message(elgg_echo("groups:forumpost:error"));
+ }
+
+ }else{
+
+ system_message(elgg_echo("groups:forumpost:error"));
+ }
+
+ // Forward to the group forum page
+ global $CONFIG;
+ $url = $CONFIG->wwwroot . "mod/groups/topicposts.php?topic={$topic}&group_guid={$group_guid}/";
+ forward($url);
+
+
+?> \ No newline at end of file