You are here

function quiz_question_update_7500 in Quiz 7.5

Same name and namespace in other branches
  1. 7.6 question_types/quiz_question/quiz_question.install \quiz_question_update_7500()

Add fields for general question feedback.

File

question_types/quiz_question/quiz_question.install, line 85
The installer file for quiz_question.

Code

function quiz_question_update_7500() {
  db_drop_primary_key('quiz_question_properties');
  db_add_field('quiz_question_properties', 'qqp_id', array(
    'type' => 'serial',
    'not null' => TRUE,
  ), array(
    'primary key' => array(
      'qqp_id',
    ),
  ));
  db_add_field('quiz_question_properties', 'feedback', array(
    'type' => 'text',
    'not null' => FALSE,
  ));
  db_add_field('quiz_question_properties', 'feedback_format', array(
    'type' => 'varchar',
    'length' => 255,
    'not null' => FALSE,
  ));
  if (module_exists('truefalse')) {

    // Migrate the truefalse feedback, since we have generic feedback now.
    $filter = filter_default_format();
    db_query("UPDATE {quiz_question_properties} qqp\n    INNER JOIN {quiz_truefalse_node} qtn ON (qtn.vid = qqp.vid)\n    SET qqp.feedback = qtn.feedback, qqp.feedback_format = :format", array(
      ':format' => $filter,
    ));

    // Drop old field.
    db_drop_field('quiz_truefalse_node', 'feedback');
  }
  return t('Added global quiz question feedback fields and migrated true/false feedback.');
}