コード例 #1
0
function questionnaire_upgrade($oldversion)
{
    /// This function does anything necessary to upgrade
    /// older versions to match current functionality
    global $CFG;
    if ($oldversion < 2004021300) {
        # Do something ...
    }
    if ($oldversion < 2004081300) {
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire` ADD `respondenttype` ENUM( \'fullname\', \'anonymous\' ) DEFAULT \'fullname\' NOT NULL AFTER `qtype`');
    }
    if ($oldversion < 2004090700) {
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire` ADD `resp_eligible` ENUM( \'all\', \'students\', \'teachers\' ) DEFAULT \'all\' NOT NULL AFTER `respondenttype`');
    }
    if ($oldversion < 2004090900) {
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire` ADD `opendate` INT( 10 ) NOT NULL AFTER `resp_eligible` , ' . 'ADD `closedate` INT( 10 ) NOT NULL AFTER `opendate`');
    }
    if ($oldversion < 2005021100) {
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire` ADD INDEX ( `sid` )');
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire_survey` ADD INDEX ( `owner` )');
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire_survey` DROP INDEX `name` , ' . 'ADD INDEX `name` ( `name` )');
        questionnaire_upgrade_2005021100();
    }
    if ($oldversion < 2005030100) {
        execute_sql('ALTER TABLE `' . $CFG->prefix . 'questionnaire_attempts` ADD `rid` INT( 10 ) UNSIGNED ' . 'DEFAULT \'0\' NOT NULL AFTER `userid`');
    }
    if ($oldversion < 2005062700) {
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_bool` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_bool` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_bool` ADD INDEX `response_question` ( `response_id` , `question_id` ) ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_single` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_single` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_single` ADD INDEX `response_question` ( `response_id` , `question_id` ) ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_rank` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_rank` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_rank` ADD INDEX `response_question_choice` ( `response_id` , `question_id`, `choice_id` ) ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_text` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_text` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_text` ADD INDEX `response_question` ( `response_id` , `question_id` ) ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_other` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_other` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_other` ADD INDEX `response_question_choice` ( `response_id` , `question_id`, `choice_id` ) ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_date` DROP PRIMARY KEY ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_date` ADD `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ;');
        modify_database('', 'ALTER TABLE `prefix_questionnaire_response_date` ADD INDEX `response_question` ( `response_id` , `question_id` ) ;');
    }
    if ($oldversion < 2006012700) {
        questionnaire_upgrade_2006012700();
    }
    if ($oldversion < 2006031702) {
        questionnaire_upgrade_2006031700();
    }
    return true;
}
コード例 #2
0
function questionnaire_upgrade($oldversion)
{
    // This function does anything necessary to upgrade
    // older versions to match current functionality
    global $CFG;
    $result = true;
    if ($oldversion < 2005062701) {
    }
    if ($oldversion < 2006012700) {
        questionnaire_upgrade_2006012700();
    }
    if ($oldversion < 2006031700) {
        questionnaire_upgrade_2006031700();
    }
    return $result;
}