You are here

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;
}