]> git.mjollnir.org Git - moodle.git/commitdiff
Fixing the logic for the enrol upgrade
authormoodler <moodler>
Thu, 9 Mar 2006 06:54:31 +0000 (06:54 +0000)
committermoodler <moodler>
Thu, 9 Mar 2006 06:54:31 +0000 (06:54 +0000)
lib/db/mysql.php
lib/db/postgres7.php

index 7cdcb814ed3d5872b9973ebd00e5f6393bc9f888..8a694617ee1e5ea02ee0a14dce5ecb8f243f6d3e 100644 (file)
@@ -1660,22 +1660,23 @@ function main_upgrade($oldversion=0) {
 
     if ($oldversion < 2006030900) {
         table_column('course','','enrol','varchar','20','','');
-        set_config('enrol_plugins_enabled', ($CFG->enrol == 'internal'?$CFG->enrol:'internal,' . $CFG->enrol));
+
+        if ($CFG->enrol == 'internal' || $CFG->enrol == 'manual') {
+            set_config('enrol_plugins_enabled', 'manual');
+            set_config('enrol', 'manual');
+        } else {
+            set_config('enrol_plugins_enabled', 'manual,'.$CFG->enrol);
+        }
+
         require_once("$CFG->dirroot/enrol/enrol.class.php");
         $defaultenrol = enrolment_factory::factory($CFG->enrol);
         if (!method_exists($defaultenrol, 'print_entry')) { // switch enrollable to off for all courses in this case
             modify_database('', 'UPDATE prefix_course SET enrollable = 0');
         }
-    }
 
-    if ($oldversion < 2005103100) { // Repair enrol field in user_students/user_teacher table
         execute_sql("UPDATE {$CFG->prefix}user_students SET enrol='manual' WHERE enrol='' OR enrol='internal'");
         execute_sql("UPDATE {$CFG->prefix}user_teachers SET enrol='manual' WHERE enrol=''");
-    }
 
-    if ($oldversion < 2005103101) { // rename internal to manual
-        set_config('enrol_plugins_enabled', str_replace('internal', 'manual', $CFG->enrol_plugins_enabled));
-        set_config('enrol', str_replace('internal', 'manual', $CFG->enrol));
     }
 
     return $result;
index 4bf53b43c87b880620bf5de9a4da7fba31eb7499..f3555dc1dbfc260236cce2eddfc9871764abedbf 100644 (file)
@@ -1403,22 +1403,23 @@ function main_upgrade($oldversion=0) {
 
     if ($oldversion < 2006030900) {
         table_column('course','','enrol','varchar','20','','');
-        set_config('enrol_plugins_enabled', ($CFG->enrol == 'internal'?$CFG->enrol:'internal,' . $CFG->enrol));
+
+        if ($CFG->enrol == 'internal' || $CFG->enrol == 'manual') {
+            set_config('enrol_plugins_enabled', 'manual');
+            set_config('enrol', 'manual');
+        } else {
+            set_config('enrol_plugins_enabled', 'manual,'.$CFG->enrol);
+        }
+
         require_once("$CFG->dirroot/enrol/enrol.class.php");
         $defaultenrol = enrolment_factory::factory($CFG->enrol);
         if (!method_exists($defaultenrol, 'print_entry')) { // switch enrollable to off for all courses in this case
             modify_database('', 'UPDATE prefix_course SET enrollable = 0');
         }
-    }
-    
-    if ($oldversion < 2005103100) { // Repair enrol field in user_students/user_teacher table
+
         execute_sql("UPDATE {$CFG->prefix}user_students SET enrol='manual' WHERE enrol='' OR enrol='internal'");
         execute_sql("UPDATE {$CFG->prefix}user_teachers SET enrol='manual' WHERE enrol=''");
-    }
 
-    if ($oldversion < 2005103101) { // rename internal to manual
-        set_config('enrol_plugins_enabled', str_replace('internal', 'manual', $CFG->enrol_plugins_enabled));
-        set_config('enrol', str_replace('internal', 'manual', $CFG->enrol));
     }
 
     return $result;