elgg-facebook_theme icon indicating copy to clipboard operation
elgg-facebook_theme copied to clipboard

Some pages behaving poorly for closed groups

Open ewinslow opened this issue 13 years ago • 0 comments

Ran into a problem with closed groups:

  1. If not logged in, I was able to see the wall contents of a closed group;
  2. If logged in but not part of the group, got into an infinite redirect loop Fixed it using the following code for pages/groups/wall.php
<?php


$group = elgg_get_page_owner_entity();

if (!$group || !elgg_instanceof($group, 'group')) {
        register_error(elgg_echo('groups:notfound'));
        forward();
}

elgg_load_library('elgg:groups');
groups_register_profile_buttons($group);

$title = $group->name;

if (group_gatekeeper(false)) {
        $composer = '';
        if (elgg_is_logged_in()) {
                $composer = elgg_view('page/elements/composer', array('entity' => $group));
        }

        $db_prefix = elgg_get_config('dbprefix');
        $activity = elgg_list_river(array(
                'joins' => array("JOIN {$db_prefix}entities e ON e.guid = rv.object_guid"),
                'wheres' => array("e.container_guid = $group->guid OR rv.object_guid = $group->guid"),
        ));

        if (!$activity) {
                $activity = elgg_view('output/longtext', array('value' => elgg_echo('group:activity:none')));
        }


        $body = elgg_view_layout('two_sidebar', array(
                'title' => $title,
                'content' => $composer . $activity,
        ));

        echo elgg_view_page($title, $body);
} else {
        $activity = elgg_view('groups/profile/closed_membership');
        $body = elgg_view_layout('two_sidebar', array(
                'title' => $title,
                'content' => $activity,
        ));
        echo elgg_view_page($title, $body);

ewinslow avatar Dec 28 '11 08:12 ewinslow