. /** * Upgrade check * * @package core * @category check * @copyright 2020 Brendan Heywood (brendan@catalyst-au.net) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace core\check\environment; defined('MOODLE_INTERNAL') || die(); use core\check\check; use core\check\result; /** * Upgrade check * * @package core * @copyright 2020 Brendan Heywood (brendan@catalyst-au.net) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class upgradecheck extends check { /** * Get the short check name * * @return string */ public function get_name(): string { return get_string('checkupgradepending', 'admin'); } /** * A link to a place to action this * * @return \action_link|null */ public function get_action_link(): ?\action_link { return new \action_link( new \moodle_url('/admin/index.php?cache=1'), get_string('notifications', 'admin')); } /** * Return result * @return result */ public function get_result(): result { global $CFG; require("$CFG->dirroot/version.php"); $newversion = "$release ($version)"; if ($version < $CFG->version) { $status = result::ERROR; $summary = get_string('downgradedcore', 'error'); } else if (moodle_needs_upgrading()) { $status = result::ERROR; $summary = get_string('cliupgradepending', 'admin'); } else { $status = result::OK; $summary = get_string('cliupgradenoneed', 'core_admin', $newversion); } return new result($status, $summary); } }