MDL-49911 admin: Prevent notices when updatenotifications is disabled
authorFrederic Massart <fred@moodle.com>
Fri, 24 Apr 2015 06:41:01 +0000 (14:41 +0800)
committerDan Poltawski <dan@moodle.com>
Tue, 28 Apr 2015 09:13:36 +0000 (10:13 +0100)
admin/index.php

index b263903..bad3ed9 100644 (file)
@@ -556,31 +556,36 @@ $cronoverdue = ($lastcron < time() - 3600 * 24);
 $dbproblems = $DB->diagnose();
 $maintenancemode = !empty($CFG->maintenance_enabled);
 
-// Available updates for Moodle core
+// Available updates for Moodle core.
 $updateschecker = \core\update\checker::instance();
 $availableupdates = array();
-$availableupdates['core'] = $updateschecker->get_update_info('core',
-    array('minmaturity' => $CFG->updateminmaturity, 'notifybuilds' => $CFG->updatenotifybuilds));
-
-// Available updates for contributed plugins
-$pluginman = core_plugin_manager::instance();
-foreach ($pluginman->get_plugins() as $plugintype => $plugintypeinstances) {
-    foreach ($plugintypeinstances as $pluginname => $plugininfo) {
-        if (!empty($plugininfo->availableupdates)) {
-            foreach ($plugininfo->availableupdates as $pluginavailableupdate) {
-                if ($pluginavailableupdate->version > $plugininfo->versiondisk) {
-                    if (!isset($availableupdates[$plugintype.'_'.$pluginname])) {
-                        $availableupdates[$plugintype.'_'.$pluginname] = array();
+$availableupdatesfetch = null;
+
+if (empty($CFG->disableupdatenotifications)) {
+    // Only compute the update information when it is going to be displayed to the user.
+    $availableupdates['core'] = $updateschecker->get_update_info('core',
+        array('minmaturity' => $CFG->updateminmaturity, 'notifybuilds' => $CFG->updatenotifybuilds));
+
+    // Available updates for contributed plugins
+    $pluginman = core_plugin_manager::instance();
+    foreach ($pluginman->get_plugins() as $plugintype => $plugintypeinstances) {
+        foreach ($plugintypeinstances as $pluginname => $plugininfo) {
+            if (!empty($plugininfo->availableupdates)) {
+                foreach ($plugininfo->availableupdates as $pluginavailableupdate) {
+                    if ($pluginavailableupdate->version > $plugininfo->versiondisk) {
+                        if (!isset($availableupdates[$plugintype.'_'.$pluginname])) {
+                            $availableupdates[$plugintype.'_'.$pluginname] = array();
+                        }
+                        $availableupdates[$plugintype.'_'.$pluginname][] = $pluginavailableupdate;
                     }
-                    $availableupdates[$plugintype.'_'.$pluginname][] = $pluginavailableupdate;
                 }
             }
         }
     }
-}
 
-// The timestamp of the most recent check for available updates
-$availableupdatesfetch = $updateschecker->get_last_timefetched();
+    // The timestamp of the most recent check for available updates
+    $availableupdatesfetch = $updateschecker->get_last_timefetched();
+}
 
 $buggyiconvnomb = (!function_exists('mb_convert_encoding') and @iconv('UTF-8', 'UTF-8//IGNORE', '100'.chr(130).'€') !== '100€');
 //check if the site is registered on Moodle.org