diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-03-20 23:34:10 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-03-20 23:34:10 +0000 |
commit | 346d082dae4da3908f7c7a6b8b9946768e19f5d6 (patch) | |
tree | 970a50a0b5dc7eeec6d1d616ea788fdf85534697 /mod/groups/lib/discussion.php | |
parent | 8d8c62f3ed7be6691d76824ae82888aba2bb1616 (diff) | |
download | elgg-346d082dae4da3908f7c7a6b8b9946768e19f5d6.tar.gz elgg-346d082dae4da3908f7c7a6b8b9946768e19f5d6.tar.bz2 |
Fixes #2974 using canWriteToContainer() to control access to creating group content
git-svn-id: http://code.elgg.org/elgg/trunk@8795 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/groups/lib/discussion.php')
-rw-r--r-- | mod/groups/lib/discussion.php | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/mod/groups/lib/discussion.php b/mod/groups/lib/discussion.php index fb70d6c00..1813c87aa 100644 --- a/mod/groups/lib/discussion.php +++ b/mod/groups/lib/discussion.php @@ -67,7 +67,7 @@ function discussion_handle_list_page($guid) { 'filter' => '', ); - if (!$group->isMember() && !$group->canEdit()) { + if (!$group->canWriteToContainer()) { $params['buttons'] = ''; } @@ -91,7 +91,12 @@ function discussion_handle_edit_page($type, $guid) { register_error(elgg_echo('group:notfound')); forward(); } - group_gatekeeper(); + + // make sure user has permissions to write to container + if (!$group->canWriteToContainer()) { + register_error(elgg_echo('groups:permissions:error')); + forward($group->getURL()); + } $title = elgg_echo('groups:addtopic'); @@ -169,7 +174,7 @@ function discussion_handle_view_page($guid) { 'show_add_form' => false, )); $content .= elgg_view('discussion/closed'); - } elseif ($group->isMember() || elgg_is_admin_logged_in()) { + } elseif ($group->canWriteToContainer() || elgg_is_admin_logged_in()) { $content .= elgg_view('discussion/replies', array( 'entity' => $topic, 'show_add_form' => true, |