aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/actions/forums/deletetopic.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/groups/actions/forums/deletetopic.php')
-rw-r--r--mod/groups/actions/forums/deletetopic.php19
1 files changed, 8 insertions, 11 deletions
diff --git a/mod/groups/actions/forums/deletetopic.php b/mod/groups/actions/forums/deletetopic.php
index 1095fc44a..313e87199 100644
--- a/mod/groups/actions/forums/deletetopic.php
+++ b/mod/groups/actions/forums/deletetopic.php
@@ -9,34 +9,31 @@
* @copyright Curverider Ltd 2008-2010
* @link http://elgg.org/
*/
-
- // Make sure we're logged in; forward to the front page if not
- if (!isloggedin()) forward();
- // Check the user is a group member
$group_entity = get_entity(get_input('group'));
- if (!$group_entity->isMember($vars['user'])) forward();
// Get input data
$topic_guid = (int) get_input('topic');
$group_guid = (int) get_input('group');
- // Make sure we actually have permission to edit
$topic = get_entity($topic_guid);
if ($topic->getSubtype() == "groupforumtopic") {
-
- // Get owning user
- // $owner = get_entity($topic->getOwner());
+
+ // Make sure we actually have permission to edit
+ if (!$topic->canEdit()) {
+ register_error(elgg_echo("groupstopic:notdeleted"));
+ forward(REFERER);
+ }
+
// Delete it!
$rowsaffected = $topic->delete();
if ($rowsaffected > 0) {
// Success message
system_message(elgg_echo("groupstopic:deleted"));
} else {
- system_message(elgg_echo("groupstopic:notdeleted"));
+ register_error(elgg_echo("groupstopic:notdeleted"));
}
// Forward to the group forum page
- global $CONFIG;
$url = $CONFIG->wwwroot . "pg/groups/forum/{$group_guid}/";
forward($url);