diff options
Diffstat (limited to 'mod/groups/actions/forums/deletetopic.php')
-rw-r--r-- | mod/groups/actions/forums/deletetopic.php | 19 |
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); |