aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/lib
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-20 23:34:10 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-20 23:34:10 +0000
commit346d082dae4da3908f7c7a6b8b9946768e19f5d6 (patch)
tree970a50a0b5dc7eeec6d1d616ea788fdf85534697 /mod/groups/lib
parent8d8c62f3ed7be6691d76824ae82888aba2bb1616 (diff)
downloadelgg-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')
-rw-r--r--mod/groups/lib/discussion.php11
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,