function group_access in Group 7
Determine whether the user has a given privilege for a group.
Important: Group access should always trump user access. If a user has the right to view nodes of type Page, he can still face an 'Access denied' message if he tries to view a Page of a private group.
Parameters
string $permission: The permission, such as "administer group", being checked for.
Group $group: The group to check the permission on.
object $account: (optional) The account to check, if not given use currently logged in user.
Return value
bool Whether the user has the requested permission.
22 calls to group_access()
- ggroup_add_subgroup_access in modules/
ggroup/ ggroup.router.inc - Access callback for group/%group/subgroup/add/%group_type.
- ginvite_by_mail_form_validate in modules/
ginvite/ forms/ ginvite.inc - Validate handler for ginvite_by_mail_form().
- gnode_add_node_access in modules/
gnode/ gnode.router.inc - Access callback for group/%group/node/add/%.
- gnode_group_node_create_access in modules/
gnode/ gnode.module - Determines whether a user could create a node in a Group context.
- gnode_group_node_create_gids in modules/
gnode/ gnode.module - Retrieve all group ids a user can create a node of a given type in.
3 string references to 'group_access'
- gadd_menu in modules/
gadd/ gadd.router.inc - Implements hook_menu().
- ginvite_menu in modules/
ginvite/ ginvite.router.inc - Implements hook_menu().
- GroupMembershipUIController::hook_menu in classes/
group_membership.ui_controller.inc - Provides definitions for implementing hook_menu().
File
- helpers/
group.inc, line 24 - Group related helper functions.
Code
function group_access($permission, Group $group, $account = NULL) {
global $user;
if (!isset($account)) {
$account = $user;
}
return user_access('bypass group access', $account) || $group
->userHasPermission($account->uid, $permission);
}