function system_update_7067

Grant administrators permission to view the administration theme.

Related topics

File

modules/system/system.install, line 3125

Code

function system_update_7067() {
    // Users with access to administration pages already see the administration
    // theme in some places (if one is enabled on the site), so we want them to
    // continue seeing it.
    $admin_roles = user_roles(FALSE, 'access administration pages');
    foreach (array_keys($admin_roles) as $rid) {
        _update_7000_user_role_grant_permissions($rid, array(
            'view the administration theme',
        ), 'system');
    }
    // The above check is not guaranteed to reach all administrative users of the
    // site, so if the site is currently using an administration theme, display a
    // message also.
    if (variable_get('admin_theme')) {
        if (empty($admin_roles)) {
            drupal_set_message('The new "View the administration theme" permission is required in order to view your site\'s administration theme. You can grant this permission to your site\'s administrators on the <a href="' . url('admin/people/permissions', array(
                'fragment' => 'module-system',
            )) . '">permissions page</a>.');
        }
        else {
            drupal_set_message('The new "View the administration theme" permission is required in order to view your site\'s administration theme. This permission has been automatically granted to the following roles: <em>' . check_plain(implode(', ', $admin_roles)) . '</em>. You can grant this permission to other roles on the <a href="' . url('admin/people/permissions', array(
                'fragment' => 'module-system',
            )) . '">permissions page</a>.');
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.