]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15249 more cleanup and refactoring - towards cli upgrade
authorskodak <skodak>
Tue, 26 May 2009 19:02:11 +0000 (19:02 +0000)
committerskodak <skodak>
Tue, 26 May 2009 19:02:11 +0000 (19:02 +0000)
lib/upgradelib.php

index c6c7b6b106bc8a9921dd96e31c04a5c0506dfae8..99e0332e30c8ec92a213ba6c5f7597493761269c 100644 (file)
@@ -291,14 +291,14 @@ function upgrade_plugin_savepoint($result, $version, $type, $dir, $allowabort=tr
  * @param string $dir  The directory where the plugins are located (e.g. 'question/questiontypes')
  * @param string $return The url to prompt the user to continue to
  */
-function upgrade_plugins($type, $dir, $startcallback, $endcallback) {
+function upgrade_plugins($type, $dir, $startcallback, $endcallback, $verbose) {
     global $CFG, $DB;
 
 /// special cases
     if ($type === 'mod') {
-        return upgrade_plugins_modules($startcallback, $endcallback);
+        return upgrade_plugins_modules($startcallback, $endcallback, $verbose);
     } else if ($type === 'block') {
-        return upgrade_plugins_blocks($startcallback, $endcallback);
+        return upgrade_plugins_blocks($startcallback, $endcallback, $verbose);
     }
 
     $plugs = get_list_of_plugins($dir);
@@ -332,7 +332,7 @@ function upgrade_plugins($type, $dir, $startcallback, $endcallback) {
         $installedversion = get_config($plugin->fullname, 'version');
 
         if (empty($installedversion)) { // new installation
-            $startcallback($component, true);
+            $startcallback($component, true, $verbose);
 
         /// Install tables if defined
             if (file_exists($fullplug.'/db/install.xml')) {
@@ -353,11 +353,11 @@ function upgrade_plugins($type, $dir, $startcallback, $endcallback) {
             events_update_definition($component);
             message_update_providers($component);
 
-            $endcallback($component, true);
+            $endcallback($component, true, $verbose);
 
         } else if ($installedversion < $plugin->version) { // upgrade
         /// Run the upgrade function for the plugin.
-            $startcallback($component, false);
+            $startcallback($component, false, $verbose);
 
             if (is_readable($fullplug.'/db/upgrade.php')) {
                 require_once($fullplug.'/db/upgrade.php');  // defines upgrading function
@@ -379,7 +379,7 @@ function upgrade_plugins($type, $dir, $startcallback, $endcallback) {
             events_update_definition($component);
             message_update_providers($component);
 
-            $endcallback($component, false);
+            $endcallback($component, false, $verbose);
 
         } else if ($installedversion > $plugin->version) {
             throw new downgrade_exception($component, $installedversion, $plugin->version);
@@ -393,7 +393,7 @@ function upgrade_plugins($type, $dir, $startcallback, $endcallback) {
  * @global object
  * @global object
  */
-function upgrade_plugins_modules($startcallback, $endcallback) {
+function upgrade_plugins_modules($startcallback, $endcallback, $verbose) {
     global $CFG, $DB;
 
     $mods = get_list_of_plugins('mod');
@@ -434,7 +434,7 @@ function upgrade_plugins_modules($startcallback, $endcallback) {
         $currmodule = $DB->get_record('modules', array('name'=>$module->name));
 
         if (empty($currmodule->version)) {
-            $startcallback($component, true);
+            $startcallback($component, true, $verbose);
 
         /// Execute install.xml (XMLDB) - must be present in all modules
             $DB->get_manager()->install_from_xmldb_file($fullmod.'/db/install.xml');
@@ -454,11 +454,11 @@ function upgrade_plugins_modules($startcallback, $endcallback) {
             events_update_definition($component);
             message_update_providers($component);
 
-            $endcallback($component, true);
+            $endcallback($component, true, $verbose);
 
         } else if ($currmodule->version < $module->version) {
         /// If versions say that we need to upgrade but no upgrade files are available, notify and continue
-            $startcallback($component, false);
+            $startcallback($component, false, $verbose);
 
             if (is_readable($fullmod.'/db/upgrade.php')) {
                 require_once($fullmod.'/db/upgrade.php');  // defines new upgrading function
@@ -481,7 +481,7 @@ function upgrade_plugins_modules($startcallback, $endcallback) {
 
             remove_dir($CFG->dataroot.'/cache', true); // flush cache
 
-            $endcallback($component, false);
+            $endcallback($component, false, $verbose);
 
         } else if ($currmodule->version > $module->version) {
             throw new downgrade_exception($component, $currmodule->version, $module->version);
@@ -497,7 +497,7 @@ function upgrade_plugins_modules($startcallback, $endcallback) {
  * @global object
  * @global object
  */
-function upgrade_plugins_blocks($startcallback, $endcallback) {
+function upgrade_plugins_blocks($startcallback, $endcallback, $verbose) {
     global $CFG, $DB;
 
     require_once($CFG->dirroot.'/blocks/moodleblock.class.php');
@@ -562,7 +562,7 @@ function upgrade_plugins_blocks($startcallback, $endcallback) {
                 // AND PHP's associative arrays ;)
                 throw new plugin_defective_exception($component, get_string('blocknameconflict', '', (object)array('name'=>$block->name, 'conflict'=>$conflictblock)));
             }
-            $startcallback($component, true);
+            $startcallback($component, true, $verbose);
 
             if (file_exists($fullblock.'/db/install.xml')) {
                 $DB->get_manager()->install_from_xmldb_file($fullblock.'/db/install.xml');
@@ -582,10 +582,10 @@ function upgrade_plugins_blocks($startcallback, $endcallback) {
             events_update_definition($component);
             message_update_providers($component);
 
-            $endcallback($component, true);
+            $endcallback($component, true, $verbose);
 
         } else if ($currblock->version < $block->version) {
-            $startcallback($component, false);
+            $startcallback($component, false, $verbose);
 
             if (is_readable($fullblock.'/db/upgrade.php')) {
                 require_once($fullblock.'/db/upgrade.php');  // defines new upgrading function
@@ -612,7 +612,7 @@ function upgrade_plugins_blocks($startcallback, $endcallback) {
             update_capabilities($component);
             message_update_providers($component);
 
-            $endcallback($component, false);
+            $endcallback($component, false, $verbose);
 
         } else if ($currblock->version > $block->version) {
             throw new downgrade_exception($component, $currblock->version, $block->version);
@@ -909,13 +909,17 @@ function print_upgrade_separator() {
  * @param string $plugin
  * @param bool $installation true if installation, false menas upgrade
  */
-function print_upgrade_part_start($plugin, $installation=false) {
+function print_upgrade_part_start($plugin, $installation, $verbose) {
     if (empty($plugin) or $plugin == 'moodle') {
         upgrade_started($installation); // does not store upgrade running flag yet
-        print_heading(get_string('coresystem'));
+        if ($verbose) {
+            print_heading(get_string('coresystem'));
+        }
     } else {
         upgrade_started();
-        print_heading($plugin);
+        if ($verbose) {
+            print_heading($plugin);
+        }
     }
     if ($installation) {
         if (empty($plugin) or $plugin == 'moodle') {
@@ -937,7 +941,7 @@ function print_upgrade_part_start($plugin, $installation=false) {
  * @param string $plugin
  * @param bool $installation true if installation, false menas upgrade
  */
-function print_upgrade_part_end($plugin, $installation=false) {
+function print_upgrade_part_end($plugin, $installation, $verbose) {
     upgrade_started();
     if ($installation) {
         if (empty($plugin) or $plugin == 'moodle') {
@@ -952,55 +956,9 @@ function print_upgrade_part_end($plugin, $installation=false) {
             upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Plugin upgraded');
         }
     }
-    notify(get_string('success'), 'notifysuccess');
-    print_upgrade_separator();
-}
-
-/**
- * Silent start upgrade callback - does not output anything
- * @param string $plugin
- * @param bool $installation true if installation, false menas upgrade
- */
-function silent_upgrade_part_start($plugin, $installation=false) {
-    if (empty($plugin) or $plugin == 'moodle') {
-        upgrade_started($installation); // does not store upgrade running flag yet
-    } else {
-        upgrade_started();
-    }
-    if ($installation) {
-        if (empty($plugin) or $plugin == 'moodle') {
-            // no need to log - log table not yet there ;-)
-        } else {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Starting plugin installation');
-        }
-    } else {
-        if (empty($plugin) or $plugin == 'moodle') {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Starting core upgrade');
-        } else {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Starting plugin upgrade');
-        }
-    }
-}
-
-/**
- * Silent end upgrade callback - does not output anything
- * @param string $plugin
- * @param bool $installation true if installation, false menas upgrade
- */
-function silent_upgrade_part_end($plugin, $installation=false) {
-    upgrade_started();
-    if ($installation) {
-        if (empty($plugin) or $plugin == 'moodle') {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Core installed');
-        } else {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Plugin installed');
-        }
-    } else {
-        if (empty($plugin) or $plugin == 'moodle') {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Core upgraded');
-        } else {
-            upgrade_log(UPGRADE_LOG_NORMAL, $plugin, 'Plugin upgraded');
-        }
+    if ($verbose) {
+        notify(get_string('success'), 'notifysuccess');
+        print_upgrade_separator();
     }
 }
 
@@ -1063,11 +1021,7 @@ function install_core($version, $verbose) {
     global $CFG, $DB;
 
     try {
-        if ($verbose) {
-            print_upgrade_part_start('moodle', true); // does not store upgrade running flag
-        } else {
-            silent_upgrade_part_start('moodle', true); // does not store upgrade running flag
-        }
+        print_upgrade_part_start('moodle', true, $verbose); // does not store upgrade running flag
 
         $DB->get_manager()->install_from_xmldb_file("$CFG->libdir/db/install.xml");
         upgrade_started();     // we want the flag to be stored in config table ;-)
@@ -1087,11 +1041,7 @@ function install_core($version, $verbose) {
         // Write default settings unconditionlly
         admin_apply_default_settings(NULL, true);
 
-        if ($verbose) {
-            print_upgrade_part_end(null, true);
-        } else {
-            silent_upgrade_part_end(null, true);
-        }
+        print_upgrade_part_end(null, true, $verbose);
     } catch (exception $ex) {
         upgrade_handle_exception($ex);
     }
@@ -1115,11 +1065,7 @@ function upgrade_core($version, $verbose) {
             upgrade_language_pack(false);
         }
 
-        if ($verbose) {
-            print_upgrade_part_start('moodle');
-        } else {
-            silent_upgrade_part_start('moodle');
-        }
+        print_upgrade_part_start('moodle', false, $verbose);
 
         $result = xmldb_main_upgrade($CFG->version);
         if ($version > $CFG->version) {
@@ -1135,11 +1081,7 @@ function upgrade_core($version, $verbose) {
 
         remove_dir($CFG->dataroot . '/cache', true); // flush cache
 
-        if ($verbose) {
-            print_upgrade_part_end('moodle');
-        } else {
-            silent_upgrade_part_end('moodle');
-        }
+        print_upgrade_part_end('moodle', false, $verbose);
     } catch (Exception $ex) {
         upgrade_handle_exception($ex);
     }
@@ -1153,20 +1095,11 @@ function upgrade_core($version, $verbose) {
 function upgrade_noncore($verbose) {
     global $CFG;
 
-    // setup callbacks
-    if ($verbose) {
-        $start = 'print_upgrade_part_start';
-        $end   = 'print_upgrade_part_end';
-    } else {
-        $start = 'silent_upgrade_part_start';
-        $end   = 'silent_upgrade_part_end';
-    }
-
     // upgrade all plugins types
     try {
         $plugintypes = get_plugin_types();
         foreach ($plugintypes as $type=>$location) {
-            upgrade_plugins($type, $location, $start, $end);
+            upgrade_plugins($type, $location, 'print_upgrade_part_start', 'print_upgrade_part_end', $verbose);
         }
     } catch (Exception $ex) {
         upgrade_handle_exception($ex);
@@ -1187,7 +1120,7 @@ function upgrade_noncore($verbose) {
     // Check for local database customisations
     try {
         require_once("$CFG->dirroot/lib/locallib.php");
-        upgrade_local_db($start, $end);
+        upgrade_local_db('print_upgrade_part_start', 'print_upgrade_part_end', $verbose);
     } catch (Exception $ex) {
         upgrade_handle_exception($ex);
     }