function lti_tool_provider_outcomes_get_score in LTI Tool Provider 7
Get a users outcomes score.
Parameters
$user_id: The user, defaults to current user if not specified.
Return value
string|NULL Score of the current user based on the LTI session.
File
- lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module, line 365
Code
function lti_tool_provider_outcomes_get_score($user_id = NULL) {
if (isset($_SESSION['lti_tool_provider_context_info'])) {
if ($user_id == NULL) {
global $user;
$user_id = $user->uid;
}
$entity_type = 'lti_tool_provider_outcomes';
$resource = lti_tool_provider_outcomes_get_resource($_SESSION['lti_tool_provider_context_info']['consumer_id'], $_SESSION['lti_tool_provider_context_info']['context_id'], $_SESSION['lti_tool_provider_context_info']['resource_link_id']);
if (isset($resource)) {
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', $entity_type)
->propertyCondition('lti_tool_provider_outcomes_user_id', $user_id)
->propertyCondition('lti_tool_provider_outcomes_resource_entity_id_fk', $resource->lti_tool_provider_outcomes_resource_id);
$result = $query
->execute();
if (!empty($result[$entity_type])) {
$outcomes = entity_load($entity_type, array_keys($result[$entity_type]));
foreach ($outcomes as $outcome) {
return $outcome->lti_tool_provider_outcomes_score;
}
}
else {
drupal_set_message(t('Unable to retrieve score, please contact your local adminstrator'));
}
}
else {
drupal_set_message(t('Unable to retrieve score, please contact your local adminstrator'));
}
}
else {
drupal_set_message(t('Unable to get score: No LTI session'), 'error');
}
return NULL;
}