$result = $result && create_table($table);
}
+ if ($result && $oldversion < 2007071607) {
+ require_once($CFG->dirroot . '/question/upgrade.php');
+ $result = $result && question_remove_rqp_qtype_config_string();
+ }
+
return $result;
}
?>
}
function question_remove_rqp_qtype() {
+ global $CFG;
+
$result = true;
- $table = new XMLDBTable('question_rqp_states');
- $result = $result && drop_table($table);
-
- $table = new XMLDBTable('question_rqp');
- $result = $result && drop_table($table);
-
- $table = new XMLDBTable('question_rqp_types');
- $result = $result && drop_table($table);
-
- $table = new XMLDBTable('question_rqp_servers');
- $result = $result && drop_table($table);
+ // Only remove the question type if the code is gone.
+ if (!is_dir($CFG->dirroot . '/question/type/rqp')) {
+ $table = new XMLDBTable('question_rqp_states');
+ $result = $result && drop_table($table);
+
+ $table = new XMLDBTable('question_rqp');
+ $result = $result && drop_table($table);
+
+ $table = new XMLDBTable('question_rqp_types');
+ $result = $result && drop_table($table);
+
+ $table = new XMLDBTable('question_rqp_servers');
+ $result = $result && drop_table($table);
+
+ $result = $result && unset_config('qtype_rqp_version');
+ }
+
+ return $result;
+}
+
+function question_remove_rqp_qtype_config_string() {
+ global $CFG;
+
+ $result = true;
+
+ // An earlier, buggy version of the previous function missed out the unset_config call.
+ if (!empty($CFG->qtype_rqp_version) && !is_dir($CFG->dirroot . '/question/type/rqp')) {
+ $result = $result && unset_config('qtype_rqp_version');
+ }
return $result;
}
// This is compared against the values stored in the database to determine
// whether upgrades should be performed (see lib/db/*.php)
- $version = 2007071501; // YYYYMMDD = date
- // XY = increments within a single day
+ $version = 2007071600; // YYYYMMDD = date
+ // XY = increments within a single day
- $release = '1.9 dev'; // Human-friendly version name
+ $release = '1.9 dev'; // Human-friendly version name
?>