Esempio n. 1
0
/**
 * logic for setting access for groups
 * also adds group acls to personal access
 * 
 * @param type $hook
 * @param type $type
 * @param type $returnvalue
 * @param type $params
 * @return string
 */
function au_landing_group_acls($hook, $type, $returnvalue, $params)
{
    $user = get_user($params['user_id']);
    // get groups and add their acls to the options
    // only for personal content, eg. don't list all groups inside a group context
    if ($user && $type == 'user') {
        // scalability?
        $groups = $user->getGroups(array('limit' => false));
        if ($groups) {
            foreach ($groups as $group) {
                // only show top level groups if we're using subgroups
                if (elgg_is_active_plugin('au_subgroups')) {
                    $parent = \AU\SubGroups\get_parent_group($group);
                    if ($parent) {
                        continue;
                    }
                    $returnvalue[$group->group_acl] = elgg_echo('groups:group') . ": " . $group->name;
                    $returnvalue = au_landing_subgroups_access($group, $user, 5, $returnvalue);
                } else {
                    $returnvalue[$group->group_acl] = elgg_echo('groups:group') . ": " . $group->name;
                }
            }
        }
    }
    return $returnvalue;
}
Esempio n. 2
0
/**
 * 
 * 	Generates the dropdown menus for entity containers
 */
$widget = $vars['entity'];
$container = $widget->getContainerEntity();
$options_values = array('mine' => elgg_echo('eligo:owners:mine'), 'friends' => elgg_echo('eligo:owners:friends'), 'groups' => elgg_echo('eligo:owners:groups'), 'all' => elgg_echo('eligo:owners:all'));
// get groups and add their acls to the options
if ($container && elgg_instanceof($container, 'user')) {
    $groups = $container->getGroups(array('limit' => 0, 'offset' => 0));
    if ($groups) {
        foreach ($groups as $group) {
            // only show top level groups if we're using subgroups
            if (elgg_is_active_plugin('au_subgroups')) {
                $parent = \AU\SubGroups\get_parent_group($group);
                if ($parent) {
                    continue;
                }
                $options_values[$group->guid] = elgg_echo('groups:group') . ": " . $group->name;
                $options_values = eligo_get_subgroups_as_owners($group, $container, 5, $options_values);
            } else {
                $options_values[$group->guid] = elgg_echo('groups:group') . ": " . $group->name;
            }
        }
    }
}
if ($vars['eligo_owners']) {
    $options_values = array_filter(array_merge($options_values, $vars['eligo_owners']));
}
echo '<div class="eligo_field">';