Bugfis, making ?uselang=qqq an invalid language code, see
[lhc/web/wiklou.git] / includes / Setup.php
index 61b3173..d450dfd 100644 (file)
@@ -58,6 +58,23 @@ if ( empty( $wgFileStore['deleted']['directory'] ) ) {
        $wgFileStore['deleted']['directory'] = "{$wgUploadDirectory}/deleted";
 }
 
+/**
+ * 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 
+ * 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
  */
@@ -113,7 +130,6 @@ if ( $wgUseSharedUploads ) {
                );
        }
 }
-
 if ( !class_exists( 'AutoLoader' ) ) {
        require_once( "$IP/includes/AutoLoader.php" );
 }
@@ -138,12 +154,6 @@ wfProfileIn( $fname.'-misc1' );
 $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 ) {
@@ -187,6 +197,10 @@ 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;
+
 wfProfileOut( $fname.'-misc1' );
 wfProfileIn( $fname.'-memcached' );
 
@@ -199,19 +213,25 @@ 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 ( in_array('user', $wgSharedTables) && $wgSharedDB && $wgSharedPrefix ) {
-       $wgCookiePrefix = $wgSharedDB . '_' . $wgSharedPrefix;
-} elseif ( in_array('user', $wgSharedTables) && $wgSharedDB ) {
-       $wgCookiePrefix = $wgSharedDB;
-} elseif ( $wgDBprefix ) {
-       $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix;
-} else {
-       $wgCookiePrefix = $wgDBname;
+if( !$wgCookiePrefix ) {
+       if ( $wgSharedDB && $wgSharedPrefix && in_array('user',$wgSharedTables) ) {
+               $wgCookiePrefix = $wgSharedDB . '_' . $wgSharedPrefix;
+       } elseif ( $wgSharedDB && in_array('user',$wgSharedTables) ) {
+               $wgCookiePrefix = $wgSharedDB;
+       } elseif ( $wgDBprefix ) {
+               $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix;
+       } else {
+               $wgCookiePrefix = $wgDBname;
+       }
 }
 $wgCookiePrefix = strtr($wgCookiePrefix, "=,; +.\"'\\[", "__________");
 
@@ -268,7 +288,6 @@ wfProfileIn( $fname.'-misc2' );
 $wgDeferredUpdateList = array();
 $wgPostCommitUpdateList = array();
 
-if ( $wgAjaxSearch ) $wgAjaxExportList[] = 'wfSajaxSearch';
 if ( $wgAjaxWatch ) $wgAjaxExportList[] = 'wfAjaxWatch';
 if ( $wgAjaxUploadDestCheck ) $wgAjaxExportList[] = 'UploadForm::ajaxGetExistsWarning';
 if( $wgAjaxLicensePreview )
@@ -298,6 +317,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;