--- cvs/quiz.install 2006-10-23 03:03:03.000000000 +0200 +++ local/quiz.install 2006-11-06 04:40:39.000000000 +0100 @@ -1,85 +1,167 @@ = 0), + question_nid INT_UNSIGNED NOT NULL, + answer TEXT NOT NULL, + feedback TEXT NULL, + points SMALLINT NOT NULL, + PRIMARY KEY (aid) + );"); + db_query("CREATE INDEX {quiz_question_answer}_question_nid_idx + ON {quiz_question_answer} (question_nid)"); + + // Create the results table + db_query("CREATE TABLE {quiz_result} ( + rid INT_UNSIGNED NOT NULL, + quiz_nid INT_UNSIGNED NOT NULL, + uid INT_UNSIGNED NOT NULL, + time_start INT_UNSIGNED DEFAULT 0, + time_end INT_UNSIGNED DEFAULT 0, + released INT_UNSIGNED DEFAULT 0, + score SMALLINT NOT NULL, + PRIMARY KEY (rid) + );"); + db_query("CREATE INDEX {quiz_result}_quiz_nid_idx + ON {quiz_result} (quiz_nid)"); + + // Create the question results table + db_query("CREATE TABLE {quiz_question_results} ( + result_rid INT_UNSIGNED NOT NULL, + question_nid INT_UNSIGNED NOT NULL, + answer TEXT NOT NULL, + PRIMARY KEY (result_rid, question_nid) + );"); + break; } } + +/** + * Implementation of hook_uninstall() + */ +function quiz_uninstall() { + db_query('DROP TABLE {quiz_question_results}'); + db_query('DROP TABLE {quiz_result}'); + db_query('DROP TABLE {quiz_question_answer}'); + db_query('DROP TABLE {quiz_question}'); + db_query('DROP TABLE {quiz_questions}'); + db_query('DROP TABLE {quiz}'); + variable_del('quiz_name'); + variable_del('quiz_default_close'); + variable_del('quiz_use_passfail'); + variable_del('quiz_default_pass_rate'); + variable_del('quiz_default_answer_scoring'); +}