$argv) { $p = explode('=',ltrim($argv,'--')); if (isset($p[1])) { $_REQUEST[$p[0]] = $p[1]; } } if (!empty($_REQUEST['core_path']) && is_dir($_REQUEST['core_path'])) { define('MODX_CORE_PATH',$_REQUEST['core_path']); } if (!empty($_REQUEST['config_key'])) { define('MODX_CONFIG_KEY',$_REQUEST['config_key']); } } /* check for compatible PHP version */ define('MODX_SETUP_PHP_VERSION', phpversion()); $php_ver_comp = version_compare(MODX_SETUP_PHP_VERSION, '5.1.1'); if ($php_ver_comp < 0) { die('

FATAL ERROR: MODX Setup cannot continue.

Wrong PHP version! You\'re using PHP version '.MODX_SETUP_PHP_VERSION.', and MODX requires version 5.1.1 or higher.

'); } /* make sure json extension is available */ if (!function_exists('json_encode')) { die('

FATAL ERROR: MODX Setup cannot continue.

MODX requires the PHP JSON extension! You\'re PHP configuration at version '.MODX_SETUP_PHP_VERSION.' does not appear to have this extension enabled. This should be a standard extension on PHP 5.2+; it is available as a PECL extension in 5.1.

'); } /* make sure date.timezone is set for PHP 5.3.0+ users */ if (version_compare(MODX_SETUP_PHP_VERSION,'5.3.0') >= 0) { $phptz = @ini_get('date.timezone'); if (empty($phptz)) { die('

FATAL ERROR: MODX Setup cannot continue.

To use PHP 5.3.0+, you must set the date.timezone setting in your php.ini. Please do set it to a proper timezone before proceeding. A list can be found here.

'); } } if (!$isCommandLine) { $https = isset($_SERVER['HTTPS']) ? $_SERVER['HTTPS'] : false; $installBaseUrl= (!$https || strtolower($https) != 'on') ? 'http://' : 'https://'; $installBaseUrl .= $_SERVER['HTTP_HOST']; if ($_SERVER['SERVER_PORT'] != 80) $installBaseUrl= str_replace(':' . $_SERVER['SERVER_PORT'], '', $installBaseUrl); $installBaseUrl .= ($_SERVER['SERVER_PORT'] == 80 || ($https !== false || strtolower($https) == 'on')) ? '' : ':' . $_SERVER['SERVER_PORT']; $installBaseUrl .= $_SERVER['SCRIPT_NAME']; define('MODX_SETUP_URL', $installBaseUrl); } else { define('MODX_SETUP_URL','/'); } /* session loop-back tester */ if (!$isCommandLine && (!isset($_GET['s']) || $_GET['s'] != 'set') && !isset($_SESSION['session_test'])) { $_SESSION['session_test']= 1; echo "Loading..."; exit (); } elseif (!$isCommandLine && isset($_GET['s']) && $_GET['s'] == 'set' && !isset($_SESSION['session_test'])) { die('

FATAL ERROR: MODX Setup cannot continue.

Make sure your PHP session configuration is valid and working.

'); } $setupPath= strtr(realpath(dirname(__FILE__)), '\\', '/') . '/'; define('MODX_SETUP_PATH', $setupPath); $installPath= strtr(realpath(dirname(dirname(__FILE__))), '\\', '/') . '/'; define('MODX_INSTALL_PATH', $installPath); if (!include(MODX_SETUP_PATH . 'includes/config.core.php')) { die('

FATAL ERROR: MODX Setup cannot continue.

Make sure you have uploaded all of the setup/ files; your setup/includes/config.core.php file is missing.

'); } if (!include(MODX_SETUP_PATH . 'includes/modinstall.class.php')) { die('

FATAL ERROR: MODX Setup cannot continue.

Make sure you have uploaded all of the setup/ files; your setup/includes/modinstall.class.php file is missing.

'); } $modInstall = new modInstall(); if ($modInstall->getService('lexicon','modInstallLexicon')) { $modInstall->lexicon->load('default'); } $modInstall->findCore(); $modInstall->doPreloadChecks(); $requestClass = $isCommandLine ? 'request.modInstallCLIRequest' : 'request.modInstallRequest'; $modInstall->getService('request',$requestClass); echo $modInstall->request->handle(); exit();