diff --git a/lib/db/install.xml b/lib/db/install.xml
index 277e4011547..0340da70c57 100644
--- a/lib/db/install.xml
+++ b/lib/db/install.xml
@@ -128,7 +128,7 @@
-
+
@@ -137,6 +137,7 @@
+
@@ -146,12 +147,17 @@
+
-
+
+
+
+
+
@@ -161,7 +167,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -171,6 +197,7 @@
+
diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php
index 8904ad4c533..39a7f661be3 100644
--- a/lib/db/upgrade.php
+++ b/lib/db/upgrade.php
@@ -1056,6 +1056,61 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint($result, 2008111801);
}
+ if ($result && $oldversion < 2008112400) {
+
+ /// Define field availablefrom to be added to course_modules
+ $table = new xmldb_table('course_modules');
+ $field = new xmldb_field('availablefrom', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'completionexpected');
+
+ /// Conditionally launch add field availablefrom
+ if (!$dbman->field_exists($table, $field)) {
+ $dbman->add_field($table, $field);
+ }
+
+ /// Define field availableuntil to be added to course_modules
+ $field = new xmldb_field('availableuntil', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'availablefrom');
+
+ /// Conditionally launch add field availableuntil
+ if (!$dbman->field_exists($table, $field)) {
+ $dbman->add_field($table, $field);
+ }
+
+ /// Define field showavailability to be added to course_modules
+ $field = new xmldb_field('showavailability', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, '0', 'availableuntil');
+
+ /// Conditionally launch add field showavailability
+ if (!$dbman->field_exists($table, $field)) {
+ $dbman->add_field($table, $field);
+ }
+
+ /// Define table course_modules_availability to be created
+ $table = new xmldb_table('course_modules_availability');
+
+ /// Adding fields to table course_modules_availability
+ $table->add_field('id', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null, null);
+ $table->add_field('coursemoduleid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, XMLDB_NOTNULL, null, null, null, null);
+ $table->add_field('sourcecmid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, null, null, null);
+ $table->add_field('requiredcompletion', XMLDB_TYPE_INTEGER, '1', XMLDB_UNSIGNED, null, null, null, null, null);
+ $table->add_field('gradeitemid', XMLDB_TYPE_INTEGER, '10', XMLDB_UNSIGNED, null, null, null, null, null);
+ $table->add_field('grademin', XMLDB_TYPE_NUMBER, '10, 5', null, null, null, null, null, null);
+ $table->add_field('grademax', XMLDB_TYPE_NUMBER, '10, 5', null, null, null, null, null, null);
+
+ /// Adding keys to table course_modules_availability
+ $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));
+ $table->add_key('fk_coursemoduleid', XMLDB_KEY_FOREIGN, array('coursemoduleid'), 'course_modules', array('id'));
+ $table->add_key('fk_sourcecmid', XMLDB_KEY_FOREIGN, array('sourcecmid'), 'course_modules', array('id'));
+ $table->add_key('fk_gradeitemid', XMLDB_KEY_FOREIGN, array('gradeitemid'), 'grade_items', array('id'));
+
+ /// Conditionally launch create table for course_modules_availability
+ if (!$dbman->table_exists($table)) {
+ $dbman->create_table($table);
+ }
+
+ /// Main savepoint reached
+ upgrade_main_savepoint($result, 2008112400);
+ }
+
+
return $result;
}
diff --git a/version.php b/version.php
index b7338a196f2..862ceefb0ef 100644
--- a/version.php
+++ b/version.php
@@ -6,7 +6,7 @@
// This is compared against the values stored in the database to determine
// whether upgrades should be performed (see lib/db/*.php)
- $version = 2008112101; // YYYYMMDD = date of the last version bump
+ $version = 2008112400; // YYYYMMDD = date of the last version bump
// XX = daily increments
$release = '2.0 dev (Build: 20081124)'; // Human-friendly version name