Revert r48463 (Added 'bigexport' group permission to $wgGroupPermissions) per IRC...
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index af2e699..06bafc9 100644 (file)
@@ -33,7 +33,7 @@ if ( !defined( 'MW_PHP4' ) ) {
 }
 
 /** MediaWiki version number */
-$wgVersion                     = '1.14alpha';
+$wgVersion                     = '1.15alpha';
 
 /** Name of the site. It must be changed in LocalSettings.php */
 $wgSitename         = 'MediaWiki';
@@ -224,6 +224,10 @@ $wgFileStore['deleted']['hash'] = 3;         ///< 3-level subdirectory split
  *                      equivalent to the corresponding member of $wgDBservers
  *    tablePrefix       Table prefix, the foreign wiki's $wgDBprefix
  *    hasSharedCache    True if the wiki's shared cache is accessible via the local $wgMemc
+ * 
+ * ForeignAPIRepo:
+ *    apibase              Use for the foreign API's URL
+ *    apiThumbCacheExpiry  How long to locally cache thumbs for
  *
  * The default is to initialise these arrays from the MW<1.11 backwards compatible settings:
  * $wgUploadPath, $wgThumbnailScriptPath, $wgSharedUploadDirectory, etc.
@@ -274,7 +278,8 @@ $wgUrlProtocols = array(
        'nntp://', // @bug 3808 RFC 1738
        'worldwind://',
        'mailto:',
-       'news:'
+       'news:',
+       'svn://',
 );
 
 /** internal name of virus scanner. This servers as a key to the $wgAntivirusSetup array.
@@ -520,6 +525,11 @@ $wgUserEmailUseReplyTo = false;
  */
 $wgPasswordReminderResendTime = 24;
 
+/**
+ * The time, in seconds, when an emailed temporary password expires.
+ */
+$wgNewPasswordExpiry  = 3600 * 24 * 7;
+
 /**
  * SMTP Mode
  * For using a direct (authenticated) SMTP server connection.
@@ -852,6 +862,14 @@ $wgMsgCacheExpiry  = 86400;
  */
 $wgMaxMsgCacheEntrySize = 10000;
 
+/**
+ * If true, serialized versions of the messages arrays will be
+ * read from the 'serialized' subdirectory if they are present.
+ * Set to false to always use the Messages files, regardless of
+ * whether they are up to date or not.
+ */
+$wgEnableSerializedMessages = true;
+
 /**
  * Set to false if you are thorough system admin who always remembers to keep
  * serialized files up to date to save few mtime calls.
@@ -962,14 +980,14 @@ $wgSiteSupportPage        = ''; # A page where you users can receive donations
 $wgReadOnly             = null;
 
 /***
- * If this lock file exists, the wiki will be forced into read-only mode.
+ * If this lock file exists (size > 0), the wiki will be forced into read-only mode.
  * Its contents will be shown to users as part of the read-only warning
  * message.
  */
 $wgReadOnlyFile         = false; ///< defaults to "{$wgUploadDirectory}/lock_yBgMBwiR";
 
 /**
- * Filename for debug logging. 
+ * Filename for debug logging. See http://www.mediawiki.org/wiki/How_to_debug
  * The debug log file should be not be publicly accessible if it is used, as it
  * may contain private data. 
  */
@@ -1020,6 +1038,13 @@ $wgDebugDumpSql         = false;
  */
 $wgDebugLogGroups       = array();
 
+/**
+ * Display debug data at the bottom of the main content area.
+ *
+ * Useful for developers and technical users trying to working on a closed wiki.
+ */
+$wgShowDebug            = false;
+
 /**
  * Show the contents of $wgHooks in Special:Version
  */
@@ -1155,41 +1180,42 @@ $wgEmailConfirmToEdit=false;
 $wgGroupPermissions = array();
 
 // Implicit group for all visitors
-$wgGroupPermissions['*'    ]['createaccount']    = true;
-$wgGroupPermissions['*'    ]['read']             = true;
-$wgGroupPermissions['*'    ]['edit']             = true;
-$wgGroupPermissions['*'    ]['createpage']       = true;
-$wgGroupPermissions['*'    ]['createtalk']       = true;
-$wgGroupPermissions['*'    ]['writeapi']         = true;
+$wgGroupPermissions['*']['createaccount']    = true;
+$wgGroupPermissions['*']['read']             = true;
+$wgGroupPermissions['*']['edit']             = true;
+$wgGroupPermissions['*']['createpage']       = true;
+$wgGroupPermissions['*']['createtalk']       = true;
+$wgGroupPermissions['*']['writeapi']         = true;
 
 // Implicit group for all logged-in accounts
-$wgGroupPermissions['user' ]['move']             = true;
-$wgGroupPermissions['user' ]['move-subpages']    = true;
-$wgGroupPermissions['user' ]['move-rootuserpages'] = true; // can move root userpages
-$wgGroupPermissions['user' ]['read']             = true;
-$wgGroupPermissions['user' ]['edit']             = true;
-$wgGroupPermissions['user' ]['createpage']       = true;
-$wgGroupPermissions['user' ]['createtalk']       = true;
-$wgGroupPermissions['user' ]['writeapi']         = true;
-$wgGroupPermissions['user' ]['upload']           = true;
-$wgGroupPermissions['user' ]['reupload']         = true;
-$wgGroupPermissions['user' ]['reupload-shared']  = true;
-$wgGroupPermissions['user' ]['minoredit']        = true;
-$wgGroupPermissions['user' ]['purge']            = true; // can use ?action=purge without clicking "ok"
+$wgGroupPermissions['user']['move']             = true;
+$wgGroupPermissions['user']['move-subpages']    = true;
+$wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages
+//$wgGroupPermissions['user']['movefile']         = true;      // Disabled for now due to possible bugs and security concerns
+$wgGroupPermissions['user']['read']             = true;
+$wgGroupPermissions['user']['edit']             = true;
+$wgGroupPermissions['user']['createpage']       = true;
+$wgGroupPermissions['user']['createtalk']       = true;
+$wgGroupPermissions['user']['writeapi']         = true;
+$wgGroupPermissions['user']['upload']           = true;
+$wgGroupPermissions['user']['reupload']         = true;
+$wgGroupPermissions['user']['reupload-shared']  = true;
+$wgGroupPermissions['user']['minoredit']        = true;
+$wgGroupPermissions['user']['purge']            = true; // can use ?action=purge without clicking "ok"
 
 // Implicit group for accounts that pass $wgAutoConfirmAge
 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
 
 // Users with bot privilege can have their edits hidden
 // from various log pages by default
-$wgGroupPermissions['bot'  ]['bot']              = true;
-$wgGroupPermissions['bot'  ]['autoconfirmed']    = true;
-$wgGroupPermissions['bot'  ]['nominornewtalk']   = true;
-$wgGroupPermissions['bot'  ]['autopatrol']       = true;
-$wgGroupPermissions['bot'  ]['suppressredirect'] = true;
-$wgGroupPermissions['bot'  ]['apihighlimits']    = true;
-$wgGroupPermissions['bot'  ]['writeapi']         = true;
-#$wgGroupPermissions['bot'  ]['editprotected']    = true; // can edit all protected pages without cascade protection enabled
+$wgGroupPermissions['bot']['bot']              = true;
+$wgGroupPermissions['bot']['autoconfirmed']    = true;
+$wgGroupPermissions['bot']['nominornewtalk']   = true;
+$wgGroupPermissions['bot']['autopatrol']       = true;
+$wgGroupPermissions['bot']['suppressredirect'] = true;
+$wgGroupPermissions['bot']['apihighlimits']    = true;
+$wgGroupPermissions['bot']['writeapi']         = true;
+#$wgGroupPermissions['bot']['editprotected']    = true; // can edit all protected pages without cascade protection enabled
 
 // Most extra permission abilities go to this group
 $wgGroupPermissions['sysop']['block']            = true;
@@ -1223,11 +1249,14 @@ $wgGroupPermissions['sysop']['markbotedits']     = true;
 $wgGroupPermissions['sysop']['apihighlimits']    = true;
 $wgGroupPermissions['sysop']['browsearchive']    = true;
 $wgGroupPermissions['sysop']['noratelimit']      = true;
+$wgGroupPermissions['sysop']['movefile']         = true;
 #$wgGroupPermissions['sysop']['mergehistory']     = true;
 
 // Permission to change users' group assignments
 $wgGroupPermissions['bureaucrat']['userrights']  = true;
 $wgGroupPermissions['bureaucrat']['noratelimit'] = true;
+// Permission to change users' passwords
+# $wgGroupPermissions['bureaucrat']['reset-passwords'] = true;
 // Permission to change users' groups assignments across wikis
 #$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
 
@@ -1259,7 +1288,7 @@ $wgImplicitGroups = array( '*', 'user', 'autoconfirmed' );
  *
  * Setting the list of groups to add or revoke to true is equivalent to "any group".
  * 
- * For example to allow sysops to add themselves to the "bot" group:
+ * For example, to allow sysops to add themselves to the "bot" group:
  *
  *    $wgGroupsAddToSelf = array( 'sysop' => array( 'bot' ) );
  *
@@ -1277,7 +1306,7 @@ $wgGroupsRemoveFromSelf = array();
 /**
  * Set of available actions that can be restricted via action=protect
  * You probably shouldn't change this.
- * Translated trough restriction-* messages.
+ * Translated through restriction-* messages.
  */
 $wgRestrictionTypes = array( 'edit', 'move' );
 
@@ -1339,6 +1368,10 @@ $wgAutoConfirmCount = 0;
  *   array( APCOND_EMAILCONFIRMED ), *OR*
  *   array( APCOND_EDITCOUNT, number of edits ), *OR*
  *   array( APCOND_AGE, seconds since registration ), *OR*
+ *   array( APCOND_INGROUPS, group1, group2, ... ), *OR*
+ *   array( APCOND_ISIP, ip ), *OR*
+ *   array( APCOND_IPINRANGE, range ), *OR*
+ *   array( APCOND_AGE_FROM_EDIT, seconds since first edit ), *OR*
  *   similar constructs defined by extensions.
  *
  * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any
@@ -1436,7 +1469,7 @@ $wgCacheEpoch = '20030516000000';
  * to ensure that client-side caches don't keep obsolete copies of global
  * styles.
  */
-$wgStyleVersion = '183';
+$wgStyleVersion = '207';
 
 
 # Server-side caching:
@@ -1590,6 +1623,9 @@ $wgHTCPMulticastTTL = 1;
 # $wgHTCPMulticastAddress = "224.0.0.85";
 $wgHTCPMulticastAddress = false;
 
+/** Should forwarded Private IPs be accepted? */
+$wgUsePrivateIPs = false;
+
 # Cookie settings:
 #
 /**
@@ -1657,8 +1693,8 @@ $wgAllowExternalImagesFrom = '';
  */
 $wgEnableImageWhitelist = true;
  
-/** Allows to move images and other media files. Experemintal, not sure if it always works */
-$wgAllowImageMoving = false;
+/** Allows to move images and other media files */
+$wgAllowImageMoving = true;
 
 /** Disable database-intensive features */
 $wgMiserMode = false;
@@ -1882,6 +1918,8 @@ $wgMimeTypeBlacklist= array(
        'application/x-php', 'text/x-php',
        # Other types that may be interpreted by some servers
        'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
+       # Client-side hazards on Internet Explorer
+       'text/scriptlet', 'application/x-msdownload',
        # Windows metafile, client-side vulnerability on some systems
        'application/x-msmetafile',
        # A ZIP file may be a valid Java archive containing an applet which exploits the
@@ -1912,7 +1950,7 @@ $wgNamespacesWithSubpages = array(
        NS_USER           => true,
        NS_USER_TALK      => true,
        NS_PROJECT_TALK   => true,
-       NS_IMAGE_TALK     => true,
+       NS_FILE_TALK      => true,
        NS_MEDIAWIKI_TALK => true,
        NS_TEMPLATE_TALK  => true,
        NS_HELP_TALK      => true,
@@ -1923,6 +1961,21 @@ $wgNamespacesToBeSearchedDefault = array(
        NS_MAIN           => true,
 );
 
+/**
+ * Additional namespaces to those in $wgNamespacesToBeSearchedDefault that
+ * will be added to default search for "project" page inclusive searches
+ * 
+ * Same format as $wgNamespacesToBeSearchedDefault
+ */  
+$wgNamespacesToBeSearchedProject = array(
+       NS_USER           => true,
+       NS_PROJECT        => true,      
+       NS_HELP           => true,
+       NS_CATEGORY       => true,
+);
+
+$wgUseOldSearchUI = true; // temp testing variable
+
 /**
  * Site notice shown at the top of each page
  *
@@ -1944,6 +1997,7 @@ $wgMediaHandlers = array(
        'image/jpeg' => 'BitmapHandler',
        'image/png' => 'BitmapHandler',
        'image/gif' => 'BitmapHandler',
+       'image/tiff' => 'TiffHandler',
        'image/x-ms-bmp' => 'BmpHandler',
        'image/x-bmp' => 'BmpHandler',
        'image/svg+xml' => 'SvgHandler', // official
@@ -1995,7 +2049,7 @@ $wgCustomConvertCommand = false;
 #
 # An external program is required to perform this conversion:
 $wgSVGConverters = array(
-       'ImageMagick' => '$path/convert -background white -geometry $width $input PNG:$output',
+       'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
        'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
        'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
        'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
@@ -2021,6 +2075,16 @@ $wgMaxImageArea = 1.25e7;
  * Defaulting to 1 megapixel (1000x1000)
  */
 $wgMaxAnimatedGifArea = 1.0e6;
+/**
+ * Browsers don't support TIFF inline generally...
+ * For inline display, we need to convert to PNG or JPEG.
+ * Note scaling should work with ImageMagick, but may not with GD scaling.
+ *  // PNG is lossless, but inefficient for photos
+ *  $wgTiffThumbnailType = array( 'png', 'image/png' );
+ *  // JPEG is good for photos, but has no transparency support. Bad for diagrams.
+ *  $wgTiffThumbnailType = array( 'jpg', 'image/jpeg' );
+ */
+$wgTiffThumbnailType = false;
 /**
  * If rendered thumbnail files are older than this timestamp, they
  * will be rerendered on demand as if the file didn't already exist.
@@ -2054,6 +2118,12 @@ $wgGenerateThumbnailOnParse = true;
 /** Obsolete, always true, kept for compatibility with extensions */
 $wgUseImageResize = true;
 
+/** 
+ * Use this if you have issues using gd for image thumbnails--like with 
+ * safe_mode--and want to force thumbnailing to users. Not needed for most
+ * installs. See bug 12970.
+ */
+$wgForceClientThumbnails = false;
 
 /** Set $wgCommandLineMode if it's not set already, to avoid notices */
 if( !isset( $wgCommandLineMode ) ) {
@@ -2090,11 +2160,35 @@ $wgRCFilterByAge = false;
 $wgRCLinkLimits = array( 50, 100, 250, 500 );
 $wgRCLinkDays   = array( 1, 3, 7, 14, 30 );
 
-# Send RC updates via UDP
+/**
+ * Send recent changes updates via UDP. The updates will be formatted for IRC.
+ * Set this to the IP address of the receiver.
+ */
 $wgRC2UDPAddress = false;
+
+/**
+ * Port number for RC updates
+ */
 $wgRC2UDPPort = false;
+
+/**
+ * Prefix to prepend to each UDP packet.
+ * This can be used to identify the wiki. A script is available called
+ * mxircecho.py which listens on a UDP port, and uses a prefix ending in a 
+ * tab to identify the IRC channel to send the log line to.
+ */
 $wgRC2UDPPrefix = '';
+
+/**
+ * If this is set to true, $wgLocalInterwiki will be prepended to links in the 
+ * IRC feed. If this is set to a string, that string will be used as the prefix.
+ */
 $wgRC2UDPInterwikiPrefix = false;
+
+/**
+ * Set to true to omit "bot" edits (by users with the bot permission) from the 
+ * UDP feed.
+ */
 $wgRC2UDPOmitBots = false;
 
 /**
@@ -2198,9 +2292,18 @@ $wgExportMaxHistory = 0;
 
 $wgExportAllowListContributors = false ;
 
+/**
+ * If non-zero, Special:Export accepts a "pagelink-depth" parameter
+ * up to this specified level, which will cause it to include all
+ * pages linked to from the pages you specify. Since this number
+ * can become *insanely large* and could easily break your wiki,
+ * it's disabled by default for now.
+ */
+$wgExportMaxLinkDepth = 0;
+
 
 /**
- * Edits matching these regular expressions in body text or edit summary
+ * Edits matching these regular expressions in body text
  * will be recognised as spam and rejected automatically.
  *
  * There's no administrator override on-wiki, so be careful what you set. :)
@@ -2210,6 +2313,9 @@ $wgExportAllowListContributors = false ;
  */
 $wgSpamRegex = array();
 
+/** Same as the above except for edit summaries */
+$wgSummarySpamRegex = array();
+
 /** Similarly you can get a function to do the job. The function will be given
  * the following args:
  *   - a Title object for the article the edit is made on
@@ -2320,6 +2426,8 @@ $wgDefaultUserOptions = array(
        'rclimit'                 => 50,
        'wllimit'                 => 250,
        'hideminor'               => 0,
+       'hidepatrolled'           => 0,
+       'newpageshidepatrolled'   => 0,
        'highlightbroken'         => 1,
        'stubthreshold'           => 0,
        'previewontop'            => 1,
@@ -2335,6 +2443,10 @@ $wgDefaultUserOptions = array(
        'imagesize'               => 2,
        'thumbsize'               => 2,
        'rememberpassword'        => 0,
+       'nocache'                 => 0,
+       'diffonly'                => 0,
+       'showhiddencats'          => 0,
+       'norollbackdiff'          => 0,
        'enotifwatchlistpages'    => 0,
        'enotifusertalkpages'     => 1,
        'enotifminoredits'        => 0,
@@ -2343,7 +2455,9 @@ $wgDefaultUserOptions = array(
        'fancysig'                => 0,
        'externaleditor'          => 0,
        'externaldiff'            => 0,
+       'forceeditsummary'        => 0,
        'showjumplinks'           => 1,
+       'justify'                 => 0,
        'numberheadings'          => 0,
        'uselivepreview'          => 0,
        'watchlistdays'           => 3.0,
@@ -2351,11 +2465,15 @@ $wgDefaultUserOptions = array(
        'watchlisthideminor'      => 0,
        'watchlisthidebots'       => 0,
        'watchlisthideown'        => 0,
+       'watchlisthideanons'      => 0,
+       'watchlisthideliu'        => 0,
+       'watchlisthidepatrolled'  => 0,
        'watchcreations'          => 0,
        'watchdefault'            => 0,
        'watchmoves'              => 0,
        'watchdeletion'           => 0,
        'noconvertlink'           => 0,
+       'gender'                  => 'unknown',
 );
 
 /** Whether or not to allow and use real name fields. Defaults to true. */
@@ -2662,6 +2780,9 @@ $wgBrowserBlackList = array(
  *
  * This variable is currently used ONLY for signature formatting, not for
  * anything else.
+ *
+ * Timezones can be translated by editing MediaWiki messages of type
+ * timezone-nameinlowercase like timezone-utc.
  */
 # $wgLocaltimezone = 'GMT';
 # $wgLocaltimezone = 'PST8PDT';
@@ -2692,17 +2813,17 @@ $wgLocalTZoffset = null;
 
 
 /**
- * When translating messages with wfMsg(), it is not always clear what should be
- * considered UI messages and what shoud be content messages.
+ * When translating messages with wfMsg(), it is not always clear what should
+ * be considered UI messages and what should be content messages.
  *
- * For example, for regular wikipedia site like en, there should be only one
- * 'mainpage', therefore when getting the link of 'mainpage', we should treate
- * it as content of the site and call wfMsgForContent(), while for rendering the
- * text of the link, we call wfMsg(). The code in default behaves this way.
- * However, sites like common do offer different versions of 'mainpage' and the
- * like for different languages. This array provides a way to override the
- * default behavior. For example, to allow language specific mainpage and
- * community portal, set
+ * For example, for the English Wikipedia, there should be only one 'mainpage',
+ * so when getting the link for 'mainpage', we should treat it as site content
+ * and call wfMsgForContent(), but for rendering the text of the link, we call
+ * wfMsg(). The code behaves this way by default. However, sites like the
+ * Wikimedia Commons do offer different versions of 'mainpage' and the like for
+ * different languages. This array provides a way to override the default
+ * behavior. For example, to allow language-specific main page and community
+ * portal, set
  *
  * $wgForceUIMsgAsContentMsg = array( 'mainpage', 'portal-url' );
  */
@@ -2742,6 +2863,7 @@ $wgLogTypes = array( '',
        'patrol',
        'merge',
        'suppress',
+       'password',
 );
 
 /**
@@ -2796,6 +2918,7 @@ $wgLogNames = array(
        'patrol'  => 'patrol-log-page',
        'merge'   => 'mergelog',
        'suppress' => 'suppressionlog',
+       'password' => 'resetpass-log'
 );
 
 /**
@@ -2816,6 +2939,7 @@ $wgLogHeaders = array(
        'patrol'  => 'patrol-log-header',
        'merge'   => 'mergelogpagetext',
        'suppress' => 'suppressionlogtext',
+       'password' => 'resetpass-logtext',
 );
 
 /**
@@ -2850,6 +2974,8 @@ $wgLogActions = array(
        'suppress/event'    => 'logdelete-logentry',
        'suppress/delete'   => 'suppressedarticle',
        'suppress/block'        => 'blocklogentry',
+       'suppress/reblock'  => 'reblock-logentry',
+       'password/reset'    => 'resetpass-logentry'
 );
 
 /**
@@ -2902,9 +3028,10 @@ $wgSpecialPageGroups = array(
        'Newimages'                 => 'changes',
        'Newpages'                  => 'changes',
        'Log'                       => 'changes',
+       'Tags'                      => 'changes',
 
        'Upload'                    => 'media',
-       'Imagelist'                 => 'media',
+       'Listfiles'                 => 'media',
        'MIMEsearch'                => 'media',
        'FileDuplicateSearch'       => 'media',
        'Filepath'                  => 'media',
@@ -3009,6 +3136,19 @@ $wgNoFollowLinks = true;
  */
 $wgNoFollowNsExceptions = array();
 
+/**
+ * If this is set to an array of domains, external links to these domain names
+ * (or any subdomains) will not be set to rel="nofollow" regardless of the
+ * value of $wgNoFollowLinks.  For instance:
+ *
+ * $wgNoFollowDomainExceptions = array( 'en.wikipedia.org', 'wiktionary.org' );
+ *
+ * This would add rel="nofollow" to links to de.wikipedia.org, but not
+ * en.wikipedia.org, wiktionary.org, en.wiktionary.org, us.en.wikipedia.org,
+ * etc.
+ */
+$wgNoFollowDomainExceptions = array();
+
 /**
  * Default robot policy.  The default policy is to encourage indexing and fol-
  * lowing of links.  It may be overridden on a per-namespace and/or per-page
@@ -3152,6 +3292,12 @@ $wgRateLimitLog = null;
  */
 $wgRateLimitsExcludedGroups = array();
 
+/**
+ * Array of IPs which should be excluded from rate limits.
+ * This may be useful for whitelisting NAT gateways for conferences, etc.
+ */
+$wgRateLimitsExcludedIPs = array();
+
 /**
  * On Special:Unusedimages, consider images "used", if they are put
  * into a category. Default (false) is not to count those as used.
@@ -3277,7 +3423,7 @@ $wgUseAjax = true;
  * List of Ajax-callable functions.
  * Extensions acting as Ajax callbacks must register here
  */
-$wgAjaxExportList = array( );
+$wgAjaxExportList = array( 'wfAjaxGetThumbnailUrl', 'wfAjaxGetFileUrl' );
 
 /**
  * Enable watching/unwatching pages using AJAX.
@@ -3426,6 +3572,18 @@ $wgAPIListModules = array();
  */
 $wgAPIMaxDBRows = 5000;
 
+/**
+ * The maximum size (in bytes) of an API result.
+ * Don't set this lower than $wgMaxArticleSize*1024
+ */
+$wgAPIMaxResultSize = 8388608;
+
+/**
+ * The maximum number of uncached diffs that can be retrieved in one API
+ * request. Set this to 0 to disable API diffs altogether
+ */
+$wgAPIMaxUncachedDiffs = 1;
+
 /**
  * Parser test suite files to be run by parserTests.php when no specific
  * filename is passed to it.
@@ -3478,8 +3636,6 @@ $wgSlaveLagCritical = 30;
  *                    If this parameter is not given, it uses Preprocessor_DOM if the
  *                    DOM module is available, otherwise it uses Preprocessor_Hash.
  *
- *                    Has no effect on Parser_OldPP.
- *
  * The entire associative array will be passed through to the constructor as
  * the first parameter. Note that only Setup.php can use this variable --
  * the configuration will change at runtime via $wgParser member functions, so
@@ -3538,6 +3694,25 @@ $wgMaximumMovedPages = 100;
  */
 $wgFixDoubleRedirects = false;
 
+/**
+ * Max number of redirects to follow when resolving redirects.
+ * 1 means only the first redirect is followed (default behavior).
+ * 0 or less means no redirects are followed.
+ */
+$wgMaxRedirects = 1;
+
+/**
+ * Array of invalid page redirect targets.
+ * Attempting to create a redirect to any of the pages in this array
+ * will make the redirect fail.
+ * Userlogout is hard-coded, so it does not need to be listed here.
+ * (bug 10569) Disallow Mypage and Mytalk as well.
+ *
+ * As of now, this only checks special pages. Redirects to pages in
+ * other namespaces cannot be invalidated by this variable.
+ */
+$wgInvalidRedirectTargets = array( 'Filepath', 'Mypage', 'Mytalk' );
 /**
  * Array of namespaces to generate a sitemap for when the
  * maintenance/generateSitemap.php script is run, or false if one is to be ge-
@@ -3565,8 +3740,39 @@ $wgPasswordAttemptThrottle = array( 'count' => 5, 'seconds' => 300 );
 $wgEdititis = false;
 
 /**
-* Enable the UniversalEditButton for browsers that support it
-* (currently only Firefox with an extension)
-* See http://universaleditbutton.org for more background information
-*/
+ * Enable the UniversalEditButton for browsers that support it
+ * (currently only Firefox with an extension)
+ * See http://universaleditbutton.org for more background information
+ */
 $wgUniversalEditButton = true;
+
+/**
+ * Allow id's that don't conform to HTML4 backward compatibility requirements.
+ * This is currently for testing; if all goes well, this option will be removed
+ * and the functionality will be enabled universally.
+ */
+$wgEnforceHtmlIds = true;
+
+/**
+ * Search form behavior
+ * true = use Go & Search buttons
+ * false = use Go button & Advanced search link
+ */
+$wgUseTwoButtonsSearchForm = true;
+
+/**
+ * Preprocessor caching threshold
+ */
+$wgPreprocessorCacheThreshold = 1000;
+
+/**
+ * Allow filtering by change tag in recentchanges, history, etc
+ * Has no effect if no tags are defined in valid_tag.
+ */
+$wgUseTagFilter = true;
+
+/**
+ * Allow redirection to another page when a user logs in.
+ * To enable, set to a string like 'Main Page'
+ */
+$wgRedirectOnLogin = null;