X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=index.php;h=201087847a7a9afc802318f520729081f704e0db;hb=b13b951050a5f330f3cffc45c10604ef07d5e398;hp=754fc13d72d463fdcc3f02955404b5c637b59ad1;hpb=8e4cb0d230964059d775631a86b63b82ec98bb22;p=lhc%2Fweb%2Fwiklou.git diff --git a/index.php b/index.php index 754fc13d72..201087847a 100644 --- a/index.php +++ b/index.php @@ -36,195 +36,23 @@ * @file */ -// Bail on old versions of PHP. Pretty much every other file in the codebase -// has structures (try/catch, foo()->bar(), etc etc) which throw parse errors in PHP 4. -// Setup.php and ObjectCache.php have structures invalid in PHP 5.0 and 5.1, respectively. -if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.2.3' ) < 0 ) { - $phpversion = htmlspecialchars( phpversion() ); - $errorMsg = << - MediaWiki requires PHP 5.2.3 or higher. You are running PHP $phpversion. -

-

- Please consider upgrading your copy of PHP. - PHP versions less than 5.3.0 are no longer supported by the PHP Group and will not receive - security or bugfix updates. -

-

- If for some reason you are unable to upgrade your PHP version, you will need to - download an older version - of MediaWiki from our website. See our - compatibility page - for details of which versions are compatible with prior versions of PHP. -

-ENDL; - wfDie( $errorMsg ); +# Bail on old versions of PHP. Pretty much every other file in the codebase +# has structures (try/catch, foo()->bar(), etc etc) which throw parse errors in +# PHP 4. Setup.php and ObjectCache.php have structures invalid in PHP 5.0 and +# 5.1, respectively. +if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) { + require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' ); + wfPHPVersionError( 'index.php' ); } -# Initialise common code. This gives us access to GlobalFunctions, the AutoLoader, and -# the globals $wgRequest, $wgOut, $wgUser, $wgLang and $wgContLang, amongst others; it -# does *not* load $wgTitle +# Initialise common code. This gives us access to GlobalFunctions, the +# AutoLoader, and the globals $wgRequest, $wgOut, $wgUser, $wgLang and +# $wgContLang, amongst others; it does *not* load $wgTitle if ( isset( $_SERVER['MW_COMPILED'] ) ) { require ( 'phase3/includes/WebStart.php' ); } else { require ( dirname( __FILE__ ) . '/includes/WebStart.php' ); } -try { - wfIndexMain(); -} catch ( Exception $e ) { - MWExceptionHandler::handle( $e ); -} - -function wfIndexMain() { - global $wgRequest, $wgShowHostnames, $mediaWiki, $wgTitle, $wgUseAjax, $wgUseFileCache; - - wfProfileIn( 'index.php' ); - wfProfileIn( 'index.php-setup' ); - - $maxLag = $wgRequest->getVal( 'maxlag' ); - if ( !is_null( $maxLag ) ) { - $lb = wfGetLB(); // foo()->bar() is not supported in PHP4 - list( $host, $lag ) = $lb->getMaxLag(); - if ( $lag > $maxLag ) { - header( 'HTTP/1.1 503 Service Unavailable' ); - header( 'Retry-After: ' . max( intval( $maxLag ), 5 ) ); - header( 'X-Database-Lag: ' . intval( $lag ) ); - header( 'Content-Type: text/plain' ); - if( $wgShowHostnames ) { - echo "Waiting for $host: $lag seconds lagged\n"; - } else { - echo "Waiting for a database server: $lag seconds lagged\n"; - } - wfProfileOut( 'index.php-setup' ); - wfProfileOut( 'index.php' ); - exit; - } - } - - # Initialize MediaWiki base class - $context = RequestContext::getMain(); - $mediaWiki = new MediaWiki( $context ); - - # Set title from request parameters - $wgTitle = $mediaWiki->getTitle(); - $action = $wgRequest->getVal( 'action', 'view' ); - - wfProfileOut( 'index.php-setup' ); - - # Send Ajax requests to the Ajax dispatcher. - if ( $wgUseAjax && $action == 'ajax' ) { - $dispatcher = new AjaxDispatcher(); - $dispatcher->performAction(); - wfProfileOut( 'index.php' ); - $mediaWiki->restInPeace(); - exit; - } - - if ( $wgUseFileCache && $wgTitle !== null ) { - wfProfileIn( 'index.php-filecache' ); - // Raw pages should handle cache control on their own, - // even when using file cache. This reduces hits from clients. - if ( $action != 'raw' && HTMLFileCache::useFileCache() ) { - /* Try low-level file cache hit */ - $cache = new HTMLFileCache( $wgTitle, $action ); - if ( $cache->isFileCacheGood( /* Assume up to date */ ) ) { - /* Check incoming headers to see if client has this cached */ - if ( !$context->output->checkLastModified( $cache->fileCacheTime() ) ) { - $cache->loadFromFileCache(); - } - # Do any stats increment/watchlist stuff - $article = Article::newFromTitle( $wgTitle, $context ); - $article->viewUpdates(); - # Tell OutputPage that output is taken care of - $context->output->disable(); - wfProfileOut( 'index.php-filecache' ); - $mediaWiki->finalCleanup(); - wfProfileOut( 'index.php' ); - $mediaWiki->restInPeace(); - exit; - } - } - wfProfileOut( 'index.php-filecache' ); - } - - /** - * $wgArticle is deprecated, do not use it. This will possibly be removed - * entirely in 1.20 or 1.21 - * @deprecated since 1.19 - */ - global $wgArticle; - - $wgArticle = $mediaWiki->performRequest(); - - $mediaWiki->finalCleanup(); - - wfProfileOut( 'index.php' ); - - $mediaWiki->restInPeace(); -} - -/** - * Display something vaguely comprehensible in the event of a totally unrecoverable error. - * Does not assume access to *anything*; no globals, no autloader, no database, no localisation. - * Safe for PHP4 (and putting this here means that WebStart.php and GlobalSettings.php - * no longer need to be). - * - * Calling this function kills execution immediately. - * - * @param $errorMsg String fully-escaped HTML - */ -function wfDie( $errorMsg ){ - // Use the version set in DefaultSettings if possible, but don't rely on it - global $wgVersion, $wgLogo; - $version = isset( $wgVersion ) && $wgVersion - ? htmlspecialchars( $wgVersion ) - : ''; - - $script = $_SERVER['SCRIPT_NAME']; - $path = pathinfo( $script, PATHINFO_DIRNAME ) . '/'; - $path = str_replace( '//', '/', $path ); - - $logo = isset( $wgLogo ) && $wgLogo - ? $wgLogo - : $path . 'skins/common/images/mediawiki.png'; - $encLogo = htmlspecialchars( $logo ); - - header( $_SERVER['SERVER_PROTOCOL'] . ' 500 MediaWiki configuration Error', true, 500 ); - header( 'Content-type: text/html; charset=UTF-8' ); - // Don't cache error pages! They cause no end of trouble... - header( 'Cache-control: none' ); - header( 'Pragma: nocache' ); - - ?> - - - - MediaWiki <?php echo $version; ?> - - - - - The MediaWiki logo -

MediaWiki internal error

-
- - - run();