X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSetup.php;h=d57cba19df62a9496c140c7435bf81c013cddc47;hb=154ac6816775059fcb1d784b0f59c8f4e2692a02;hp=f1ae417b8244efcc851eabece34ce01c623fda6f;hpb=40618e0c3e29b22a2b961ea283fe394584e1514f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Setup.php b/includes/Setup.php index f1ae417b82..d57cba19df 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -59,14 +59,22 @@ if ( empty( $wgFileStore['deleted']['directory'] ) ) { } /** - * Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a - * sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure. + * Unconditional protection for NS_MEDIAWIKI since otherwise it's too easy for a + * sysadmin to set $wgNamespaceProtection incorrectly and leave the wiki insecure. * - * Note that this is the definition of editinterface and it can be granted to + * Note that this is the definition of editinterface and it can be granted to * all users if desired. */ $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface'; +/** + * The canonical names of namespaces 6 and 7 are, as of v1.14, "File" + * and "File_talk". The old names "Image" and "Image_talk" are + * retained as aliases for backwards compatibility. + */ +$wgNamespaceAliases['Image'] = NS_FILE; +$wgNamespaceAliases['Image_talk'] = NS_FILE_TALK; + /** * Initialise $wgLocalFileRepo from backwards-compatible settings */ @@ -122,14 +130,6 @@ if ( $wgUseSharedUploads ) { ); } } - -/** - * Workaround for http://bugs.php.net/bug.php?id=45132 - * escapeshellarg() destroys non-ASCII characters if LANG is not a UTF-8 locale - */ -putenv( 'LC_CTYPE=en_US.UTF-8' ); -setlocale( LC_CTYPE, 'en_US.UTF-8' ); - if ( !class_exists( 'AutoLoader' ) ) { require_once( "$IP/includes/AutoLoader.php" ); } @@ -149,17 +149,12 @@ 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 # Can't stub this one, it sets up $_GET and $_REQUEST in its constructor $wgRequest = new WebRequest; -if ( function_exists( 'posix_uname' ) ) { - $wguname = posix_uname(); - $wgNodeName = $wguname['nodename']; -} else { - $wgNodeName = ''; -} # Useful debug output if ( $wgCommandLineMode ) { @@ -203,6 +198,20 @@ if($wgMetaNamespace === FALSE) { # To determine the user language, use $wgLang->getCode() $wgContLanguageCode = $wgLanguageCode; +# Easy to forget to falsify $wgShowIPinHeader for static caches. +# If file cache or squid cache is on, just disable this (DWIMD). +if( $wgUseFileCache || $wgUseSquid ) $wgShowIPinHeader = false; + +# $wgAllowRealName and $wgAllowUserSkin were removed in 1.16 +# in favor of $wgHiddenPrefs, handle b/c here +if( !$wgAllowRealName ) { + $wgHiddenPrefs[] = 'realname'; +} + +if( !$wgAllowUserSkin ) { + $wgHiddenPrefs[] = 'skin'; +} + wfProfileOut( $fname.'-misc1' ); wfProfileIn( $fname.'-memcached' ); @@ -215,15 +224,19 @@ wfDebug( 'Main cache: ' . get_class( $wgMemc ) . "\nParser cache: " . get_class( $parserMemc ) . "\n" ); wfProfileOut( $fname.'-memcached' ); + +## Most of the config is out, some might want to run hooks here. +wfRunHooks( 'SetupAfterCache' ); + wfProfileIn( $fname.'-SetupSession' ); # Set default shared prefix if( $wgSharedPrefix === false ) $wgSharedPrefix = $wgDBprefix; if( !$wgCookiePrefix ) { - if ( in_array('user', $wgSharedTables) && $wgSharedDB && $wgSharedPrefix ) { + if ( $wgSharedDB && $wgSharedPrefix && in_array('user',$wgSharedTables) ) { $wgCookiePrefix = $wgSharedDB . '_' . $wgSharedPrefix; - } elseif ( in_array('user', $wgSharedTables) && $wgSharedDB ) { + } elseif ( $wgSharedDB && in_array('user',$wgSharedTables) ) { $wgCookiePrefix = $wgSharedDB; } elseif ( $wgDBprefix ) { $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix; @@ -238,7 +251,7 @@ $wgCookiePrefix = strtr($wgCookiePrefix, "=,; +.\"'\\[", "__________"); if( !wfIniGetBool( 'session.auto_start' ) ) session_name( $wgSessionName ? $wgSessionName : $wgCookiePrefix . '_session' ); -if( !$wgCommandLineMode && ( $wgRequest->checkSessionCookie() || !is_null( $wgRequest->getCookie('Token') ) ) ) { +if( !$wgCommandLineMode && ( $wgRequest->checkSessionCookie() || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) { wfIncrStats( 'request_with_session' ); wfSetupSession(); $wgSessionStarted = true; @@ -257,6 +270,7 @@ $wgRequest->interpolateTitle(); $wgUser = new StubUser; $wgLang = new StubUserLang; +$wgVariant = new StubUserVariant; $wgOut = new StubObject( 'wgOut', 'OutputPage' ); $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) ); @@ -298,12 +312,30 @@ $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 + */ +$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 # any necessary initialisation in the fully initialised environment foreach ( $wgExtensionFunctions as $func ) { - $profName = $fname.'-extensions-'.strval( $func ); + # Allow closures in PHP 5.3+ + if ( is_object( $func ) && $func instanceof Closure ) { + $profName = $fname.'-extensions-closure'; + } elseif( is_array( $func ) ) { + if ( is_object( $func[0] ) ) + $profName = $fname.'-extensions-'.get_class( $func[0] ).'::'.$func[1]; + else + $profName = $fname.'-extensions-'.implode( '::', $func ); + } else { + $profName = $fname.'-extensions-'.strval( $func ); + } + wfProfileIn( $profName ); call_user_func( $func ); wfProfileOut( $profName ); @@ -315,6 +347,16 @@ wfRunHooks( 'LogPageLogName', array( &$wgLogNames ) ); wfRunHooks( 'LogPageLogHeader', array( &$wgLogHeaders ) ); wfRunHooks( 'LogPageActionText', array( &$wgLogActions ) ); +if( !empty($wgNewUserLog) ) { + # Add a new log type + $wgLogTypes[] = 'newusers'; + $wgLogNames['newusers'] = 'newuserlogpage'; + $wgLogHeaders['newusers'] = 'newuserlogpagetext'; + $wgLogActions['newusers/newusers'] = 'newuserlogentry'; // For compatibility with older log entries + $wgLogActions['newusers/create'] = 'newuserlog-create-entry'; + $wgLogActions['newusers/create2'] = 'newuserlog-create2-entry'; + $wgLogActions['newusers/autocreate'] = 'newuserlog-autocreate-entry'; +} wfDebug( "Fully initialised\n" ); $wgFullyInitialised = true;