You are here

function lti_tool_provider_unassign_global_roles_from_user in LTI Tool Provider 7

Remove a user from drupal Global roles based on LTI roles.

Parameters

string $lti_roles: The string representing the lti_roles.

integer $uid: The id of the user to assign the role.

1 call to lti_tool_provider_unassign_global_roles_from_user()
lti_tool_provider_memberships_alter_member in lti_tool_provider_memberships/lti_tool_provider_memberships.module
Alter membership for a member.

File

./lti_tool_provider.module, line 287
lti_tool_provider hook implementations and support functions.

Code

function lti_tool_provider_unassign_global_roles_from_user($lti_roles, $uid) {
  $select_roles = user_roles(TRUE, NULL);
  $global_role_array = variable_get('lti_tool_provider_global_role_array');
  $roles = explode(',', $lti_roles);
  foreach ($roles as $key => $raw_role) {
    $tmp = explode(':', $raw_role);
    $tmp2 = explode('/', end($tmp));
    $lti_role = end($tmp2);

    // Check if the mapped global role exists.
    if (isset($global_role_array[$lti_role]) && isset($select_roles[$global_role_array[$lti_role]])) {
      user_multiple_role_edit(array(
        $uid,
      ), 'remove_role', $global_role_array[$lti_role]);
    }
  }
}