From ca6f3a8b5f38de87acf4ae7ab1eccafdcf85221d Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Fri, 24 Apr 2015 14:41:01 +0800 Subject: [PATCH] MDL-49911 admin: Prevent notices when updatenotifications is disabled --- admin/index.php | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/admin/index.php b/admin/index.php index b263903ca8a..bad3ed90921 100644 --- a/admin/index.php +++ b/admin/index.php @@ -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)); +$availableupdatesfetch = null; -// 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(); +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