You are here

function submenutree_update_7200 in Submenu Tree 7.2

Update roles with Submenu Tree 7.x-1.x permissions.

File

./submenutree.install, line 152
Install, update and uninstall functions for the Submenu Tree module.

Code

function submenutree_update_7200() {

  // Find every role with sub or sibling content permissions
  $sub_content_roles = user_roles(FALSE, 'administer submenu trees');
  $sibling_content_roles = user_roles(FALSE, 'administer siblingmenu trees');

  // Define which permissions should be added and removed from roles with the old "administer submenu trees" permission
  $new_sub_content_permissions = array(
    'administer submenu trees' => FALSE,
    'administer sub content' => TRUE,
    'administer sub content title' => TRUE,
    'administer sub content display type' => TRUE,
    'administer sub content weight' => TRUE,
  );

  // Define which permissions should be added and removed from roles with the old "administer siblingmenu trees" permission
  $new_sibling_content_permissions = array(
    'administer siblingmenu trees' => FALSE,
    'administer sibling content' => TRUE,
    'administer sibling content title' => TRUE,
    'administer sibling content display type' => TRUE,
    'administer sibling content weight' => TRUE,
  );

  // Update roles with the old sub content permission
  foreach ($sub_content_roles as $role_id => $role_name) {
    user_role_change_permissions($role_id, $new_sub_content_permissions);
  }

  // Update roles with the old sibling content permission
  foreach ($sibling_content_roles as $role_id => $role_name) {
    user_role_change_permissions($role_id, $new_sibling_content_permissions);
  }
  return t('Successfully migrated all user roles with old Submenu Tree permissions.');
}