X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSetup.php;h=d28b339ef7c5a1612ea24cd5172da7b2cfcd8f8c;hb=0e79acf6a97a2939ad08029c63e164b642668a89;hp=a1cebaefa5c21592c75cbcee8cd53f46af7f8481;hpb=7dc42bd170e71a1d84de5ac47091e1c00ec64542;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Setup.php b/includes/Setup.php index a1cebaefa5..d28b339ef7 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -1,6 +1,8 @@ $wgRightsUrl, + "src" => $wgRightsIcon, + "alt" => $wgRightsText, + ); + } else { + unset($wgFooterIcons["copyright"]["copyright"]); + } +} + +if( isset($wgFooterIcons["poweredby"]) && + isset($wgFooterIcons["poweredby"]["mediawiki"]) && + $wgFooterIcons["poweredby"]["mediawiki"]["src"] === null ) { + $wgFooterIcons["poweredby"]["mediawiki"]["src"] = "$wgStylePath/common/images/poweredby_mediawiki_88x31.png"; } /** @@ -79,17 +106,23 @@ $wgNamespaceAliases['Image_talk'] = NS_FILE_TALK; * Initialise $wgLocalFileRepo from backwards-compatible settings */ if ( !$wgLocalFileRepo ) { + if( isset( $wgFileStore['deleted']['hash'] ) ) { + $deletedHashLevel = $wgFileStore['deleted']['hash']; + } else { + $deletedHashLevel = $wgHashedUploadDirectory ? 3 : 0; + } $wgLocalFileRepo = array( 'class' => 'LocalRepo', 'name' => 'local', 'directory' => $wgUploadDirectory, + 'scriptDirUrl' => $wgScriptPath, + 'scriptExtension' => $wgScriptExtension, 'url' => $wgUploadBaseUrl ? $wgUploadBaseUrl . $wgUploadPath : $wgUploadPath, 'hashLevels' => $wgHashedUploadDirectory ? 2 : 0, 'thumbScriptUrl' => $wgThumbnailScriptPath, 'transformVia404' => !$wgGenerateThumbnailOnParse, - 'initialCapital' => $wgCapitalLinks, - 'deletedDir' => $wgFileStore['deleted']['directory'], - 'deletedHashLevels' => $wgFileStore['deleted']['hash'] + 'deletedDir' => $wgDeletedDirectory, + 'deletedHashLevels' => $deletedHashLevel ); } /** @@ -130,6 +163,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" ); } @@ -146,29 +191,60 @@ require_once( "$IP/includes/Namespace.php" ); require_once( "$IP/includes/ProxyTools.php" ); require_once( "$IP/includes/ObjectCache.php" ); 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(); -$wgIP = false; # Load on demand +/** + * 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(); + # Can't stub this one, it sets up $_GET and $_REQUEST in its constructor $wgRequest = new WebRequest; # Useful debug output +global $wgCommandLineMode; 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 + if ( isset( $_SERVER['REQUEST_URI'] ) ) { + $requestUri = $_SERVER['REQUEST_URI']; + } elseif ( isset( $_SERVER['HTTP_X_ORIGINAL_URL'] ) ) { + $requestUri = $_SERVER['HTTP_X_ORIGINAL_URL']; + } else { + $requestUri = $_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 +288,16 @@ 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'; +} + +if ( $wgInvalidateCacheOnLocalSettingsChange ) { + $wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( "$IP/LocalSettings.php" ) ) ); +} + wfProfileOut( $fname.'-misc1' ); wfProfileIn( $fname.'-memcached' ); @@ -219,9 +305,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' ); @@ -251,13 +337,15 @@ $wgCookiePrefix = strtr($wgCookiePrefix, "=,; +.\"'\\[", "__________"); if( !wfIniGetBool( 'session.auto_start' ) ) session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' ); -if( !$wgCommandLineMode && ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) { - wfIncrStats( 'request_with_session' ); - wfSetupSession(); - $wgSessionStarted = true; -} else { - wfIncrStats( 'request_without_session' ); - $wgSessionStarted = false; +if( !defined( 'MW_NO_SESSION' ) && !$wgCommandLineMode ) { + if( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) { + wfIncrStats( 'request_with_session' ); + wfSetupSession(); + $wgSessionStarted = true; + } else { + wfIncrStats( 'request_without_session' ); + $wgSessionStarted = false; + } } wfProfileOut( $fname.'-SetupSession' ); @@ -267,15 +355,13 @@ $wgContLang = new StubContLang; // Now that variant lists may be available... $wgRequest->interpolateTitle(); - -$wgUser = new StubUser; +$wgUser = $wgCommandLineMode ? new User : User::newFromSession(); $wgLang = new StubUserLang; -$wgVariant = new StubUserVariant; $wgOut = new StubObject( 'wgOut', 'OutputPage' ); $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) ); $wgMessageCache = new StubObject( 'wgMessageCache', 'MessageCache', - array( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, wfWikiID() ) ); + array( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry ) ); wfProfileOut( $fname.'-globals' ); wfProfileIn( $fname.'-User' ); @@ -298,12 +384,8 @@ wfProfileOut( $fname.'-User' ); wfProfileIn( $fname.'-misc2' ); $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,17 +394,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"; - wfLoadExtensionMessages( 'mwEmbed' ); -} - - # 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