function lti_tool_provider_assign_global_roles_to_user in LTI Tool Provider 7
Map a user to a drupal Global role based on his/her role in the LTI context.
Parameters
string $lti_roles: The string representing the lti_roles.
integer $uid: The id of the user to assign the role.
3 calls to lti_tool_provider_assign_global_roles_to_user()
- lti_tool_provider_launch in ./
lti_tool_provider.operations.inc - LTI launch.
- lti_tool_provider_memberships_add_member in lti_tool_provider_memberships/
lti_tool_provider_memberships.module - Add a membership for a new 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 264 - lti_tool_provider hook implementations and support functions.
Code
function lti_tool_provider_assign_global_roles_to_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,
), 'add_role', $global_role_array[$lti_role]);
}
}
}