function lti_tool_provider_outcomes_set_score in LTI Tool Provider 7
Set the outcomes score for a user.
Parameters
string $score: The new Score.
$user_id: The user, defaults to current user if not specified.
Return value
boolean True if successful.
1 call to lti_tool_provider_outcomes_set_score()
- lti_tool_provider_outcomes_set_score_action in lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module - Action: Set the user's score.
File
- lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module, line 319
Code
function lti_tool_provider_outcomes_set_score($score = '0.0', $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 ($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 (isset($result[$entity_type])) {
$outcome = reset(entity_load($entity_type, array_keys($result[$entity_type])));
$outcome->lti_tool_provider_outcomes_score = $score;
$outcome->lti_tool_provider_outcomes_last_updated = REQUEST_TIME;
entity_get_controller($entity_type)
->save($outcome);
drupal_set_message(t('Score has been set.'));
return TRUE;
}
else {
drupal_set_message(t('Unable to set score: No outcome.'), 'error');
}
}
else {
drupal_set_message(t('Unable to set score: No resource.'), 'error');
}
}
else {
drupal_set_message(t('Unable to set score: No LTI session'), 'error');
}
return FALSE;
}