function opigno_tincan_api_quiz_statements_tincan_question_statement_short_answer_alter in Opigno TinCan API 7
File
- modules/
opigno_tincan_api_quiz_statements/ opigno_tincan_api_quiz_statements.questions_alter.inc, line 249
Code
function opigno_tincan_api_quiz_statements_tincan_question_statement_short_answer_alter(TinCan\Statement &$statement, $question, $answers) {
// If the question is manually validated, the variables are not in the same place
if ($question->correct_answer_evaluation == 3) {
/******
** Set the result
***/
$answer = short_answer_get_answer($question->nid, $question->vid, $answers[0]['result_id']);
_opigno_tincan_api_set_result($statement, $answer['score'], $answer['rel_max_score'], null, $answer['answer']);
/******
** Set the interaction type properties
***/
$objectDefinition = _opigno_tincan_api_get_object_definition($statement);
$objectDefinition
->setInteractionType(OpignoTincanApiTinCanInteractionTypes::$fill_in);
}
else {
/******
** Set the result
***/
_opigno_tincan_api_set_result($statement, $answers[0]['score'], $question->max_score, $question->correct, $answers[0]['answer']);
/******
** Set the interaction type properties
***/
$objectDefinition = _opigno_tincan_api_get_object_definition($statement);
$objectDefinition
->setInteractionType(OpignoTincanApiTinCanInteractionTypes::$fill_in);
$objectDefinition
->setCorrectResponsesPattern(array(
$question->correct_answer,
));
}
}