You are here

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