function administerusersbyrole_menu_alter in Administer Users by Role 7.2
Same name and namespace in other branches
- 7 administerusersbyrole.module \administerusersbyrole_menu_alter()
Implements hook_menu_alter().
File
- ./
administerusersbyrole.module, line 53 - Provides fine-grained permissions for creating, editing, and deleting users.
Code
function administerusersbyrole_menu_alter(&$items) {
// Dependency was added on chain_menu_access and, immediately after an update, the dependency may be missing.
// Make sure we don't render the whole website unusable in this case.
if (!module_exists('chain_menu_access')) {
return;
}
chain_menu_access_chain($items, 'user/%user', '_administerusersbyrole_check_access', array(
1,
'edit',
), TRUE);
chain_menu_access_chain($items, 'user/%user/edit', '_administerusersbyrole_check_access', array(
1,
'edit',
), TRUE);
chain_menu_access_chain($items, 'user/%user/cancel', '_administerusersbyrole_check_access', array(
1,
'cancel',
), TRUE);
$items['user/%user/cancel']['page callback'] = 'administerusersbyrole_cancel_confirm_wrapper';
$items['user/%user/cancel']['page arguments'] = array(
1,
);
chain_menu_access_chain($items, 'admin/people', 'user_access', array(
'access users overview',
), TRUE);
// The code in the user module to create a user relies on 'administer users' permission being set, so pass an argument to elevate permissions.
chain_menu_access_chain($items, 'admin/people/create', '_administerusersbyrole_can_create_users', array(
'elevate',
), TRUE);
// Compatibility with other contrib modules.
// If 'password_policy_password_tab' module (a sub-module of 'password_policy') is enabled, then check and update access.
if (module_exists('password_policy_password_tab')) {
chain_menu_access_chain($items, 'user/%user/password', '_administerusersbyrole_check_access', array(
1,
'edit',
), TRUE);
}
}