function lti_tool_provider_og_search_roles in LTI Tool Provider 7
Return an array of group roles that are mapped from a string of LTI roles.
Parameters
string $lti_roles_str: A string containing the lti roles from the lti launch parameters.
Return value
array The found roles.
3 calls to lti_tool_provider_og_search_roles()
- 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.
- lti_tool_provider_og_lti_tool_provider_launch_alter in lti_tool_provider_og/
lti_tool_provider_og.module - Implements hook_lti_tool_provider_launch_alter().
File
- lti_tool_provider_og/
lti_tool_provider_og.module, line 34 - lti_tool_provider_og hook implementations and support functions.
Code
function lti_tool_provider_og_search_roles($lti_roles_str) {
$found_roles = array();
$group_role_array = variable_get('lti_tool_provider_og_group_role_array');
$lti_roles = explode(',', $lti_roles_str);
foreach ($lti_roles as $raw_lti_role) {
$lti_role_exploded = explode('/', $raw_lti_role);
if (count($lti_role_exploded) >= 3) {
$lti_role = $lti_role_exploded[2];
}
else {
$lti_role = $lti_role_exploded[0];
}
if (isset($group_role_array[$lti_role])) {
$found_roles[$lti_role] = $group_role_array[$lti_role];
}
else {
drupal_set_message(t('Role @lti_role, not found.', array(
'@lti_role' => $lti_role,
)), 'warning');
}
}
return $found_roles;
}