function long_answer_edit_score in Quiz 8.4
Same name and namespace in other branches
- 6.6 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 6.3 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 6.4 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 6.5 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 7.6 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 7 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
- 7.4 question_types/long_answer/long_answer.admin.inc \long_answer_edit_score()
Page handler for displaying a scoring form. This function is called directly from the menu router. It generates a form for scoring a quiz.
Parameters
$vid: The VID of the question and answer to load.
$rid: The result ID of the answer to load.
Return value
Text to display.
1 call to long_answer_edit_score()
- LongAnswerController::scoreLongAnswerPage in question_types/
long_answer/ lib/ Drupal/ long_answer/ Controller/ LongAnswerController.php
File
- question_types/
long_answer/ long_answer.admin.inc, line 32 - Administration pages for the long answer questions module.
Code
function long_answer_edit_score($vid, $rid) {
// We have to do the vid -> nid lookup ourselves because node_load uses only node.vid,
// and we need to be able to access old nodes in node_revision.vid.
$nid = db_query('SELECT nid FROM {node_revision} WHERE vid = :vid', array(
':vid' => $vid,
))
->fetchField();
if (!$nid) {
throw new NotFoundHttpException();
}
$node = node_load($nid, $vid);
if (!$node || $node
->getType() != 'long_answer') {
throw new NotFoundHttpException();
return;
}
$answer = (object) long_answer_get_answer($node
->id(), $node
->getRevisionId(), $rid);
if (!$answer) {
throw new NotFoundHttpException();
return;
}
if ($node->max_score > 0) {
$answer->rel_score = round($answer->score * $answer->rel_max_score / $node->max_score);
}
else {
$answer->rel_score = 0;
}
drupal_set_title(t('Score answer to "@title"', array(
'@title' => $node
->getTitle(),
)), PASS_THROUGH);
return drupal_get_form('long_answer_score_form', $node, $answer);
}