Re-commit r34072 with some modifications:
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index b0aef12..976ebad 100644 (file)
@@ -338,24 +338,24 @@ $wgAntivirusSetup = array(
 
 /** Determines if a failed virus scan (AV_SCAN_FAILED) will cause the file to be rejected.
  * @global boolean $wgAntivirusRequired
-*/
+ */
 $wgAntivirusRequired= true;
 
 /** Determines if the mime type of uploaded files should be checked
  * @global boolean $wgVerifyMimeType
-*/
+ */
 $wgVerifyMimeType= true;
 
 /** Sets the mime type definition file to use by MimeMagic.php.
-* @global string $wgMimeTypeFile
-*/
+ * @global string $wgMimeTypeFile
+ */
 $wgMimeTypeFile= "includes/mime.types";
 #$wgMimeTypeFile= "/etc/mime.types";
 #$wgMimeTypeFile= NULL; #use built-in defaults only.
 
 /** Sets the mime type info file to use by MimeMagic.php.
-* @global string $wgMimeInfoFile
-*/
+ * @global string $wgMimeInfoFile
+ */
 $wgMimeInfoFile= "includes/mime.info";
 #$wgMimeInfoFile= NULL; #use built-in defaults only.
 
@@ -363,21 +363,21 @@ $wgMimeInfoFile= "includes/mime.info";
  * This should be used only if fileinfo is installed as a shared object
  * or a dynamic libary
  * @global string $wgLoadFileinfoExtension
-*/
+ */
 $wgLoadFileinfoExtension= false;
 
 /** Sets an external mime detector program. The command must print only
  * the mime type to standard output.
  * The name of the file to process will be appended to the command given here.
  * If not set or NULL, mime_content_type will be used if available.
-*/
+ */
 $wgMimeDetectorCommand= NULL; # use internal mime_content_type function, available since php 4.3.0
 #$wgMimeDetectorCommand= "file -bi"; #use external mime detector (Linux)
 
 /** Switch for trivial mime detection. Used by thumb.php to disable all fance
  * things, because only a few types of images are needed and file extensions
  * can be trusted.
-*/
+ */
 $wgTrivialMimeDetection= false;
 
 /**
@@ -430,7 +430,7 @@ $wgMaxUploadSize = 1024*1024*100; # 100MB
  * Useful if you want to use a shared repository by default
  * without disabling local uploads (use $wgEnableUploads = false for that)
  * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload';
-*/
+ */
 $wgUploadNavigationUrl = false;
 
 /**
@@ -577,15 +577,26 @@ $wgAllDBsAreLocalhost = false;
 /** Live high performance sites should disable this - some checks acquire giant mysql locks */
 $wgCheckDBSchema = true;
 
-
 /**
- * Shared database for multiple wikis. Presently used for storing a user table
- * for single sign-on. The server for this database must be the same as for the
- * main database.
+ * Shared database for multiple wikis.
+ * The server for this database must be the same as for the main database.
  * EXPERIMENTAL
  */
 $wgSharedDB = null;
 
+/**
+ * List of database tables (without prefixes) to share when $wgSharedDB is enabled.
+ * This only includes the user table by default for backwards compatibility.
+ * However you may remove it so that you can enable extensions using the shared
+ * DB without having shared users. Or you can add in another table, such as
+ * interwiki to force MediaWiki to use the shared version of the table instead.
+ * 
+ * Be carefull with sharing tables. The images, revisions, pages, and many of
+ * the other tables may have bad side effects if you share them.
+ * EXPERIMENTAL
+ */
+$wgSharedDBtables = array( 'user' );
+
 /**
  * Database load balancer
  * This is a two-dimensional array, an array of server info structures
@@ -856,13 +867,14 @@ $wgUseZhdaemon = false;
 $wgZhdaemonHost="localhost";
 $wgZhdaemonPort=2004;
 
-/** Normally you can ignore this and it will be something
-    like $wgMetaNamespace . "_talk". In some languages, you
-    may want to set this manually for grammatical reasons.
-    It is currently only respected by those languages
-    where it might be relevant and where no automatic
-    grammar converter exists.
-*/
+/**
+ * Normally you can ignore this and it will be something
+ * like $wgMetaNamespace . "_talk". In some languages, you
+ * may want to set this manually for grammatical reasons.
+ * It is currently only respected by those languages
+ * where it might be relevant and where no automatic
+ * grammar converter exists.
+ */
 $wgMetaNamespaceTalk = false;
 
 # Miscellaneous configuration settings
@@ -886,7 +898,7 @@ $wgInterwikiExpiry = 10800; # Expiry time for cache of interwiki table
                2 - wiki and global levels
                3 - site levels
        $wgInterwikiFallbackSite - if unable to resolve from cache
-*/
+ */
 $wgInterwikiCache = false;
 $wgInterwikiScopes = 3;
 $wgInterwikiFallbackSite = 'wiki';
@@ -1027,7 +1039,7 @@ $wgSidebarCacheExpiry = 86400;
  *
  * Retroactively changing this variable will not affect
  * the existing count (cf. maintenance/recount.sql).
-*/
+ */
 $wgUseCommaCount = false;
 
 /**#@-*/
@@ -1038,7 +1050,7 @@ $wgUseCommaCount = false;
  * updated on every hit, any higher value n cause them to update *on average*
  * every n hits. Should be set to either 1 or something largish, eg 1000, for
  * maximum efficiency.
-*/
+ */
 $wgHitcounterUpdateFreq = 1;
 
 # Basic user rights and block settings
@@ -1106,10 +1118,6 @@ $wgGroupPermissions['user' ]['purge']            = true; // can use ?action=purg
 // Implicit group for accounts that pass $wgAutoConfirmAge
 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
 
-// Implicit group for accounts with confirmed email addresses
-// This has little use when email address confirmation is off
-$wgGroupPermissions['emailconfirmed']['emailconfirmed'] = true;
-
 // Users with bot privilege can have their edits hidden
 // from various log pages by default
 $wgGroupPermissions['bot'  ]['bot']              = true;
@@ -1158,16 +1166,13 @@ $wgGroupPermissions['bureaucrat']['userrights']  = true;
 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
 
 #$wgGroupPermissions['sysop']['deleterevision']  = true;
-// To hide usernames
+// To hide usernames from users and Sysops
 #$wgGroupPermissions['suppress']['hideuser'] = true;
-// To see hidden revs and unhide revs hidden from Sysops
+// To hide revisions/log items from users and Sysops
 #$wgGroupPermissions['suppress']['hiderevision'] = true;
-// For private log access
+// For private suppression log access
 #$wgGroupPermissions['suppress']['suppress'] = true;
 
-// Pending WMF schema change...temporary variable
-$wgAllowLogDeletion = false;
-
 /**
  * The developer group is deprecated, but can be activated if need be
  * to use the 'lockdb' and 'unlockdb' special pages. Those require
@@ -1180,7 +1185,7 @@ $wgAllowLogDeletion = false;
 /**
  * Implicit groups, aren't shown on Special:Listusers or somewhere else
  */
-$wgImplicitGroups = array( '*', 'user', 'autoconfirmed', 'emailconfirmed' );
+$wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
 
 /**
  * These are the groups that users are allowed to add to or remove from
@@ -1217,11 +1222,11 @@ $wgNamespaceProtection = array();
 $wgNamespaceProtection[ NS_MEDIAWIKI ] = array( 'editinterface' );
 
 /**
-* Pages in namespaces in this array can not be used as templates.
-* Elements must be numeric namespace ids.
-* Among other things, this may be useful to enforce read-restrictions
-* which may otherwise be bypassed by using the template machanism.
-*/
+ * Pages in namespaces in this array can not be used as templates.
+ * Elements must be numeric namespace ids.
+ * Among other things, this may be useful to enforce read-restrictions
+ * which may otherwise be bypassed by using the template machanism.
+ */
 $wgNonincludableNamespaces = array();
 
 /**
@@ -1263,7 +1268,6 @@ $wgAutopromote = array(
                array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
                array( APCOND_AGE, &$wgAutoConfirmAge ),
        ),
-       'emailconfirmed' => APCOND_EMAILCONFIRMED,
 );
 
 /**
@@ -1336,7 +1340,7 @@ $wgCacheEpoch = '20030516000000';
  * to ensure that client-side caches don't keep obsolete copies of global
  * styles.
  */
-$wgStyleVersion = '134';
+$wgStyleVersion = '141';
 
 
 # Server-side caching:
@@ -1411,8 +1415,6 @@ $wgRCShowWatchingUsers                            = false; # UPO
 $wgPageShowWatchingUsers                       = false;
 /** Show the amount of changed characters in recent changes */
 $wgRCShowChangedSize                           = true;
-/** Logs that are grouped by log type, not page */
-$wgRCTypeGroupedLogs = array( 'block', 'rights' );
 
 /**
  * If the difference between the character counts of the text
@@ -1496,7 +1498,26 @@ $wgCookieDomain = '';
 $wgCookiePath = '/';
 $wgCookieSecure = ($wgProto == 'https');
 $wgDisableCookieCheck = false;
-$wgCookieHttpOnly = true;
+
+/**
+ * Set authentication cookies to HttpOnly to prevent access by JavaScript,
+ * in browsers that support this feature. This can mitigates some classes of
+ * XSS attack.
+ *
+ * Only supported on PHP 5.2 or higher.
+ */
+$wgCookieHttpOnly = version_compare("5.2", PHP_VERSION, "<");
+
+/**
+ * If the requesting browser matches a regex in this blacklist, we won't
+ * send it cookies with HttpOnly mode, even if $wgCookieHttpOnly is on.
+ */
+$wgHttpOnlyBlacklist = array(
+       // Internet Explorer for Mac; sometimes the cookies work, sometimes
+       // they don't. It's difficult to predict, as combinations of path
+       // and expiration options affect its parsing.
+       '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
+);
 
 /** A list of cookies that vary the cache (for use by extensions) */
 $wgCacheVaryCookies = array();
@@ -1516,6 +1537,9 @@ $wgAllowExternalImages = false;
   */
 $wgAllowExternalImagesFrom = '';
 
+/** Allows to move images and other media files. Experemintal, not sure if it always works */
+$wgAllowImageMoving = false;
+
 /** Disable database-intensive features */
 $wgMiserMode = false;
 /** Disable all query pages if miser mode is on, not just some */
@@ -1594,6 +1618,46 @@ $wgDisableCounters = false;
 
 $wgDisableTextSearch = false;
 $wgDisableSearchContext = false;
+
+
+/**
+ * Set to true to have nicer highligted text in search results,
+ * by default off due to execution overhead  
+ */
+$wgAdvancedSearchHighlighting = false;
+
+/** 
+ * Regexp to match word boundaries, defaults for non-CJK languages
+ * should be empty for CJK since the words are not separate 
+ */
+$wgSearchHighlightBoundaries = version_compare("5.1", PHP_VERSION, "<")? '[\p{Z}\p{P}\p{C}]' 
+       : '[ ,.;:!?~!@#$%\^&*\(\)+=\-\\|\[\]"\'<>\n\r\/{}]'; // PHP 5.0 workaround
+
+/**
+ * Template for OpenSearch suggestions, defaults to API action=opensearch
+ * 
+ * Sites with heavy load would tipically have these point to a custom
+ * PHP wrapper to avoid firing up mediawiki for every keystroke
+ * 
+ * Placeholders: {searchTerms}
+ * 
+ */
+$wgOpenSearchTemplate = false;
+
+/**
+ * Enable suggestions while typing in search boxes 
+ * (results are passed around in OpenSearch format) 
+ */
+$wgEnableMWSuggest = false;
+
+/**
+ *  Template for internal MediaWiki suggestion engine, defaults to API action=opensearch
+ *  
+ *  Placeholders: {searchTerms}, {namespaces}, {dbname}
+ *  
+ */
+$wgMWSuggestTemplate = false;
+
 /**
  * If you've disabled search semi-permanently, this also disables updates to the
  * table. If you ever re-enable, be sure to rebuild the search table.
@@ -1798,7 +1862,7 @@ $wgSVGConverter = 'ImageMagick';
 /** If not in the executable PATH, specify */
 $wgSVGConverterPath = '';
 /** Don't scale a SVG larger than this */
-$wgSVGMaxSize = 1024;
+$wgSVGMaxSize = 2048;
 /**
  * Don't thumbnail an image if it will use too much working memory
  * Default is 50 MB if decompressed to RGBA form, which corresponds to
@@ -1867,6 +1931,11 @@ $wgRC2UDPAddress = false;
 $wgRC2UDPPort = false;
 $wgRC2UDPPrefix = '';
 
+# Enable user search in Special:Newpages
+# This is really a temporary hack around an index install bug on some Wikipedias.
+# Kill it once fixed.
+$wgEnableNewpagesUserFilter = true;
+
 #
 # Copyright and credits settings
 #
@@ -2021,41 +2090,57 @@ $wgDefaultSkin = 'monobook';
  *
  */
 $wgDefaultUserOptions = array(
-       'quickbar'              => 1,
-       'underline'             => 2,
-       'cols'                  => 80,
-       'rows'                  => 25,
-       'searchlimit'           => 20,
-       'contextlines'          => 5,
-       'contextchars'          => 50,
-       'skin'                  => false,
-       'math'                  => 1,
-       'rcdays'                => 7,
-       'rclimit'               => 50,
-       'wllimit'               => 250,
-       'highlightbroken'       => 1,
-       'stubthreshold'         => 0,
-       'previewontop'          => 1,
-       'editsection'           => 1,
-       'editsectiononrightclick'=> 0,
-       'showtoc'               => 1,
-       'showtoolbar'           => 1,
-       'date'                  => 'default',
-       'imagesize'             => 2,
-       'thumbsize'             => 2,
-       'rememberpassword'      => 0,
-       'enotifwatchlistpages'  => 0,
-       'enotifusertalkpages'   => 1,
-       'enotifminoredits'      => 0,
-       'enotifrevealaddr'      => 0,
-       'shownumberswatching'   => 1,
-       'fancysig'              => 0,
-       'externaleditor'        => 0,
-       'externaldiff'          => 0,
-       'showjumplinks'         => 1,
-       'numberheadings'        => 0,
-       'uselivepreview'        => 0,
-       'watchlistdays'         => 3.0,
+       'quickbar'                => 1,
+       'underline'               => 2,
+       'cols'                    => 80,
+       'rows'                    => 25,
+       'searchlimit'             => 20,
+       'contextlines'            => 5,
+       'contextchars'            => 50,
+       'disablesuggest'          => 0,
+       'ajaxsearch'              => 0,
+       'skin'                    => false,
+       'math'                    => 1,
+       'usenewrc'                => 0,
+       'rcdays'                  => 7,
+       'rclimit'                 => 50,
+       'wllimit'                 => 250,
+       'hideminor'               => 0,
+       'highlightbroken'         => 1,
+       'stubthreshold'           => 0,
+       'previewontop'            => 1,
+       'previewonfirst'          => 0,
+       'editsection'             => 1,
+       'editsectiononrightclick' => 0,
+       'editondblclick'          => 0,
+       'editwidth'               => 0,
+       'showtoc'                 => 1,
+       'showtoolbar'             => 1,
+       'minordefault'            => 0,
+       'date'                    => 'default',
+       'imagesize'               => 2,
+       'thumbsize'               => 2,
+       'rememberpassword'        => 0,
+       'enotifwatchlistpages'    => 0,
+       'enotifusertalkpages'     => 1,
+       'enotifminoredits'        => 0,
+       'enotifrevealaddr'        => 0,
+       'shownumberswatching'     => 1,
+       'fancysig'                => 0,
+       'externaleditor'          => 0,
+       'externaldiff'            => 0,
+       'showjumplinks'           => 1,
+       'numberheadings'          => 0,
+       'uselivepreview'          => 0,
+       'watchlistdays'           => 3.0,
+       'extendwatchlist'         => 0,
+       'watchlisthideminor'      => 0,
+       'watchlisthidebots'       => 0,
+       'watchlisthideown'        => 0,
+       'watchcreations'          => 0,
+       'watchdefault'            => 0,
+       'watchmoves'              => 0,
+       'watchdeletion'           => 0,
 );
 
 /** Whether or not to allow and use real name fields. Defaults to true. */
@@ -2497,6 +2582,98 @@ $wgLogActions = array(
        'suppress/block'        => 'blocklogentry',
 );
 
+/**
+ * List of special pages, followed by what subtitle they should go under
+ * at Special:SpecialPages
+ */
+$wgSpecialPageGroups = array(
+       'DoubleRedirects'           => 'maintenance',
+       'BrokenRedirects'           => 'maintenance',
+       'Lonelypages'               => 'maintenance',
+       'Uncategorizedpages'        => 'maintenance',
+       'Uncategorizedcategories'   => 'maintenance',
+       'Uncategorizedimages'       => 'maintenance',
+       'Uncategorizedtemplates'    => 'maintenance',
+       'Unusedcategories'          => 'maintenance',
+       'Unusedimages'              => 'maintenance',
+       'Protectedpages'            => 'maintenance',
+       'Protectedtitles'           => 'maintenance',
+       'Unusedtemplates'           => 'maintenance',
+       'Withoutinterwiki'          => 'maintenance',
+       'Longpages'                 => 'maintenance',
+
+       'Userlogin'                 => 'login',
+       'Userlogout'                => 'login',
+       'CreateAccount'             => 'login',
+
+       'Recentchanges'             => 'changes',
+       'Recentchangeslinked'       => 'changes',
+       'Watchlist'                 => 'changes',
+       'Newimages'                 => 'changes',
+       'Newpages'                  => 'changes',
+       'Log'                       => 'changes',
+
+       'Upload'                    => 'media',
+       'Imagelist'                 => 'media',
+       'MIMEsearch'                => 'media',
+       'FileDuplicateSearch'       => 'media',
+       'Filepath'                  => 'media',
+
+       'Listusers'                 => 'users',
+       'Listgrouprights'           => 'users',
+       'Ipblocklist'               => 'users',
+       'Contributions'             => 'users',
+       'Emailuser'                 => 'users',
+       'Listadmins'                => 'users',
+       'Listbots'                  => 'users',
+
+       'Wantedpages'               => 'needy',
+       'Wantedcategories'          => 'needy',
+       'Shortpages'                => 'needy',
+       'Ancientpages'              => 'needy',
+       'Deadendpages'              => 'needy',
+
+       'Mostlinked'                => 'highuse',
+       'Mostlinkedcategories'      => 'highuse',
+       'Mostlinkedtemplates'       => 'highuse',
+       'Mostcategories'            => 'highuse',
+       'Mostimages'                => 'highuse',
+       'Mostrevisions'             => 'highuse',
+
+       'Userrights'                => 'permissions',
+       'Blockip'                   => 'permissions',
+
+       'Statistics'                => 'other',
+       'Fewestrevisions'           => 'other',
+       'Randompage'                => 'other',
+       'Disambiguations'           => 'other',
+       'Specialpages'              => 'other',
+       'Blockme'                   => 'other',
+       'Movepage'                  => 'other',
+       'MergeHistory'              => 'other',
+       'Lockdb'                    => 'other',
+       'Unlockdb'                  => 'other',
+       'Version'                   => 'other',
+       'Whatlinkshere'             => 'other',
+       'Booksources'               => 'other',
+       'Revisiondelete'            => 'other',
+       'Export'                    => 'other',
+       'Categories'                => 'other',
+       'Undelete'                  => 'other',
+       'Import'                    => 'other',
+       'Unwatchedpages'            => 'other',
+       'Randomredirect'            => 'other',
+       'Allpages'                  => 'other',
+       'Allmessages'               => 'other',
+       'Prefixindex'               => 'other',
+       'Listredirects'             => 'other',
+       'Preferences'               => 'other',
+       'Resetpass'                 => 'other',
+       'Mypage'                    => 'other',
+       'Mytalk'                    => 'other',
+       'Mycontributions'           => 'other',
+);
+
 /**
  * Experimental preview feature to fetch rendered text
  * over an XMLHttpRequest from JavaScript instead of
@@ -2699,15 +2876,15 @@ $wgDefaultExternalStore = false;
 $wgRevisionCacheExpiry = 0;
 
 /**
-* list of trusted media-types and mime types.
-* Use the MEDIATYPE_xxx constants to represent media types.
-* This list is used by Image::isSafeFile
-*
-* Types not listed here will have a warning about unsafe content
-* displayed on the images description page. It would also be possible
-* to use this for further restrictions, like disabling direct
-* [[media:...]] links for non-trusted formats.
-*/
+ * list of trusted media-types and mime types.
+ * Use the MEDIATYPE_xxx constants to represent media types.
+ * This list is used by Image::isSafeFile
+ *
+ * Types not listed here will have a warning about unsafe content
+ * displayed on the images description page. It would also be possible
+ * to use this for further restrictions, like disabling direct
+ * [[media:...]] links for non-trusted formats.
+ */
 $wgTrustedMediaFormats= array(
        MEDIATYPE_BITMAP, //all bitmap formats
        MEDIATYPE_AUDIO,  //all audio formats
@@ -3007,7 +3184,14 @@ $wgPagePropLinkInvalidations = array(
 $wgMaxRedirectLinksRetrieved = 500;
 
 /**
-* Maximum number of calls to expensive parser functions
-* such as PAGESINCATEGORY.
-*/
+ * Maximum number of calls to expensive parser functions
+ * such as PAGESINCATEGORY.
+ */
 $wgExpensiveParserFunctionLimit = 100;
+
+/**
+ * Array of namespaces to generate a sitemap for when the
+ * maintenance/generateSitemap.php script is run, or false
+ * if one is to be generated for all namespaces.
+ */
+$wgSitemapNamespaces = false;