diff --git a/admin/index.php b/admin/index.php index 8e68e44578c..359dac40029 100644 --- a/admin/index.php +++ b/admin/index.php @@ -561,31 +561,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