]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3216 passing type/subtype for group discussions
authorCash Costello <cash.costello@gmail.com>
Sun, 8 Jan 2012 21:09:14 +0000 (16:09 -0500)
committerCash Costello <cash.costello@gmail.com>
Sun, 8 Jan 2012 21:09:14 +0000 (16:09 -0500)
mod/groups/actions/discussion/reply/save.php
mod/groups/actions/discussion/save.php
mod/groups/lib/discussion.php

index a1ed036b66a1f664f846784d903f17b6d6e0d852..f8be8aa2c9a819fd9144e28c86d503f6a3dfd1ba 100644 (file)
@@ -4,8 +4,6 @@
  *
  */
 
-gatekeeper();
-
 // Get input
 $entity_guid = (int) get_input('entity_guid');
 $text = get_input('group_topic_post');
@@ -23,10 +21,10 @@ if (!$topic) {
        forward(REFERER);
 }
 
-$user = get_loggedin_user();
+$user = elgg_get_logged_in_user_entity();
 
 $group = $topic->getContainerEntity();
-if (!$group->canWriteToContainer($user)) {
+if (!$group->canWriteToContainer()) {
        register_error(elgg_echo('groups:notmember'));
        forward(REFERER);
 }
index a51775cd6d5ae2d13a0356ca117ac92dda7a7b23..de4afadfbeaaf57d5ca4d14a3b1d90ae6f90d355 100644 (file)
@@ -21,7 +21,7 @@ if (!$title || !$desc) {
 }
 
 $container = get_entity($container_guid);
-if (!$container || !$container->canWriteToContainer()) {
+if (!$container || !$container->canWriteToContainer(0, 'object', 'groupforumtopic')) {
        register_error(elgg_echo('discussion:error:permissions'));
        forward(REFERER);
 }
index 2bda4678e6ea0f9e8b29708295a9457c56c63c6d..55642644db11c0208f9e4224d12b6b99638967ec 100644 (file)
@@ -92,8 +92,8 @@ function discussion_handle_edit_page($type, $guid) {
                        forward();
                }
 
-               // make sure user has permissions to write to container
-               if (!$group->canWriteToContainer()) {
+               // make sure user has permissions to add a topic to container
+               if (!$group->canWriteToContainer(0, 'object', 'groupforumtopic')) {
                        register_error(elgg_echo('groups:permissions:error'));
                        forward($group->getURL());
                }
@@ -173,7 +173,7 @@ function discussion_handle_view_page($guid) {
                        'show_add_form' => false,
                ));
                $content .= elgg_view('discussion/closed');
-       } elseif ($group->canWriteToContainer() || elgg_is_admin_logged_in()) {
+       } elseif ($group->canWriteToContainer(0, 'object', 'groupforumtopic') || elgg_is_admin_logged_in()) {
                $content .= elgg_view('discussion/replies', array(
                        'entity' => $topic,
                        'show_add_form' => true,