Community Documentation

user_role_grant_permissions

7 user.module user_role_grant_permissions($rid, array $permissions = array())
8 user.module user_role_grant_permissions($rid, array $permissions = array())

Grant permissions to a user role.

Parameters

$rid: The ID of a user role to alter.

$permissions: A list of permission names to grant.

See also

user_role_change_permissions()

user_role_revoke_permissions()

▾ 11 functions call user_role_grant_permissions()

CommentBlockFunctionalTest::testRecentCommentBlock in modules/comment/comment.test
Test the recent comments block.
ContactPersonalTestCase::testPersonalContactAccess in modules/contact/contact.test
Tests access to the personal contact form.
ContactSitewideTestCase::testSiteWideContact in modules/contact/contact.test
Tests configuration options and the site-wide contact form.
DrupalWebTestCase::drupalCreateRole in modules/simpletest/drupal_web_test_case.php
Internal helper function; Create a role with specified permissions.
MenuBreadcrumbTestCase::testBreadCrumbs in modules/simpletest/tests/menu.test
Tests breadcrumbs on node and administrative paths.
minimal_install in profiles/minimal/minimal.install
Implements hook_install().
standard_install in profiles/standard/standard.install
Implements hook_install().
testing_install in profiles/testing/testing.install
Implements hook_install().
TextFieldTestCase::_testTextfieldWidgetsFormatted in modules/field/modules/text/text.test
Helper function for testTextfieldWidgetsFormatted().
user_modules_installed in modules/user/user.module
Implements hook_modules_installed().
user_role_change_permissions in modules/user/user.module
Change permissions for a user role.

File

modules/user/user.module, line 3018
Enables the user registration and login system.

Code

<?php
function user_role_grant_permissions($rid, array $permissions = array()) {
  $modules = user_permission_get_modules();
  // Grant new permissions for the role.
  foreach ($permissions as $name) {
    db_merge('role_permission')
      ->key(array(
      'rid' => $rid, 
      'permission' => $name,
    ))
      ->fields(array(
      'module' => $modules[$name],
    ))
      ->execute();
  }

  // Clear the user access cache.
  drupal_static_reset('user_access');
  drupal_static_reset('user_role_permissions');
}
?>
Login or register to post comments