$groups = $modx->getOption('groups', $scriptProperties, 'Administrator', true);
    if (strpos($groups, ',') !== false) {
        $groups = explode(',', $groups);
    }
    if (!$modx->user->isMember($groups)) {
        return '';
    }
}
$props = $scriptProperties;
$corePath = $modx->getOption('ugm.core_path', $props, $modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/upgrademodx/');
require_once $corePath . 'model/upgrademodx.class.php';
$upgrade = new UpgradeMODX($modx);
$upgrade->init($props);
/* See if user has submitted the form. If so, create the upgrade script and launch it */
if (isset($_POST['UpgradeMODX'])) {
    $upgrade->writeScriptFile();
    /* Log out all users before launching the form */
    $sessionTable = $modx->getTableName('modSession');
    if ($modx->query("TRUNCATE TABLE {$sessionTable}") == false) {
        $flushed = false;
    } else {
        $modx->user->endSession();
    }
    $modx->sendRedirect(MODX_BASE_URL . 'upgrade.php');
}
/* Set the method */
$forceFopen = $modx->getOption('forceFopen', $props, false, true);
$method = null;
if (extension_loaded('curl') && !$forceFopen) {
    $method = 'curl';
} elseif (ini_get('allow_url_fopen')) {