function lti_tool_provider_memberships_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.
2 calls to lti_tool_provider_memberships_search_roles()
- lti_tool_provider_memberships_add_user_to_membership_groups in lti_tool_provider_memberships/
lti_tool_provider_memberships.module - Add a user to membership groups.
- 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_memberships/
lti_tool_provider_memberships.module, line 1018 - lti_tool_provider_memberships hook implementations and support functions.
Code
function lti_tool_provider_memberships_search_roles($lti_roles_str) {
$found_roles = array();
$group_role_array = variable_get('lti_tool_provider_memberships_subgroup_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;
}