function quiz_update in Quiz 6.4
Same name and namespace in other branches
- 5.2 quiz.module \quiz_update()
- 5 quiz.module \quiz_update()
- 6.6 quiz.module \quiz_update()
- 6.2 quiz.module \quiz_update()
- 6.3 quiz.module \quiz_update()
- 6.5 quiz.module \quiz_update()
- 7.6 quiz.module \quiz_update()
- 7 quiz.module \quiz_update()
- 7.4 quiz.module \quiz_update()
- 7.5 quiz.module \quiz_update()
Implementation of hook_update().
File
- ./
quiz.module, line 646 - Quiz Module
Code
function quiz_update($node) {
_quiz_save_user_settings($node);
// Quiz node vid (revision) was updated.
if ($node->revision) {
// Insert a new row in the quiz_node_properties table.
$old_auto = isset($node->auto_created);
$node->auto_created = TRUE;
quiz_insert($node);
if (!$old_auto) {
unset($node->auto_created);
}
// Create new quiz-question relation entries in the quiz_node_relationship
// table.
quiz_update_quiz_question_relationship($node->old_vid, $node->vid, $node->nid);
}
else {
// Update an existing row in the quiz_node_properties table.
_quiz_common_presave_actions($node);
$sql = "UPDATE {quiz_node_properties}\n SET vid = %d,\n aid='%s',\n randomization = %d,\n backwards_navigation = %d,\n repeat_until_correct = %d,\n quiz_open = %d,\n quiz_close = %d,\n takes = %d,\n show_attempt_stats = %d,\n keep_results = %d,\n time_limit = '%d',\n pass_rate = %d,\n summary_pass = '%s',\n summary_default = '%s',\n quiz_always = %d,\n feedback_time = %d,\n display_feedback = %d,\n number_of_random_questions = %d,\n has_userpoints = %d,\n allow_skipping = %d,\n allow_resume = %d,\n allow_jumping = %d\n WHERE vid = %d\n AND nid = %d";
$resource = db_query($sql, $node->vid, $node->aid, $node->randomization, $node->backwards_navigation, $node->repeat_until_correct, $node->quiz_open, $node->quiz_close, $node->takes, $node->show_attempt_stats, $node->keep_results, $node->time_limit, $node->pass_rate, $node->summary_pass, $node->summary_default, $node->quiz_always, $node->feedback_time, $node->display_feedback, $node->number_of_random_questions, isset($node->has_userpoints) ? $node->has_userpoints : 0, $node->allow_skipping, $node->allow_resume, $node->allow_jumping, $node->vid, $node->nid);
_quiz_update_resultoptions($node);
}
_quiz_check_num_random($node);
_quiz_check_num_always($node);
quiz_update_max_score_properties(array(
$node->vid,
));
// If the node has no questions redirect to the manage questions tab
_quiz_redirect_if_empty($node);
}