X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSetup.php;h=b37fb5e0c85c2cc04994e6bd171cea3a03a477ee;hb=df6d1309e09caeca6d2e914612dcb4cc283c2c8d;hp=7f4395707c679a4474bc28bbf6ca5ad21f2d70f9;hpb=30e44a06fc1f349b6487e458fcda99d540c0183e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Setup.php b/includes/Setup.php index 7f4395707c..b37fb5e0c8 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -8,7 +8,6 @@ * MEDIAWIKI is defined */ if( !defined( 'MEDIAWIKI' ) ) { - echo "This file is part of MediaWiki, it is not a valid entry point.\n"; exit( 1 ); } @@ -41,6 +40,7 @@ if( $wgArticlePath === false ) { if( $wgStylePath === false ) $wgStylePath = "$wgScriptPath/skins"; if( $wgStyleDirectory === false) $wgStyleDirectory = "$IP/skins"; +if( $wgExtensionAssetsPath === false ) $wgExtensionAssetsPath = "$wgScriptPath/extensions"; if( $wgLogo === false ) $wgLogo = "$wgStylePath/common/images/wiki.png"; @@ -87,7 +87,6 @@ if ( !$wgLocalFileRepo ) { 'hashLevels' => $wgHashedUploadDirectory ? 2 : 0, 'thumbScriptUrl' => $wgThumbnailScriptPath, 'transformVia404' => !$wgGenerateThumbnailOnParse, - 'initialCapital' => $wgCapitalLinks, 'deletedDir' => $wgFileStore['deleted']['directory'], 'deletedHashLevels' => $wgFileStore['deleted']['hash'] ); @@ -130,6 +129,18 @@ if ( $wgUseSharedUploads ) { ); } } +if( $wgUseInstantCommons ) { + $wgForeignFileRepos[] = array( + 'class' => 'ForeignAPIRepo', + 'name' => 'wikimediacommons', + 'apibase' => 'http://commons.wikimedia.org/w/api.php', + 'hashLevels' => 2, + 'fetchDescription' => true, + 'descriptionCacheExpiry' => 43200, + 'apiThumbCacheExpiry' => 86400, + ); +} + if ( !class_exists( 'AutoLoader' ) ) { require_once( "$IP/includes/AutoLoader.php" ); } @@ -149,9 +160,19 @@ require_once( "$IP/includes/ImageFunctions.php" ); require_once( "$IP/includes/StubObject.php" ); wfProfileOut( $fname.'-includes' ); wfProfileIn( $fname.'-misc1' ); + # Raise the memory limit if it's too low wfMemoryLimit(); +/** + * Set up the timezone, suppressing the pseudo-security warning in PHP 5.1+ + * that happens whenever you use a date function without the timezone being + * explicitly set. Inspired by phpMyAdmin's treatment of the problem. + */ +wfSuppressWarnings(); +date_default_timezone_set( date_default_timezone_get() ); +wfRestoreWarnings(); + $wgIP = false; # Load on demand # Can't stub this one, it sets up $_GET and $_REQUEST in its constructor $wgRequest = new WebRequest; @@ -159,16 +180,33 @@ $wgRequest = new WebRequest; # Useful debug output if ( $wgCommandLineMode ) { wfDebug( "\n\nStart command line script $self\n" ); -} elseif ( function_exists( 'getallheaders' ) ) { - wfDebug( "\n\nStart request\n" ); - wfDebug( $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . "\n" ); - $headers = getallheaders(); - foreach ($headers as $name => $value) { - wfDebug( "$name: $value\n" ); +} else { + wfDebug( "Start request\n\n" ); + # Output the REQUEST_URI. This is not supported by IIS in rewrite mode, + # so use an alternative + $requestUri = isset( $_SERVER['REQUEST_URI'] ) ? $_SERVER['REQUEST_URI'] : + ( isset( $_SERVER['HTTP_X_ORIGINAL_URL'] ) ? $_SERVER['HTTP_X_ORIGINAL_URL'] : + $_SERVER['PHP_SELF'] ); + wfDebug( "{$_SERVER['REQUEST_METHOD']} {$requestUri}\n" ); + + if ( $wgDebugPrintHttpHeaders ) { + $headerOut = "HTTP HEADERS:\n"; + + if ( function_exists( 'getallheaders' ) ) { + $headers = getallheaders(); + foreach ( $headers as $name => $value ) { + $headerOut .= "$name: $value\n"; + } + } else { + $headers = $_SERVER; + foreach ( $headers as $name => $value ) { + if ( substr( $name, 0, 5 ) !== 'HTTP_' ) continue; + $name = substr( $name, 5 ); + $headerOut .= "$name: $value\n"; + } + } + wfDebug( "$headerOut\n" ); } - wfDebug( "\n" ); -} elseif( isset( $_SERVER['REQUEST_URI'] ) ) { - wfDebug( $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . "\n" ); } if( $wgRCFilterByAge ) { @@ -212,6 +250,13 @@ if( !$wgAllowUserSkin ) { $wgHiddenPrefs[] = 'skin'; } +if ( !$wgHtml5Version && $wgHtml5 && $wgAllowRdfaAttributes ) { + # see http://www.w3.org/TR/rdfa-in-html/#document-conformance + if ( $wgMimeType == 'application/xhtml+xml' ) $wgHtml5Version = 'XHTML+RDFa 1.0'; + else $wgHtml5Version = 'HTML+RDFa 1.0'; +} + + wfProfileOut( $fname.'-misc1' ); wfProfileIn( $fname.'-memcached' ); @@ -219,9 +264,9 @@ $wgMemc =& wfGetMainCache(); $messageMemc =& wfGetMessageCacheStorage(); $parserMemc =& wfGetParserCacheStorage(); -wfDebug( 'Main cache: ' . get_class( $wgMemc ) . - "\nMessage cache: " . get_class( $messageMemc ) . - "\nParser cache: " . get_class( $parserMemc ) . "\n" ); +wfDebug( 'CACHES: ' . get_class( $wgMemc ) . '[main] ' . + get_class( $messageMemc ) . '[message] ' . + get_class( $parserMemc ) . "[parser]\n" ); wfProfileOut( $fname.'-memcached' ); @@ -270,7 +315,6 @@ $wgRequest->interpolateTitle(); $wgUser = new StubUser; $wgLang = new StubUserLang; -$wgVariant = new StubUserVariant; $wgOut = new StubObject( 'wgOut', 'OutputPage' ); $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) ); @@ -301,9 +345,7 @@ $wgDeferredUpdateList = array(); $wgPostCommitUpdateList = array(); if ( $wgAjaxWatch ) $wgAjaxExportList[] = 'wfAjaxWatch'; -if ( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'UploadForm::ajaxGetExistsWarning'; -if( $wgAjaxLicensePreview ) - $wgAjaxExportList[] = 'UploadForm::ajaxGetLicensePreview'; +if ( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'SpecialUpload::ajaxGetExistsWarning'; # Placeholders in case of DB error $wgTitle = null; @@ -312,16 +354,6 @@ $wgArticle = null; wfProfileOut( $fname.'-misc2' ); wfProfileIn( $fname.'-extensions' ); -/* - * load the $wgExtensionMessagesFiles for the script loader - * this can't be done in a normal extension type way - * since the script-loader is an entry point - */ -if( $wgEnableScriptLoader && strpos( wfGetScriptUrl(), "mwScriptLoader.php" ) !== false ){ - $wgExtensionMessagesFiles['mwEmbed'] = "{$IP}/js2/mwEmbed/php/languages/mwEmbed.i18n.php"; -} - - # Extension setup functions for extensions other than skins # Entries should be added to this variable during the inclusion # of the extension file. This allows the extension to perform