function restore_question_state in Quiz 6.5
Same name and namespace in other branches
- 6.6 includes/moodle/lib/questionlib.php \restore_question_state()
Creates the run-time fields for the states
Extends the state objects for a question by calling {@link restore_session_and_responses()}
Parameters
object $question The question for which the state is needed:
object $state The state as loaded from the database:
Return value
boolean Represents success or failure
2 calls to restore_question_state()
- get_question_states in includes/
moodle/ lib/ questionlib.php - Loads the most recent state of each question session from the database or create new one.
- regrade_question_in_attempt in includes/
moodle/ lib/ questionlib.php - For a given question in an attempt we walk the complete history of states and recalculate the grades as we go along.
File
- includes/
moodle/ lib/ questionlib.php, line 935
Code
function restore_question_state(&$question, &$state) {
global $QTYPES;
// initialise response to the value in the answer field
$state->responses = array(
'' => addslashes($state->answer),
);
unset($state->answer);
$state->manualcomment = isset($state->manualcomment) ? addslashes($state->manualcomment) : '';
// Set the changed field to false; any code which changes the
// question session must set this to true and must increment
// ->seq_number. The save_question_session
// function will save the new state object to the database if the field is
// set to true.
$state->changed = false;
// Load the question type specific data
return $QTYPES[$question->qtype]
->restore_session_and_responses($question, $state);
}