if (extension_loaded('curl') && !$forceFopen) {
    $method = 'curl';
} elseif (ini_get('allow_url_fopen')) {
    $method = 'fopen';
} else {
    die($this->modx->lexicon('ugm_no_curl_no_fopen'));
}
$lastCheck = $modx->getOption('lastCheck', $props, '2015-08-17 00:00:004', true);
$interval = $modx->getOption('interval', $props, '+1 week', true);
$interval = '+1 week';
$hideWhenNoUpgrade = $modx->getOption('hideWhenNoUpgrade', $props, false, true);
$plOnly = $modx->getOption('plOnly', $props);
$versionsToShow = $modx->getOption('versionsToShow', $props, 5);
$currentVersion = $modx->getOption('settings_version');
$latestVersion = $modx->getOption('latestVersion', $props, '', true);
$versionListPath = $upgrade->getVersionListPath();
$versionListExists = false;
$fullVersionListPath = $versionListPath . 'versionlist';
if (file_exists($fullVersionListPath)) {
    $v = file_get_contents($fullVersionListPath);
    if (!empty($v)) {
        $versionListExists = true;
    }
}
$timeToCheck = $upgrade->timeToCheck($lastCheck, $interval);
/* Perform check if no versionlist or latestVersion, or if it's time to check */
if (!$versionListExists || $timeToCheck || empty($latestVersion)) {
    $upgradeAvailable = $upgrade->upgradeAvailable($currentVersion, $plOnly, $versionsToShow, $method);
    $latestVersion = $upgrade->getLatestVersion();
} else {
    $upgradeAvailable = version_compare($currentVersion, $latestVersion) < 0;