protected function TincanContentAnswerAssistant::getStatementFinalScore in Opigno module 8
Same name and namespace in other branches
- 3.x ActivityTypes/opigno_tincan_activity/src/TincanContentAnswerAssistant.php \Drupal\opigno_tincan_activity\TincanContentAnswerAssistant::getStatementFinalScore()
Get the statement containing the final score.
Parameters
\TinCan\RemoteLRS $lrs: The LRS connection.
string $registration_uuid: The registration UUID.
string $activity_id: The activity ID of the statement.
Return value
bool|\TinCan\Statement The statement. If not found, returns FALSE.
1 call to TincanContentAnswerAssistant::getStatementFinalScore()
- TincanContentAnswerAssistant::getScoreFromLrs in ActivityTypes/
opigno_tincan_activity/ src/ TincanContentAnswerAssistant.php - This method will return the score from the LRS system for this response.
File
- ActivityTypes/
opigno_tincan_activity/ src/ TincanContentAnswerAssistant.php, line 219
Class
- TincanContentAnswerAssistant
- Class TincanContentAnswerAssistant.
Namespace
Drupal\opigno_tincan_activityCode
protected function getStatementFinalScore(RemoteLRS $lrs, $registration_uuid, $activity_id) {
$activity = new Activity();
$activity
->setId($activity_id);
$verb_passed = new Verb();
$verb_passed
->setId(OpignoTincanApiTinCanVerbs::$passed['id']);
// Test with verb "passed".
$result = $lrs
->queryStatements([
'activity' => $activity,
'registration' => $registration_uuid,
'verb' => $verb_passed,
'limit' => 1,
]);
$statements = [];
if (!empty($result->content) && is_object($result->content)) {
$statements = $result->content
->getStatements();
// If nothing with "passed", test with "failed" verb.
if (count($statements) === 0) {
$verb_failed = new Verb();
$verb_failed
->setId(OpignoTincanApiTinCanVerbs::$failed['id']);
$result = $lrs
->queryStatements([
'activity' => $activity,
'registration' => $registration_uuid,
'verb' => $verb_failed,
'limit' => 1,
]);
if (!empty($result->content) && is_object($result->content)) {
$statements = $result->content
->getStatements();
}
}
}
if (count($statements) > 0) {
return $statements[0];
}
else {
return FALSE;
}
}