UDP extension for ProfilerSimple, works together with 'udpprofile' daemon
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index f0d0cd2..6e79fbc 100644 (file)
@@ -1,14 +1,20 @@
 <?php
 /**
- * DO NOT EDIT THIS FILE!
  *
- * To customize your installation, edit "LocalSettings.php".
+ *                 DO NOT EVER EDIT THIS FILE!
+ *
+ *
+ * To customize your installation, edit "LocalSettings.php". If you make
+ * changes here, they will be lost on next upgrade of MediaWiki!
  *
  * Note that since all these string interpolations are expanded
  * before LocalSettings is included, if you localize something
  * like $wgScriptPath, you must also localize everything that
  * depends on it.
  *
+ * Documentation is in the source and on:
+ * http://meta.wikimedia.org/wiki/Help:Configuration_settings_index
+ *
  * @package MediaWiki
  */
 
@@ -17,15 +23,15 @@ if( !defined( 'MEDIAWIKI' ) ) {
        die( "This file is part of MediaWiki and is not a valid entry point\n" );
 }
 
-/** 
+/**
  * Create a site configuration object
  * Not used for much in a default install
- */ 
+ */
 require_once( 'includes/SiteConfiguration.php' );
 $wgConf = new SiteConfiguration;
 
 /** MediaWiki version number */
-$wgVersion                     = '1.5beta1';
+$wgVersion                     = '1.6devel';
 
 /** Name of the site. It must be changed in LocalSettings.php */
 $wgSitename         = 'MediaWiki';
@@ -34,7 +40,7 @@ $wgSitename         = 'MediaWiki';
 $wgMetaNamespace    = FALSE;
 
 
-/** URL of the server. It will be automaticly build including https mode */
+/** URL of the server. It will be automatically built including https mode */
 $wgServer = '';
 
 if( isset( $_SERVER['SERVER_NAME'] ) ) {
@@ -82,7 +88,7 @@ $wgUsePathInfo                = ( strpos( php_sapi_name(), 'cgi' ) === false );
  * make sure that LocalSettings.php is correctly set!
  * @deprecated
  */
-/** 
+/**
  *     @global string $wgScript
  */
 $wgScript           = "{$wgScriptPath}/index.php";
@@ -118,6 +124,48 @@ $wgTmpDirectory     = "{$wgUploadDirectory}/tmp";
 $wgUploadBaseUrl    = "";
 /**#@-*/
 
+/**
+ * Allowed title characters -- regex character class
+ * Don't change this unless you know what you're doing
+ *
+ * Problematic punctuation:
+ *  []{}|#    Are needed for link syntax, never enable these
+ *  %         Enabled by default, minor problems with path to query rewrite rules, see below
+ *  +         Doesn't work with path to query rewrite rules, corrupted by apache
+ *  ?         Enabled by default, but doesn't work with path to PATH_INFO rewrites
+ *
+ * All three of these punctuation problems can be avoided by using an alias, instead of a 
+ * rewrite rule of either variety.
+ *
+ * The problem with % is that when using a path to query rewrite rule, URLs are 
+ * double-unescaped: once by Apache's path conversion code, and again by PHP. So 
+ * %253F, for example, becomes "?". Our code does not double-escape to compensate 
+ * for this, indeed double escaping would break if the double-escaped title was 
+ * passed in the query string rather than the path. This is a minor security issue 
+ * because articles can be created such that they are hard to view or edit.
+ *
+ * Theoretically 0x80-0x9F of ISO 8859-1 should be disallowed, but
+ * this breaks interlanguage links
+ */
+$wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF";
+
+
+/**
+ * The external URL protocols
+ */
+$wgUrlProtocols = array(
+       'http://',
+       'https://',
+       'ftp://',
+       'irc://',
+       'gopher://',
+       'telnet://', // Well if we're going to support the above.. -ævar
+       'nntp://', // @bug 3808 RFC 1738
+       'worldwind://',
+       'mailto:',
+       'news:'
+);
+
 /** internal name of virus scanner. This servers as a key to the $wgAntivirusSetup array.
  * Set this to NULL to disable virus scanning. If not null, every file uploaded will be scanned for viruses.
  * @global string $wgAntivirus
@@ -130,8 +178,8 @@ $wgAntivirus= NULL;
  *
  * The configuration array for each scanner contains the following keys: "command", "codemap", "messagepattern";
  *
- * "command" is the full command to call the virus scanner - %f will be replaced with the name of the 
- * file to scan. If not present, the filename will be appended to the command. Note that this must be 
+ * "command" is the full command to call the virus scanner - %f will be replaced with the name of the
+ * file to scan. If not present, the filename will be appended to the command. Note that this must be
  * overwritten if the scanner is not in the system path; in that case, plase set
  * $wgAntivirusSetup[$wgAntivirus]['command'] to the desired command with full path.
  *
@@ -146,7 +194,7 @@ $wgAntivirus= NULL;
  *
  * "messagepattern" is a perl regular expression to extract the meaningful part of the scanners
  * output. The relevant part should be matched as group one (\1).
- * If not defined or the pattern does not match, the full message is shown to the user. 
+ * If not defined or the pattern does not match, the full message is shown to the user.
  *
  * @global array $wgAntivirusSetup
  */
@@ -155,28 +203,28 @@ $wgAntivirusSetup= array(
        #setup for clamav
        'clamav' => array (
                'command' => "clamscan --no-summary ",
-               
+
                'codemap'=> array (
                        "0"=>  AV_NO_VIRUS, #no virus
                        "1"=>  AV_VIRUS_FOUND, #virus found
                        "52"=> AV_SCAN_ABORTED, #unsupported file format (probably imune)
                        "*"=>  AV_SCAN_FAILED, #else scan failed
                ),
-               
+
                'messagepattern'=> '/.*?:(.*)/sim',
        ),
-       
+
        #setup for f-prot
        'f-prot' => array (
                'command' => "f-prot ",
-               
+
                'codemap'=> array (
                        "0"=> AV_NO_VIRUS, #no virus
                        "3"=> AV_VIRUS_FOUND, #virus found
                        "6"=> AV_VIRUS_FOUND, #virus found
                        "*"=> AV_SCAN_FAILED, #else scan failed
                ),
-               
+
                'messagepattern'=> '/.*?Infection:(.*)$/m',
        ),
 );
@@ -187,7 +235,7 @@ $wgAntivirusSetup= array(
 */
 $wgAntivirusRequired= true;
 
-/** Determines if the mime type of uploaded files should be checked 
+/** Determines if the mime type of uploaded files should be checked
  * @global boolean $wgVerifyMimeType
 */
 $wgVerifyMimeType= true;
@@ -197,13 +245,13 @@ $wgVerifyMimeType= true;
 */
 #$wgMimeTypeFile= "/etc/mime.types";
 $wgMimeTypeFile= "includes/mime.types";
-#$wgMimeTypeFile= NULL; #use builin defaults only.
+#$wgMimeTypeFile= NULL; #use built-in defaults only.
 
 /** Sets the mime type info file to use by MimeMagic.php.
 * @global string $wgMimeInfoFile
 */
 $wgMimeInfoFile= "includes/mime.info";
-#$wgMimeInfoFile= NULL; #use builin defaults only.
+#$wgMimeInfoFile= NULL; #use built-in defaults only.
 
 /** Switch for loading the FileInfo extension by PECL at runtime.
 * This should be used only if fileinfo is installed as a shared object / dynamic libary
@@ -214,21 +262,15 @@ $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.
-* @global string $wgMimeTypeFile
 */
 $wgMimeDetectorCommand= NULL; # use internal mime_content_type function, available since php 4.3.0
-#$wgMimeDetectorCommand= "file -bi" #use external mime detector (linux)
+#$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;
 
-/**
- * Produce hashed HTML article paths. Used internally, do not set.
- */ 
-$wgMakeDumpLinks = false;
-
 /**
  * To set 'pretty' URL paths for actions other than
  * plain page views, add to this array. For instance:
@@ -251,27 +293,31 @@ $wgActionPaths = array();
 $wgUseSharedUploads = false;
 /** Full path on the web server where shared uploads can be found */
 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
+/** Fetch commons image description pages and display them on the local wiki? */
+$wgFetchCommonsDescriptions = false;
 /** Path on the file system where shared uploads can be found. */
 $wgSharedUploadDirectory = "/var/www/wiki3/images";
 /** DB name with metadata about shared directory. Set this to false if the uploads do not come from a wiki. */
 $wgSharedUploadDBname = false;
+/** Optional table prefix used in database. */
+$wgSharedUploadDBprefix = '';
 /** Cache shared metadata in memcached. Don't do this if the commons wiki is in a different memcached domain */
 $wgCacheSharedUploads = true;
 
 /**
  * Point the upload navigation link to an external URL
  * Useful if you want to use a shared repository by default
- * without disabling local uploads
+ * without disabling local uploads (use $wgEnableUploads = false for that)
  * e.g. $wgUploadNavigationUrl = 'http://commons.wikimedia.org/wiki/Special:Upload';
 */
 $wgUploadNavigationUrl = false;
 
-/** 
- * Give a path here to use thumb.php for thumbnail generation on client request, instead of 
- * generating them on render and outputting a static URL. This is necessary if some of your 
+/**
+ * Give a path here to use thumb.php for thumbnail generation on client request, instead of
+ * generating them on render and outputting a static URL. This is necessary if some of your
  * apache servers don't have read/write access to the thumbnail path.
- * 
- * Example: 
+ *
+ * Example:
  *   $wgThumbnailScriptPath = "{$wgScriptPath}/thumb.php";
  */
 $wgThumbnailScriptPath = false;
@@ -339,7 +385,7 @@ $wgEnableUserEmail = true;
 
 /**
  * SMTP Mode
- * For using a direct (authenticated) SMTP server connection. 
+ * For using a direct (authenticated) SMTP server connection.
  * Default to false or fill an array :
  * <code>
  * "host" => 'SMTP domain',
@@ -377,9 +423,9 @@ $wgDBtype           = "mysql";
  */
 $wgSearchType      = null;
 /** Table name prefix */
-$wgDBprefix         = ''; 
+$wgDBprefix         = '';
 /** Database schema
- * on some databases this allows separate 
+ * on some databases this allows separate
  * logical namespace for application data
  */
 $wgDBschema        = 'mediawiki';
@@ -397,16 +443,16 @@ $wgSharedDB = null;
 
 # Database load balancer
 # This is a two-dimensional array, an array of server info structures
-# Fields are: 
+# Fields are:
 #   host:        Host name
 #   dbname:      Default database name
 #   user:        DB user
 #   password:    DB password
 #   type:        "mysql" or "pgsql"
 #   load:        ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0
-#   groupLoads:  array of load ratios, the key is the query group name. A query may belong 
+#   groupLoads:  array of load ratios, the key is the query group name. A query may belong
 #                to several groups, the most specific group defined here is used.
-#                 
+#
 #   flags:       bit field
 #                   DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended)
 #                   DBO_DEBUG -- equivalent of $wgDebugDumpSql
@@ -414,10 +460,16 @@ $wgSharedDB = null;
 #                   DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
 #                   DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
 #
+#   max lag:     (optional) Maximum replication lag before a slave will taken out of rotation
+#   max threads: (optional) Maximum number of running threads
+#
+#   These and any other user-defined properties will be assigned to the mLBInfo member 
+#   variable of the Database object.
+#
 # Leave at false to use the single-server variables above
-$wgDBservers           = false; 
+$wgDBservers           = false;
 
-/** How long to wait for a slave to catch up to the master */ 
+/** How long to wait for a slave to catch up to the master */
 $wgMasterWaitTimeout = 10;
 
 /** File to log MySQL errors to */
@@ -436,14 +488,33 @@ $wgDBClusterTimeout = 10;
 $wgDBminWordLen     = 4;
 /** Set to true if using InnoDB tables */
 $wgDBtransactions      = false;
-/** Set to true to use enhanced fulltext search */
-$wgDBmysql4                    = false;
+/** Set to true for compatibility with extensions that might be checking.
+ * MySQL 3.23.x is no longer supported. */
+$wgDBmysql4                    = true;
+
+/**
+ * Set to true to engage MySQL 4.1/5.0 charset-related features;
+ * for now will just cause sending of 'SET NAMES=utf8' on connect.
+ *
+ * WARNING: THIS IS EXPERIMENTAL!
+ *
+ * May break if you're not using the table defs from mysql5/tables.sql.
+ * May break if you're upgrading an existing wiki if set differently.
+ * Broken symptoms likely to include incorrect behavior with page titles,
+ * usernames, comments etc containing non-ASCII characters.
+ * Might also cause failures on the object cache and other things.
+ *
+ * Even correct usage may cause failures with Unicode supplementary
+ * characters (those not in the Basic Multilingual Plane) unless MySQL
+ * has enhanced their Unicode support.
+ */
+$wgDBmysql5                    = false;
 
 /**
  * Other wikis on this site, can be administered from a single developer
  * account.
  * Array, interwiki prefix => database name
- */ 
+ */
 $wgLocalDatabases   = array();
 
 /**
@@ -461,10 +532,15 @@ $wgLinkCacheMemcached = false; # Not fully tested
  * Memcached-specific settings
  * See docs/memcached.txt
  */
+$wgUseMemCached     = false;
 $wgMemCachedDebug   = false; # Will be set to false in Setup.php, if the server isn't working
 $wgMemCachedServers = array( '127.0.0.1:11000' );
 $wgMemCachedDebug   = false;
 
+/**
+ * Directory for local copy of message cache, for use in addition to memcached
+ */
+$wgLocalMessageCache = false;
 
 
 # Language settings
@@ -481,7 +557,7 @@ $wgHideInterlanguageLinks = false;
 
 /** We speak UTF-8 all the time now, unless some oddities happen */
 $wgInputEncoding       = 'UTF-8';
-$wgOutputEncoding      = 'UTF-8'; 
+$wgOutputEncoding      = 'UTF-8';
 $wgEditEncoding                = '';
 
 # Set this to eg 'ISO-8859-1' to perform character set
@@ -518,11 +594,11 @@ $wgDTD                            = 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd';
 
 /** Enable to allow rewriting dates in page text.
  * DOES NOT FORMAT CORRECTLY FOR MOST LANGUAGES */
-$wgUseDynamicDates  = false; 
+$wgUseDynamicDates  = false;
 /** Enable dates like 'May 12' instead of '12 May', this only takes effect if
  * the interface is set to English
  */
-$wgAmericanDates    = false; 
+$wgAmericanDates    = false;
 /**
  * For Hindi and Arabic use local numerals instead of Western style (0-9)
  * numerals in interface.
@@ -541,6 +617,7 @@ $wgDisableLangConversion = false;
 
 # Use article validation feature; turned off by default
 $wgUseValidation = false;
+$wgValidationMaxTopics = 25; # Maximum number of topics
 $wgValidationForAnons = true ;
 
 # Whether to use zhdaemon to perform Chinese text processing
@@ -550,9 +627,9 @@ $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. 
+/** 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.
@@ -581,7 +658,7 @@ $wgRedirectSources = false;
 
 
 $wgShowIPinHeader      = true; # For non-logged in users
-$wgMaxNameChars     = 32; # Maximum number of bytes in username
+$wgMaxNameChars                = 255;  # Maximum number of bytes in username
 
 $wgExtraSubtitle       = '';
 $wgSiteSupportPage     = ''; # A page where you users can receive donations
@@ -604,6 +681,14 @@ $wgReadOnly             = false;
 $wgLogQueries           = false;
 $wgDebugDumpSql         = false;
 
+/**
+ * Set to an array of log group keys to filenames.
+ * If set, wfDebugLog() output for that group will go to that file instead 
+ * of the regular $wgDebugLogFile. Useful for enabling selective logging
+ * in production.
+ */
+$wgDebugLogGroups       = array();
+
 /**
  * Whether to show "we're sorry, but there has been a database error" pages.
  * Displaying errors aids in debugging, but may display information useful
@@ -656,24 +741,22 @@ $wgUseCommaCount = false;
 */
 $wgHitcounterUpdateFreq = 1;
 
-# User rights settings
-#
-#  It's not 100% safe, there could be security hole using that one. Use at your
-# own risks.
-
-$wgWhitelistRead = false;      # Pages anonymous user may see, like: = array ( "Main Page", "Special:Userlogin", "Wikipedia:Help");
-
+# Basic user rights and block settings
 $wgAllowAnonymousMinor = false; # Allow anonymous users to mark changes as 'minor'
-
 $wgSysopUserBans        = true; # Allow sysops to ban logged-in users
 $wgSysopRangeBans              = true; # Allow sysops to ban IP ranges
-
-/** Comma-separated list of options to show on the IP block form. 
-  * Use strtotime() format, or "infinite" for an infinite block 
-  */
-$wgBlockExpiryOptions = "2 hours,1 day,3 days,1 week,2 weeks,1 month,3 months,6 months,1 year,infinite";
-
 $wgAutoblockExpiry             = 86400; # Number of seconds before autoblock entries expire
+$wgBlockAllowsUTEdit    = false; # Blocks allow users to edit their own user talk page
+
+# Pages anonymous user may see as an array, e.g.:
+# array ( "Main Page", "Special:Userlogin", "Wikipedia:Help");
+# NOTE: This will only work if $wgGroupPermissions['*']['read'] 
+# is false -- see below. Otherwise, ALL pages are accessible,
+# regardless of this setting.
+# Also note that this will only protect _pages in the wiki_.
+# Uploaded files will remain readable. Make your upload 
+# directory name unguessable, or use .htaccess to protect it.
+$wgWhitelistRead = false;      
 
 /**
  * Permission keys given to users in each group.
@@ -682,24 +765,43 @@ $wgAutoblockExpiry                = 86400; # Number of seconds before autoblock entries expire
  * combined with the permissions of all groups that a given user is listed
  * in in the user_groups table.
  *
+ * Functionality to make pages inaccessible has not been extensively tested 
+ * for security. Use at your own risk!
+ * 
  * This replaces wgWhitelistAccount and wgWhitelistEdit
  */
 $wgGroupPermissions = array();
 
+// Implicit group for all visitors
 $wgGroupPermissions['*'    ]['createaccount']   = true;
 $wgGroupPermissions['*'    ]['read']            = true;
 $wgGroupPermissions['*'    ]['edit']            = true;
+$wgGroupPermissions['*'    ]['createpage']      = true;
+$wgGroupPermissions['*'    ]['createtalk']      = true;
 
+// Implicit group for all logged-in accounts
 $wgGroupPermissions['user' ]['move']            = true;
 $wgGroupPermissions['user' ]['read']            = true;
 $wgGroupPermissions['user' ]['edit']            = true;
+$wgGroupPermissions['user' ]['createpage']      = true;
+$wgGroupPermissions['user' ]['createtalk']      = true;
 $wgGroupPermissions['user' ]['upload']          = true;
+$wgGroupPermissions['user' ]['reupload']        = true;
+$wgGroupPermissions['user' ]['reupload-shared'] = true;
+
+// 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;
 
+// Most extra permission abilities go to this group
 $wgGroupPermissions['sysop']['block']           = true;
 $wgGroupPermissions['sysop']['createaccount']   = true;
 $wgGroupPermissions['sysop']['delete']          = true;
+$wgGroupPermissions['sysop']['deletedhistory']  = true; // can view deleted history entries, but not see or restore the text
 $wgGroupPermissions['sysop']['editinterface']   = true;
 $wgGroupPermissions['sysop']['import']          = true;
 $wgGroupPermissions['sysop']['importupload']    = true;
@@ -708,7 +810,12 @@ $wgGroupPermissions['sysop']['patrol']          = true;
 $wgGroupPermissions['sysop']['protect']         = true;
 $wgGroupPermissions['sysop']['rollback']        = true;
 $wgGroupPermissions['sysop']['upload']          = true;
+$wgGroupPermissions['sysop']['reupload']        = true;
+$wgGroupPermissions['sysop']['reupload-shared'] = true;
+$wgGroupPermissions['sysop']['unwatchedpages'] = true;
+$wgGroupPermissions['sysop']['autoconfirmed']   = true;
 
+// Permission to change users' group assignments
 $wgGroupPermissions['bureaucrat']['userrights'] = true;
 
 /**
@@ -720,6 +827,35 @@ $wgGroupPermissions['bureaucrat']['userrights'] = true;
 # $wgGroupPermissions['developer']['siteadmin'] = true;
 
 
+/**
+ * Set of available actions that can be restricted via Special:Protect
+ * You probably shouldn't change this.
+ */
+$wgRestrictionTypes = array( 'edit', 'move' );
+
+/**
+ * Set of permission keys that can be selected via Special:Protect.
+ * 'autoconfirm' allows all registerd users if $wgAutoConfirmAge is 0.
+ */
+$wgRestrictionLevels = array( '', 'autoconfirmed', 'sysop' );
+
+
+/**
+ * Number of seconds an account is required to age before
+ * it's given the implicit 'autoconfirm' group membership.
+ * This can be used to limit privileges of new accounts.
+ *
+ * Accounts created by earlier versions of the software
+ * may not have a recorded creation date, and will always
+ * be considered to pass the age test.
+ *
+ * When left at 0, all registered accounts will pass.
+ */
+$wgAutoConfirmAge = 0;
+//$wgAutoConfirmAge = 600;     // ten minutes
+//$wgAutoConfirmAge = 3600*24; // one day
+
+
 
 # Proxy scanner settings
 #
@@ -727,10 +863,10 @@ $wgGroupPermissions['bureaucrat']['userrights'] = true;
 /**
  * If you enable this, every editor's IP address will be scanned for open HTTP
  * proxies.
- * 
+ *
  * Don't enable this. Many sysops will report "hostile TCP port scans" to your
  * ISP and ask for your server to be shut down.
- * 
+ *
  * You have been warned.
  */
 $wgBlockOpenProxies = false;
@@ -769,7 +905,7 @@ $wgCacheEpoch = '20030516000000';
  * This will cache static pages for non-logged-in users to reduce
  * database traffic on public sites.
  * Must set $wgShowIPinHeader = false
- */  
+ */
 $wgUseFileCache = false;
 /** Directory where the cached page will be saved */
 $wgFileCacheDirectory = "{$wgUploadDirectory}/cache";
@@ -779,7 +915,7 @@ $wgFileCacheDirectory = "{$wgUploadDirectory}/cache";
  * space. Pages will then also be served compressed to clients that support it.
  * THIS IS NOT COMPATIBLE with ob_gzhandler which is now enabled if supported in
  * the default LocalSettings.php! If you enable this, remove that setting first.
- * 
+ *
  * Requires zlib support enabled in PHP.
  */
 $wgUseGzip = false;
@@ -792,7 +928,7 @@ $wgPasswordSender = $wgEmergencyContact;
 
 # true: from page editor if s/he opted-in
 # false: Enotif mails appear to come from $wgEmergencyContact
-$wgEnotifFromEditor    = false; 
+$wgEnotifFromEditor    = false;
 
 // TODO move UPO to preferences probably ?
 # If set to true, users get a corresponding option in their preferences and can choose to enable or disable at their discretion
@@ -813,11 +949,11 @@ $wgPageShowWatchingUsers                  = false;
 /**
  * Show "Updated (since my last visit)" marker in RC view, watchlist and history
  * view for watched pages with new changes */
-$wgShowUpdatedMarker                           = true; 
+$wgShowUpdatedMarker                           = true;
 
 $wgCookieExpiration = 2592000;
 
-/** Clock skew or the one-second resolution of time() can occasionally cause cache 
+/** Clock skew or the one-second resolution of time() can occasionally cause cache
  * problems when the user requests two pages within a short period of time. This
  * variable adds a given number of seconds to vulnerable timestamps, thereby giving
  * a grace period.
@@ -829,14 +965,14 @@ $wgClockSkewFudge = 5;
 
 /** Enable/disable Squid */
 $wgUseSquid = false;
+
 /** If you run Squid3 with ESI support, enable this (default:false): */
 $wgUseESI = false;
+
 /** Internal server name as known to Squid, if different */
 # $wgInternalServer = 'http://yourinternal.tld:8000';
 $wgInternalServer = $wgServer;
+
 /**
  * Cache timeout for the squid, will be sent as s-maxage (without ESI) or
  * Surrogate-Control (with ESI). Without ESI, you should strip out s-maxage in
@@ -844,7 +980,7 @@ $wgInternalServer = $wgServer;
  * days
  */
 $wgSquidMaxage = 18000;
+
 /**
  * A list of proxy servers (ips if possible) to purge on changes don't specify
  * ports here (80 is default)
@@ -874,6 +1010,15 @@ $wgDisableCookieCheck = false;
 /**  Whether to allow inline image pointing to other websites */
 $wgAllowExternalImages = true;
 
+/** If the above is false, you can specify an exception here. Image URLs 
+  * that start with this string are then rendered, while all others are not.
+  * You can use this to set up a trusted, simple repository of images.
+  *
+  * Example: 
+  * $wgAllowExternalImagesFrom = 'http://127.0.0.1/'; 
+  */
+$wgAllowExternalImagesFrom = '';
+
 /** Disable database-intensive features */
 $wgMiserMode = false;
 /** Disable all query pages if miser mode is on, not just some */
@@ -898,17 +1043,23 @@ $wgTexvc = './math/texvc';
 #
 
 /** Enable for more detailed by-function times in debug log */
-$wgProfiling = false; 
+$wgProfiling = false;
 /** Only record profiling info for pages that took longer than this */
 $wgProfileLimit = 0.0;
 /** Don't put non-profiling info into log file */
-$wgProfileOnly = false; 
+$wgProfileOnly = false;
 /** Log sums from profiling into "profiling" table in db. */
 $wgProfileToDatabase = false;
 /** Only profile every n requests when profiling is turned on */
 $wgProfileSampleRate = 1;
 /** If true, print a raw call tree instead of per-function report */
-$wgProfileCallTree = false; 
+$wgProfileCallTree = false;
+/** If not empty, specifies profiler type to load */
+$wgProfilerType = '';
+
+/** Settings for UDP profiler */
+$wgUDPProfilerHost = '127.0.0.1';
+$wgUDPProfilerPort = '3811';
 
 /** Detects non-matching wfProfileIn/wfProfileOut calls */
 $wgDebugProfiling = false;
@@ -919,6 +1070,7 @@ $wgDebugSquid = false;
 
 $wgDisableCounters = false;
 $wgDisableTextSearch = false;
+$wgDisableSearchContext = 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.
@@ -937,12 +1089,12 @@ $wgShowEXIF = function_exists( 'exif_read_data' );
  * Assumes that the special page link will be bounced to another server where
  * uploads do work.
  */
-$wgRemoteUploads = false; 
+$wgRemoteUploads = false;
 $wgDisableAnonTalk = false;
 /**
  * Do DELETE/INSERT for link updates instead of incremental
  */
-$wgUseDumbLinkUpdate = false; 
+$wgUseDumbLinkUpdate = false;
 
 /**
  * Anti-lock flags - bitfield
@@ -950,6 +1102,13 @@ $wgUseDumbLinkUpdate = false;
  *       Preload links during link update for save
  *   ALF_PRELOAD_EXISTENCE
  *       Preload cur_id during replaceLinkHolders
+ *   ALF_NO_LINK_LOCK
+ *       Don't use locking reads when updating the link table. This is 
+ *       necessary for wikis with a high edit rate for performance 
+ *       reasons, but may cause link table inconsistency
+ *   ALF_NO_BLOCK_LOCK
+ *       As for ALF_LINK_LOCK, this flag is a necessity for high-traffic
+ *       wikis.
  */
 $wgAntiLockFlags = 0;
 
@@ -959,7 +1118,7 @@ $wgAntiLockFlags = 0;
  */
 $wgDiff3 = '/usr/bin/diff3';
 
-/** 
+/**
  * We can also compress text in the old revisions table. If this is set on, old
  * revisions will be compressed on page save if zlib support is available. Any
  * compressed revisions will be decompressed on load regardless of this setting
@@ -983,7 +1142,7 @@ $wgFileBlacklist = array(
        'shtml', 'jhtml', 'pl', 'py', 'cgi',
        # May contain harmful executables for Windows victims
        'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl' );
-       
+
 /** Files with these mime types will never be allowed as uploads
  * if $wgVerifyMimeType is enabled.
  */
@@ -991,9 +1150,9 @@ $wgMimeTypeBlacklist= array(
        # HTML may contain cookie-stealing JavaScript and web bugs
        'text/html', 'text/javascript', 'text/x-javascript',  'application/x-shellscript',
        # PHP scripts may execute arbitrary code on the server
-       'application/x-php', 'text/x-php', 
+       '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'  
+       'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh'
 );
 
 /** This is a flag to determine whether or not to check file extensions on upload. */
@@ -1009,7 +1168,7 @@ $wgStrictFileExtensions = true;
 $wgUploadSizeWarning = 150 * 1024;
 
 /** For compatibility with old installations set to false */
-$wgPasswordSalt = true; 
+$wgPasswordSalt = true;
 
 /** Which namespaces should support subpages?
  * See Language.php for a list of namespaces.
@@ -1045,7 +1204,7 @@ $wgUseImageResize         = false;
  * Resizing can be done using PHP's internal image libraries or using
  * ImageMagick. The later supports more file formats than PHP, which only
  * supports PNG, GIF, JPG, XBM and WBMP.
- * 
+ *
  * Use Image Magick instead of PHP builtin functions.
  */
 $wgUseImageMagick              = false;
@@ -1062,11 +1221,29 @@ $wgSVGConverters = array(
        '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',
+       'rsvg' => '$path/rsvg -w$width -h$height $input $output',
        );
 /** Pick one of the above */
 $wgSVGConverter = 'ImageMagick';
 /** If not in the executable PATH, specify */
 $wgSVGConverterPath = '';
+/** Don't scale a SVG larger than this unless its native size is larger */
+$wgSVGMaxSize = 1024;
+/** 
+ * 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 
+ * 12.5 million pixels or 3500x3500
+ */
+$wgMaxImageArea = 1.25e7;
+/**
+ * If rendered thumbnail files are older than this timestamp, they
+ * will be rerendered on demand as if the file didn't already exist.
+ * Update if there is some need to force thumbs and SVG rasterizations
+ * to rerender, such as fixes to rendering bugs.
+ */
+$wgThumbnailEpoch = '20030516000000';
+
+
 
 /** Set $wgCommandLineMode if it's not set already, to avoid notices */
 if( !isset( $wgCommandLineMode ) ) {
@@ -1089,6 +1266,11 @@ $wgPutIPinRC = false;
 $wgRCMaxAge = 7 * 24 * 3600;
 
 
+# Send RC updates via UDP
+$wgRC2UDPAddress = false;
+$wgRC2UDPPort = false;
+$wgRC2UDPPrefix = '';
+
 #
 # Copyright and credits settings
 #
@@ -1108,10 +1290,6 @@ $wgRightsIcon = NULL;
 /** Set this to some HTML to override the rights icon with an arbitrary logo */
 $wgCopyrightIcon = NULL;
 
-/* Set this to true if you want the annoying copyright confirmation
- *  checkbox at Special:Upload */
-$wgCopyrightAffirmation = false;
-
 /** Set this to true if you want detailed copyright information forms on Upload. */
 $wgUseCopyrightUpload = false;
 
@@ -1156,7 +1334,7 @@ $wgImportSources = array();
 
 /** Text matching this regular expression will be recognised as spam
  * See http://en.wikipedia.org/wiki/Regular_expression */
-$wgSpamRegex = false; 
+$wgSpamRegex = false;
 /** Similarly if this function returns true */
 $wgFilterCallback = false;
 
@@ -1192,7 +1370,7 @@ $wgRawHtml = false;
  */
 $wgUseTidy = false;
 $wgTidyBin = 'tidy';
-$wgTidyConf = $IP.'/extensions/tidy/tidy.conf'; 
+$wgTidyConf = $IP.'/extensions/tidy/tidy.conf';
 $wgTidyOpts = '';
 $wgTidyInternal = function_exists( 'tidy_load_config' );
 
@@ -1205,7 +1383,7 @@ $wgDefaultSkin = 'monobook';
  * and sample values in languages/Language.php)
  * For instance, to disable section editing links:
  *  $wgDefaultUserOptions ['editsection'] = 0;
- * 
+ *
  */
 $wgDefaultUserOptions = array();
 
@@ -1218,6 +1396,22 @@ $wgUseXMLparser = false ;
 /** Extensions */
 $wgSkinExtensionFunctions = array();
 $wgExtensionFunctions = array();
+/**
+ * An array of extension types and inside that their names, versions, authors
+ * and urls, note that the version and url key can be omitted.
+ *
+ * <code>
+ * $wgExtensionCredits[$type][] = array(
+ *     'name' => 'Example extension',
+ *      'version' => 1.9,
+ *     'author' => 'Foo Barstein',
+ *     'url' => 'http://wwww.example.com/Example%20Extension/',
+ * );
+ * </code>
+ *
+ * Where $type is 'specialpage', 'parserhook', or 'other'.
+ */
+$wgExtensionCredits = array();
 
 /**
  * Allow user Javascript page?
@@ -1238,7 +1432,7 @@ $wgUseSiteJs = true;
 
 /** Use the site's Cascading Style Sheets (CSS)? */
 $wgUseSiteCss = true;
-       
+
 /** Filter for Special:Randompage. Part of a WHERE clause */
 $wgExtraRandompageSQL = false;
 
@@ -1260,7 +1454,11 @@ $wgFeedLimit = 50;
 
 /** _Minimum_ timeout for cached Recentchanges feed, in seconds.
  * A cached version will continue to be served out even if changes
- * are made, until this many seconds runs out since the last render. */
+ * are made, until this many seconds runs out since the last render.
+ *
+ * If set to 0, feed caching is disabled. Use this for debugging only;
+ * feed generation can be pretty slow with diffs.
+ */
 $wgFeedCacheTimeout = 60;
 
 /** When generating Recentchanges RSS/Atom feed, diffs will not be generated for
@@ -1275,7 +1473,7 @@ $wgFeedDiffCutoff = 32768;
  * PLEASE  NOTE: Once you delete a namespace, the pages in that namespace will
  * no longer be accessible. If you rename it, then you can access them through
  * the new namespace name.
- * 
+ *
  * Custom namespaces should start at 100 to avoid conflicting with standard
  * namespaces, and should always follow the even/odd main/talk pattern.
  */
@@ -1345,6 +1543,9 @@ $wgBrowserBlackList = array(
  * Fake out the timezone that the server thinks it's in. This will be used for
  * date display and not for what's stored in the DB. Leave to null to retain
  * your server's OS-based timezone value. This is the same as the timezone.
+ *
+ * This variable is currently used ONLY for signature formatting, not for
+ * anything else.
  */
 # $wgLocaltimezone = 'GMT';
 # $wgLocaltimezone = 'PST8PDT';
@@ -1352,6 +1553,27 @@ $wgBrowserBlackList = array(
 # $wgLocaltimezone = 'CET';
 $wgLocaltimezone = null;
 
+/**
+ * Set an offset from UTC in hours to use for the default timezone setting
+ * for anonymous users and new user accounts.
+ *
+ * This setting is used for most date/time displays in the software, and is
+ * overrideable in user preferences. It is *not* used for signature timestamps.
+ *
+ * You can set it to match the configured server timezone like this:
+ *   $wgLocalTZoffset = date("Z") / 3600;
+ *
+ * If your server is not configured for the timezone you want, you can set
+ * this in conjunction with the signature timezone and override the TZ
+ * environment variable like so:
+ *   $wgLocaltimezone="Europe/Berlin";
+ *   putenv("TZ=$wgLocaltimezone");
+ *   $wgLocalTZoffset = date("Z") / 3600;
+ *
+ * Leave at NULL to show times in universal time (UTC/GMT).
+ */
+$wgLocalTZoffset = null;
+
 
 /**
  * When translating messages with wfMsg(), it is not always clear what should be
@@ -1384,7 +1606,7 @@ $wgAuth = null;
  *     $wgHooks['event_name'][] = array($function, $data);
  * or:
  *     $wgHooks['event_name'][] = array($object, 'method');
- */    
+ */
 $wgHooks = array();
 
 /**
@@ -1405,7 +1627,7 @@ $wgDisableInternalSearch = false;
  * Set this to a URL to forward search requests to some external location.
  * If the URL includes '$1', this will be replaced with the URL-encoded
  * search term.
- * 
+ *
  * For example, to forward to Google you'd have something like:
  * $wgSearchForwardUrl = 'http://www.google.com/search?q=$1' .
  *                       '&domains=http://example.com' .
@@ -1512,25 +1734,31 @@ $wgRateLimitLog = null;
  */
 $wgCountCategorizedImagesAsUsed = false;
 
-/** 
- * External stores allow including content 
+/**
+ * External stores allow including content
  * from non database sources following URL links
- * 
+ *
  * Short names of ExternalStore classes may be specified in an array here:
  * $wgExternalStores = array("http","file","custom")...
- * 
+ *
  * CAUTION: Access to database might lead to code execution
  */
 $wgExternalStores = false;
 
 /**
-* list of trusted media-types and mime types. 
+ * An array of external mysql servers, e.g.
+ * $wgExternalServers = array( 'cluster1' => array( 'srv28', 'srv29', 'srv30' ) );
+ */
+$wgExternalServers = array();
+
+/**
+* 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 
+* to use this for further restrictions, like disabling direct
 * [[media:...]] links for non-trusted formats.
 */
 $wgTrustedMediaFormats= array(
@@ -1539,7 +1767,7 @@ $wgTrustedMediaFormats= array(
        MEDIATYPE_VIDEO,  //all plain video formats
        "image/svg",  //svg (only needed if inline rendering of svg is not supported)
        "application/pdf",  //PDF files
-       #"application/x-shockwafe-flash", //flash/shockwave movie 
+       #"application/x-shockwafe-flash", //flash/shockwave movie
 );
 
 /**
@@ -1552,4 +1780,26 @@ $wgAllowSpecialInclusion = true;
  */
 $wgHTTPTimeout = 3;
 
+/**
+ * Proxy to use for CURL requests.
+ */
+$wgHTTPProxy = false;
+
+/**
+ * Enable interwiki transcluding.  Only when iw_trans=1.
+ */
+$wgEnableScaryTranscluding = false;
+
+/**
+ * Support blog-style "trackbacks" for articles.  See
+ * http://www.sixapart.com/pronet/docs/trackback_spec for details.
+ */
+$wgUseTrackbacks = false;
+
+/**
+ * Enable filtering of robots in Special:Watchlist
+ */
+
+$wgFilterRobotsWL = false;
+
 ?>