You are here

function quiz_update_7505 in Quiz 7.5

Same name and namespace in other branches
  1. 7.6 quiz.install \quiz_update_7505()

Revamping quiz feedback options.

File

./quiz.install, line 937
Quiz install schema for installing the quiz module.

Code

function quiz_update_7505() {
  db_add_field('quiz_node_properties', 'review_options', array(
    'type' => 'text',
    'serialize' => TRUE,
  ));
  drupal_get_schema(NULL, TRUE);
  $sql = "SELECT * FROM {quiz_node_properties}";
  $result = db_query($sql);
  while ($row = $result
    ->fetch()) {
    if ($row->feedback_time == 0) {
      $row->review_options['end']['answer_feedback'] = 'answer_feedback';
      if ($row->display_feedback) {
        $row->review_options['end']['solution'] = 'solution';
      }
    }
    if ($row->feedback_time == 1) {
      $row->review_options['question']['answer_feedback'] = 'answer_feedback';
      if ($row->display_feedback) {
        $row->review_options['question']['solution'] = 'solution';
      }
    }
    if ($row->feedback_time == 2) {
      $row->review_options = array();
    }
    drupal_write_record('quiz_node_properties', $row, array(
      'nid',
      'vid',
    ));
  }
  db_drop_field('quiz_node_properties', 'feedback_time');
  db_drop_field('quiz_node_properties', 'display_feedback');
}