Bump to 1.5alpha2
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index 1266267..ffb26c1 100644 (file)
  */
 
 # This is not a valid entry point, perform no further processing unless MEDIAWIKI is defined
-if( defined( 'MEDIAWIKI' ) ) {
+if( !defined( 'MEDIAWIKI' ) ) {
+       die( "This file is part of MediaWiki and is not a valid entry point\n" );
+}
 
 /** MediaWiki version number */
-$wgVersion                     = '1.5pre-alpha';
+$wgVersion                     = '1.5alpha2';
 
 /** Name of the site. It must be changed in LocalSettings.php */
 $wgSitename         = 'MediaWiki';
@@ -24,6 +26,7 @@ $wgSitename         = 'MediaWiki';
 /** Will be same as you set @see $wgSitename */
 $wgMetaNamespace    = FALSE;
 
+
 /** URL of the server. It will be automaticly build including https mode */
 $wgServer = '';
 
@@ -31,8 +34,11 @@ if( isset( $_SERVER['SERVER_NAME'] ) ) {
        $wgServerName = $_SERVER['SERVER_NAME'];
 } elseif( isset( $_SERVER['HOSTNAME'] ) ) {
        $wgServerName = $_SERVER['HOSTNAME'];
+} elseif( isset( $_SERVER['HTTP_HOST'] ) ) {
+       $wgServerName = $_SERVER['HTTP_HOST'];
+} elseif( isset( $_SERVER['SERVER_ADDR'] ) ) {
+       $wgServerName = $_SERVER['SERVER_ADDR'];
 } else {
-       # FIXME: Fall back on... something else?
        $wgServerName = 'localhost';
 }
 
@@ -40,7 +46,11 @@ if( isset( $_SERVER['SERVER_NAME'] ) ) {
 $wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
 
 $wgServer = $wgProto.'://' . $wgServerName;
-if( isset( $_SERVER['SERVER_PORT'] ) && $_SERVER['SERVER_PORT'] != 80 ) {
+# If the port is a non-standard one, add it to the URL
+if(    isset( $_SERVER['SERVER_PORT'] )
+    && (    ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 )
+         || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) {
+
        $wgServer .= ":" . $_SERVER['SERVER_PORT'];
 }
 unset($wgProto);
@@ -90,7 +100,6 @@ $wgStylePath   = "{$wgScriptPath}/skins";
  */
 $wgStyleDirectory = "{$IP}/skins";
 $wgStyleSheetPath = &$wgStylePath;
-$wgStyleSheetDirectory = &$wgStyleDirectory;
 $wgArticlePath      = "{$wgScript}?title=$1";
 $wgUploadPath       = "{$wgScriptPath}/upload";
 $wgUploadDirectory     = "{$IP}/upload";
@@ -102,6 +111,127 @@ $wgTmpDirectory     = "{$wgUploadDirectory}/tmp";
 $wgUploadBaseUrl    = "";
 /**#@-*/
 
+/** 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
+ */
+$wgAntivirus= NULL;
+
+/** Configuration for different virus scanners. This an associative array of associative arrays:
+ * it contains on setup array per known scanner type. The entry is selected by $wgAntivirus, i.e.
+ * valid values for $wgAntivirus are the keys defined in this array.
+ *
+ * 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 
+ * 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.
+ *
+ * "codemap" is a mapping of exit code to return codes of the detectVirus function in SpecialUpload.
+ * An exit code mapped to AV_SCAN_FAILED causes the function to consider the scan to be failed. This will pass
+ * the file if $wgAntivirusRequired is not set.
+ * An exit code mapped to AV_SCAN_ABORTED causes the function to consider the file to have an usupported format,
+ * which is probably imune to virusses. This causes the file to pass.
+ * An exit code mapped to AV_NO_VIRUS will cause the file to pass, meaning no virus was found.
+ * All other codes (like AV_VIRUS_FOUND) will cause the function to report a virus.
+ * You may use "*" as a key in the array to catch all exit codes not mapped otherwise.
+ *
+ * "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. 
+ *
+ * @global array $wgAntivirusSetup
+ */
+$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',
+       ),
+);
+
+
+/** 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
+*/
+#$wgMimeTypeFile= "/etc/mime.types";
+$wgMimeTypeFile= "includes/mime.types";
+#$wgMimeTypeFile= NULL; #use build in defaults only.
+
+/** Sets the mime type info file to use by MimeMagic.php.
+* @global string $wgMimeInfoFile
+*/
+$wgMimeInfoFile= "includes/mime.info";
+#$wgMimeInfoFile= NULL; #use build 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
+* @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.
+* @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)
+
+/** 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:
+ *   'edit' => "$wgScriptPath/edit/$1"
+ *
+ * There must be an appropriate script or rewrite rule
+ * in place to handle these URLs.
+ */
+$wgActionPaths = array();
+
 /**
  * If you operate multiple wikis, you can define a shared upload path here.
  * Uploads to this wiki will NOT be put there - they will be put into
@@ -114,8 +244,31 @@ $wgUploadBaseUrl    = "";
 $wgUseSharedUploads = false;
 /** Full path on the web server where shared uploads can be found */
 $wgSharedUploadPath = "http://commons.wikimedia.org/shared/images";
-/** Path on the file system where shared uploads can be found */
+/** 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;
+/** 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
+ * 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 
+ * apache servers don't have read/write access to the thumbnail path.
+ * 
+ * Example: 
+ *   $wgThumbnailScriptPath = "{$wgScriptPath}/thumb.php";
+ */
+$wgThumbnailScriptPath = false;
+$wgSharedThumbnailScriptPath = false;
 
 /**
  * Set the following to false especially if you have a set of files that need to
@@ -124,9 +277,6 @@ $wgSharedUploadDirectory = "/var/www/wiki3/images";
  */
 $wgHashedSharedUploadDirectory = true;
 
-/** set true if the repository uses latin1 filenames */
-$wgSharedLatin1=false;
-
 /**
  * Base URL for a repository wiki. Leave this blank if uploads are just stored
  * in a shared directory and not meant to be accessible through a separate wiki.
@@ -214,10 +364,11 @@ $wgDBuser           = 'wikiuser';
  */
 $wgDBtype           = "mysql";
 /** Search type
- * "MyISAM" for MySQL native full text search, "Tsearch2" for PostgreSQL
- * based search engine
+ * Leave as null to select the default search engine for the
+ * selected database type (eg SearchMySQL4), or set to a class
+ * name to override to a custom search engine.
  */
-$wgSearchType      = "MyISAM";
+$wgSearchType      = null;
 /** Table name prefix */
 $wgDBprefix         = ''; 
 /** Database schema
@@ -240,18 +391,21 @@ $wgSharedDB = null;
 # Database load balancer
 # This is a two-dimensional array, an array of server info structures
 # 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
-#   flags:     bit field
-#                 DBO_DEFAULT -- turns on DBO_TRX only if !$wgCommandLineMode (recommended)
-#                 DBO_DEBUG -- equivalent of $wgDebugDumpSql
-#                 DBO_TRX -- wrap entire request in a transaction
-#                 DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
-#                 DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
+#   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 
+#                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
+#                   DBO_TRX -- wrap entire request in a transaction
+#                   DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
+#                   DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
 #
 # Leave at false to use the single-server variables above
 $wgDBservers           = false; 
@@ -259,16 +413,6 @@ $wgDBservers               = false;
 /** How long to wait for a slave to catch up to the master */ 
 $wgMasterWaitTimeout = 10;
 
-# Sysop SQL queries
-#   The sql user shouldn't have too many rights other the database, restrict
-#   it to SELECT only on 'page', 'revision' and 'text' tables for example
-#
-/** Dangerous if not configured properly. */
-$wgAllowSysopQueries = false;
-$wgDBsqluser = 'sqluser';
-$wgDBsqlpassword = 'sqlpass';
-$wgDBpassword = 'userpass';
-$wgSqlLogFile = "{$wgUploadDirectory}/sqllog_mFhyRe6";
 /** File to log MySQL errors to */
 $wgDBerrorLog          = false;
 
@@ -284,10 +428,6 @@ $wgDBminWordLen     = 4;
 $wgDBtransactions      = false;
 /** Set to true to use enhanced fulltext search */
 $wgDBmysql4                    = false;
-$wgSqlTimeout          = 30;
-
-/** use buffered queries by default */
-$wgBufferSQLResults     = true;
 
 /**
  * Other wikis on this site, can be administered from a single developer
@@ -296,45 +436,42 @@ $wgBufferSQLResults     = true;
  */ 
 $wgLocalDatabases   = array();
 
+/**
+ * Object cache settings
+ * See Defines.php for types
+ */
+$wgMainCacheType = CACHE_NONE;
+$wgMessageCacheType = CACHE_ANYTHING;
+$wgParserCacheType = CACHE_ANYTHING;
 
-# Memcached settings
-# See docs/memcached.doc
-#
-$wgMemCachedDebug   = false; # Will be set to false in Setup.php, if the server isn't working
-$wgUseMemCached     = false;
-$wgMemCachedServers = array( '127.0.0.1:11000' );
-$wgMemCachedDebug   = false;
 $wgSessionsInMemcached = false;
 $wgLinkCacheMemcached = false; # Not fully tested
 
 /**
- * Turck MMCache shared memory
- * You can use this for persistent caching where your wiki runs on a single 
- * server. Enabled by default if Turck is installed. Mutually exclusive with
- * memcached, memcached is used if both are specified.
- *
- * @global bool $wgUseTurckShm Enable or disabled Turck MMCache
+ * Memcached-specific settings
+ * See docs/memcached.txt
  */
-$wgUseTurckShm      = 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;
+
 
 
 # Language settings
 #
-/** Site language code, should be one of ./language/Language(.*).php */
+/** Site language code, should be one of ./languages/Language(.*).php */
 $wgLanguageCode     = 'en';
 
-/** Filename of a language file generated by dumpMessages.php */
-$wgLanguageFile     = false;
-
 /** Treat language links as magic connectors, not inline links */
 $wgInterwikiMagic      = true;
 
-/** LanguageUtf8.php normally overrides this */
-$wgInputEncoding       = 'ISO-8859-1';
-/** unless you set the next option to true: */
-$wgOutputEncoding      = 'ISO-8859-1'; 
-/** Enable ISO-8859-1 compatibility mode */
-$wgUseLatin1           = false;
+/** Hide interlanguage links from the sidebar */
+$wgHideInterlanguageLinks = false;
+
+
+/** We speak UTF-8 all the time now, unless some oddities happen */
+$wgInputEncoding       = 'UTF-8';
+$wgOutputEncoding      = 'UTF-8'; 
 $wgEditEncoding                = '';
 
 # Set this to eg 'ISO-8859-1' to perform character set
@@ -347,14 +484,34 @@ $wgEditEncoding           = '';
 # en masse in the database before continuing as a UTF-8 wiki.
 $wgLegacyEncoding   = false;
 
+/**
+ * If set to true, the MediaWiki 1.4 to 1.5 schema conversion will
+ * create stub reference rows in the text table instead of copying
+ * the full text of all current entries from 'cur' to 'text'.
+ *
+ * This will speed up the conversion step for large sites, but
+ * requires that the cur table be kept around for those revisions
+ * to remain viewable.
+ *
+ * maintenance/migrateCurStubs.php can be used to complete the
+ * migration in the background once the wiki is back online.
+ *
+ * This option affects the updaters *only*. Any present cur stub
+ * revisions will be readable at runtime regardless of this setting.
+ */
+$wgLegacySchemaConversion = false;
+
 $wgMimeType                    = 'text/html';
+$wgJsMimeType                  = 'text/javascript';
 $wgDocType                     = '-//W3C//DTD XHTML 1.0 Transitional//EN';
 $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; 
-/** Enable for English module to print dates as eg 'May 12' instead of '12 May' */
+/** Enable dates like 'May 12' instead of '12 May', this only takes effect if
+ * the interface is set to English
+ */
 $wgAmericanDates    = false; 
 /**
  * For Hindi and Arabic use local numerals instead of Western style (0-9)
@@ -368,7 +525,6 @@ $wgTranslateNumerals = true;
 # Interface messages will be get from the database.
 $wgUseDatabaseMessages = true;
 $wgMsgCacheExpiry      = 86400;
-$wgPartialMessageCache = false;
 
 # Whether to enable language variant conversion. Currently only zh 
 # supports this function, to convert between Traditional and Simplified
@@ -376,6 +532,10 @@ $wgPartialMessageCache = false;
 # code, so that if it breaks, only zh will be affected
 $wgDisableLangConversion = false;
 
+# Use article validation feature; turned off by default
+$wgUseValidation = false;
+$wgValidationForAnons = true ;
+
 # Whether to use zhdaemon to perform Chinese text processing
 # zhdaemon is under developement, so normally you don't want to
 # use it unless for testing
@@ -383,12 +543,36 @@ $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.
+*/
+$wgMetaNamespaceTalk = false;
+
 # Miscellaneous configuration settings
 #
 
 $wgLocalInterwiki   = 'w';
 $wgInterwikiExpiry = 10800; # Expiry time for cache of interwiki table
 
+/**
+ * If local interwikis are set up which allow redirects,
+ * set this regexp to restrict URLs which will be displayed
+ * as 'redirected from' links.
+ *
+ * It might look something like this:
+ * $wgRedirectSources = '!^https?://[a-z-]+\.wikipedia\.org/!';
+ *
+ * Leave at false to avoid displaying any incoming redirect markers.
+ * This does not affect intra-wiki redirects, which don't change
+ * the URL.
+ */
+$wgRedirectSources = false;
+
+
 $wgShowIPinHeader      = true; # For non-logged in users
 $wgMaxNameChars     = 32; # Maximum number of bytes in username
 
@@ -396,7 +580,6 @@ $wgExtraSubtitle    = '';
 $wgSiteSupportPage     = ''; # A page where you users can receive donations
 
 $wgReadOnlyFile         = "{$wgUploadDirectory}/lock_yBgMBwiR";
-$wgUseData = false ;
 
 /**
  * The debug log file should be not be publicly accessible if it is used, as it
@@ -414,9 +597,12 @@ $wgReadOnly             = false;
 $wgLogQueries           = false;
 $wgDebugDumpSql         = false;
 
-/** Whether to disable automatic generation of "we're sorry, but there has been
- * a database error" pages. */
-$wgIgnoreSQLErrors      = false;
+/**
+ * Whether to show "we're sorry, but there has been a database error" pages.
+ * Displaying errors aids in debugging, but may display information useful
+ * to an attacker.
+ */
+$wgShowSQLErrors        = false;
 
 # Should [[Category:Dog]] on a page associate it with the
 # category "Dog"? (a link to that category page will be
@@ -430,10 +616,6 @@ $wgUseCategoryMagic                = true;
  */
 $wgUseCategoryBrowser   = false;
 
-$wgEnablePersistentLC  = false;        # Obsolete, do not use
-$wgCompressedPersistentLC = true; # use gzcompressed blobs
-$wgUseOldExistenceCheck = false;  # use old prefill link method, for debugging only
-
 /**
  * Keep parsed pages in a cache (objectcache table, turck, or memcached)
  * to speed up output of the same page viewed by another user with the
@@ -444,6 +626,18 @@ $wgUseOldExistenceCheck = false;  # use old prefill link method, for debugging o
  */
 $wgEnableParserCache = true;
 
+/**
+ * Under which condition should a page in the main namespace be counted
+ * as a valid article? If $wgUseCommaCount is set to true, it will be
+ * counted if it contains at least one comma. If it is set to false
+ * (default), it will only be counted if it contains at least one [[wiki
+ * link]]. See http://meta.wikimedia.org/wiki/Help:Article_count
+ *
+ * Retroactively changing this variable will not affect
+ * the existing count (cf. maintenance/recount.sql).
+*/
+$wgUseCommaCount = false;
+
 /**#@-*/
 
 /**
@@ -461,17 +655,29 @@ $wgHitcounterUpdateFreq = 1;
 # own risks.
 
 $wgWhitelistEdit = false;   # true = user must login to edit.
-$wgWhitelistRead = false;      # Pages anonymous user may see, like: = array ( ":Main_Page", "Special:Userlogin", "Wikipedia:Help");
+$wgWhitelistRead = false;      # Pages anonymous user may see, like: = array ( "Main Page", "Special:Userlogin", "Wikipedia:Help");
 $wgWhitelistAccount = array ( 'user' => 1, 'sysop' => 1, 'developer' => 1 );
 
 $wgAllowAnonymousMinor = false; # Allow anonymous users to mark changes as 'minor'
 
-$wgSysopUserBans        = false; # Allow sysops to ban logged-in users
-$wgSysopRangeBans              = false; # Allow sysops to ban IP ranges
-$wgDefaultBlockExpiry  = '24 hours'; # default expiry time
-                                # strtotime format, or "infinite" for an infinite block
+$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
 
+/**
+ * Static user groups serialized record
+ * To avoid database access, you can set this to a user groups record as returned 
+ * by Special:Groups with the magic parameter showrecord=1. This will however mean 
+ * that you won't be able to edit them at runtime.
+ */
+$wgStaticGroups = false;
+
 # Proxy scanner settings
 #
 
@@ -491,10 +697,12 @@ $wgProxyPorts = array( 80, 81, 1080, 3128, 6588, 8000, 8080, 8888, 65506 );
 $wgProxyScriptPath = "$IP/proxy_check.php";
 /** */
 $wgProxyMemcExpiry = 86400;
-/** */
-$wgProxyKey = 'W1svekXc5u6lZllTZOwnzEk1nbs';
+/** This should always be customised in LocalSettings.php */
+$wgSecretKey = false;
 /** big list of banned IP addresses, in the keys not the values */
 $wgProxyList = array();
+/** deprecated */
+$wgProxyKey = false;
 
 /** Number of accounts each IP address may create, 0 to disable.
  * Requires memcached */
@@ -536,30 +744,22 @@ $wgUseGzip = false;
 # Email notification settings
 #
 
-/** 
- * Program to run when the email is actually sent out. You might want to make
- * your server beep for example. Usermailer.php will make a system() call with
- * exactly that string as parameter.
- */
-# $wgEmailNotificationSystembeep = '/usr/bin/beep -f 4000 -l 20 &';
-$wgEmailNotificationSystembeep = '';
-
 /** For email notification on page changes */
 $wgPasswordSender = $wgEmergencyContact;
 
-# true: from PageEditor if s/he opted-in
+# true: from page editor if s/he opted-in
 # false: Enotif mails appear to come from $wgEmergencyContact
-$wgEmailNotificationMailsSentFromPageEditor    = 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
 # If set to false, the corresponding input form on the user preference page is suppressed
 # It call this to be a "user-preferences-option (UPO)"
 $wgEmailAuthentication                         = true; # UPO (if this is set to false, texts referring to authentication are suppressed)
-$wgEmailNotificationForWatchlistPages          = false; # UPO
-$wgEmailNotificationForUserTalkPages           = false;        # UPO
-$wgEmailNotificationRevealPageEditorAddress    = false;        # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences)
-$wgEmailNotificationForMinorEdits              = true; # UPO; false: "minor edits" on pages do not trigger notification mails.
+$wgEnotifWatchlist             = false; # UPO
+$wgEnotifUserTalk              = false;        # UPO
+$wgEnotifRevealEditorAddress   = false;        # UPO; reply-to address may be filled with page editor's address (if user allowed this in the preferences)
+$wgEnotifMinorEdits            = true; # UPO; false: "minor edits" on pages do not trigger notification mails.
 #                                                      # Attention: _every_ change on a user_talk page trigger a notification mail (if the user is not yet notified)
 
 
@@ -570,7 +770,7 @@ $wgPageShowWatchingUsers                    = false;
 /**
  * Show "Updated (since my last visit)" marker in RC view, watchlist and history
  * view for watched pages with new changes */
-$wgShowUpdatedMarker                           = true; # UPO
+$wgShowUpdatedMarker                           = true; 
 
 $wgCookieExpiration = 2592000;
 
@@ -600,11 +800,16 @@ $wgSquidMaxage = 18000;
  * ports here (80 is default)
  */
 # $wgSquidServers = array('127.0.0.1');
+$wgSquidServers = array();
 $wgSquidServersNoPurge = array();
 
 /** Maximum number of titles to purge in any one client operation */
 $wgMaxSquidPurgeTitles = 400;
 
+/** HTCP multicast purging */
+$wgHTCPPort = 4827;
+$wgHTCPMulticastTTL = 1;
+# $wgHTCPMulticastAddress = "224.0.0.85";
 
 # Cookie settings:
 #
@@ -670,7 +875,13 @@ $wgDisableTextSearch = false;
  */
 $wgDisableSearchUpdate = false;
 /** Uploads have to be specially set up to be secure */
-$wgDisableUploads = true;
+$wgEnableUploads = false;
+/**
+ * Show EXIF data, on by default if available.
+ * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php
+ */
+$wgShowEXIF = function_exists( 'exif_read_data' );
+
 /**
  * Set to true to enable the upload _link_ while local uploads are disabled.
  * Assumes that the special page link will be bounced to another server where
@@ -678,6 +889,19 @@ $wgDisableUploads = true;
  */
 $wgRemoteUploads = false; 
 $wgDisableAnonTalk = false;
+/**
+ * Do DELETE/INSERT for link updates instead of incremental
+ */
+$wgUseDumbLinkUpdate = false; 
+
+/**
+ * Anti-lock flags - bitfield
+ *   ALF_PRELOAD_LINKS
+ *       Preload links during link update for save
+ *   ALF_PRELOAD_EXISTENCE
+ *       Preload cur_id during replaceLinkHolders
+ */
+$wgAntiLockFlags = 0;
 
 /**
  * Path to the GNU diff3 utility. If the file doesn't exist, edit conflicts will
@@ -702,13 +926,25 @@ $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );
 /** Files with these extensions will never be allowed as uploads. */
 $wgFileBlacklist = array(
        # HTML may contain cookie-stealing JavaScript and web bugs
-       'html', 'htm',
+       'html', 'htm', 'js', 'jsb',
        # PHP scripts may execute arbitrary code on the server
        'php', 'phtml', 'php3', 'php4', 'phps',
        # Other types that may be interpreted by some servers
        '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.
+ */
+$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', 
+       # Other types that may be interpreted by some servers
+       '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. */
 $wgCheckFileExtensions = true;
@@ -720,7 +956,7 @@ $wgCheckFileExtensions = true;
 $wgStrictFileExtensions = true;
 
 /** Warn if uploaded files are larger than this */
-$wgUploadSizeWarning = 150000;
+$wgUploadSizeWarning = 150 * 1024;
 
 /** For compatibility with old installations set to false */
 $wgPasswordSalt = true; 
@@ -728,11 +964,45 @@ $wgPasswordSalt = true;
 /** Which namespaces should support subpages?
  * See Language.php for a list of namespaces.
  */
-$wgNamespacesWithSubpages = array( -1 => 0, 0 => 0, 1 => 1,
-  2 => 1, 3 => 1, 4 => 0, 5 => 1, 6 => 0, 7 => 1, 8 => 0, 9 => 1, 10 => 0, 11 => 1);
-
-$wgNamespacesToBeSearchedDefault = array( -1 => 0, 0 => 1, 1 => 0,
-  2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0, 9 => 1, 10 => 0, 11 => 1 );
+$wgNamespacesWithSubpages = array(
+       NS_SPECIAL => 0,
+       NS_MAIN => 0,
+       NS_TALK => 1,
+       NS_USER => 1,
+       NS_USER_TALK => 1,
+       NS_PROJECT => 0,
+       NS_PROJECT_TALK => 1,
+       NS_IMAGE => 0,
+       NS_IMAGE_TALK => 1,
+       NS_MEDIAWIKI => 0,
+       NS_MEDIAWIKI_TALK => 1,
+       NS_TEMPLATE => 0,
+       NS_TEMPLATE_TALK => 1,
+       NS_HELP => 0,
+       NS_HELP_TALK => 1,
+       NS_CATEGORY => 0,
+       NS_CATEGORY_TALK => 1
+ );
+
+$wgNamespacesToBeSearchedDefault = array(
+       NS_SPECIAL => 0,
+       NS_MAIN => 1,
+       NS_TALK => 0,
+       NS_USER => 0,
+       NS_USER_TALK => 0,
+       NS_PROJECT => 0,
+       NS_PROJECT_TALK => 0,
+       NS_IMAGE => 0,
+       NS_IMAGE_TALK => 0,
+       NS_MEDIAWIKI => 0,
+       NS_MEDIAWIKI_TALK => 0,
+       NS_TEMPLATE => 0,
+       NS_TEMPLATE_TALK => 0,
+       NS_HELP => 0,
+       NS_HELP_TALK => 0,
+       NS_CATEGORY => 0,
+       NS_CATEGORY_TALK => 0
+);
 
 /** If set, a bold ugly notice will show up at the top of every page. */
 $wgSiteNotice = '';
@@ -772,7 +1042,7 @@ $wgSVGConverter = 'ImageMagick';
 /** If not in the executable PATH, specify */
 $wgSVGConverterPath = '';
 
-/** @todo FIXME what does it do here ?? [ashar] */
+/** Set $wgCommandLineMode if it's not set already, to avoid notices */
 if( !isset( $wgCommandLineMode ) ) {
        $wgCommandLineMode = false;
 }
@@ -782,9 +1052,6 @@ if( !isset( $wgCommandLineMode ) ) {
 # Recent changes settings
 #
 
-/** Show seconds in Recent Changes */
-$wgRCSeconds = false;
-
 /** Log IP addresses in the recentchanges table */
 $wgPutIPinRC = false;
 
@@ -883,13 +1150,20 @@ $wgRawHtml = false;
  * $wgTidyBin should be set to the path of the binary and
  * $wgTidyConf to the path of the configuration file.
  * $wgTidyOpts can include any number of parameters.
+ *
+ * $wgTidyInternal controls the use of the PECL extension to use an in-
+ *   process tidy library instead of spawning a separate program.
+ *   Normally you shouldn't need to override the setting except for
+ *   debugging. To install, use 'pear install tidy' and add a line
+ *   'extension=tidy.so' to php.ini.
  */
 $wgUseTidy = false;
 $wgTidyBin = 'tidy';
 $wgTidyConf = $IP.'/extensions/tidy/tidy.conf'; 
 $wgTidyOpts = '';
+$wgTidyInternal = function_exists( 'tidy_load_config' );
 
-/** See list of skins and their symbolic names in languagel/Language.php */
+/** See list of skins and their symbolic names in languages/Language.php */
 $wgDefaultSkin = 'monobook';
 
 /**
@@ -941,12 +1215,6 @@ $wgAllowPageInfo = false;
 /** Maximum indent level of toc. */
 $wgMaxTocLevel = 999;
 
-/** Recognise longitude/latitude coordinates */
-$wgUseGeoMode = false;
-
-/** Validation for print or other production versions */
-$wgUseValidation = false;
-
 /** Use external C++ diff engine (module wikidiff from the extensions package) */
 $wgUseExternalDiffEngine = false;
 
@@ -975,8 +1243,8 @@ $wgFeedDiffCutoff = 32768;
  * no longer be accessible. If you rename it, then you can access them through
  * the new namespace name.
  * 
- * Custom namespaces should start at 100 and stop at 255 (hard limit set by
- * database).
+ * Custom namespaces should start at 100 to avoid conflicting with standard
+ * namespaces, and should always follow the even/odd main/talk pattern.
  */
 #$wgExtraNamespaces =
 #      array(100 => "Hilfe",
@@ -986,16 +1254,6 @@ $wgFeedDiffCutoff = 32768;
 #            );
 $wgExtraNamespaces = NULL;
 
-/**
- * Enable SOAP interface. Off by default
- * SOAP is a protocoll for remote procedure calls (RPC) using http as
- * middleware. This interface can be used by bots or special clients to receive
- * articles from a wiki.
- * Most bots use the normal HTTP interface and don't use SOAP.
- * If unsure, set to false.
- */
-$wgEnableSOAP = false;
-
 /**
  * Limit images on image description pages to a user-selectable limit. In order
  * to reduce disk usage, limits can only be selected from a list. This is the
@@ -1009,21 +1267,18 @@ $wgImageLimits = array (
        array(1280,1024),
        array(10000,10000) );
 
-
-/** Navigation links for the user sidebar.
- * 'text' is the name of the MediaWiki message that contains the label of this link
- * 'href' is the name of the MediaWiki message that contains the link target of this link.
- *        Link targets starting with http are considered remote links. Ones not starting with
- *        http are considered as names of local wiki pages.
- */
-$wgNavigationLinks = array (
-       array( 'text'=>'mainpage',      'href'=>'mainpage' ),
-       array( 'text'=>'portal',        'href'=>'portal-url' ),
-       array( 'text'=>'currentevents', 'href'=>'currentevents-url' ),
-       array( 'text'=>'recentchanges', 'href'=>'recentchanges-url' ),
-       array( 'text'=>'randompage',    'href'=>'randompage-url' ),
-       array( 'text'=>'help',          'href'=>'helppage' ),
-       array( 'text'=>'sitesupport',   'href'=>'sitesupport-url' ),
+/**
+ * Adjust thumbnails on image pages according to a user setting. In order to
+ * reduce disk usage, the values can only be selected from a list. This is the
+ * list of settings the user can choose from:
+ */
+$wgThumbLimits = array(
+       120,
+       150,
+       180,
+       200,
+       250,
+       300
 );
 
 /**
@@ -1037,9 +1292,21 @@ $wgCategoryMagicGallery = true;
  * Contains a list of regexps : "/regexp/"  matching problematic browsers
  */
 $wgBrowserBlackList = array(
-       "/Mozilla\/4\.78 \[en\] \(X11; U; Linux/"
-       // FIXME: Add some accurate, true things here
-       );
+       "/Mozilla\/4\.78 \[en\] \(X11; U; Linux/",
+       /**
+        * MSIE on Mac OS 9 is teh sux0r, converts þ to <thorn>, ð to <eth>, Þ to <THORN> and Ð to <ETH>
+        *
+        * Known useragents:
+        * - Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)
+        * - Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)
+        * - Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)
+        * - [...]
+        *
+        * @link http://en.wikipedia.org/w/index.php?title=User%3A%C6var_Arnfj%F6r%F0_Bjarmason%2Ftestme&diff=12356041&oldid=12355864
+        * @link http://en.wikipedia.org/wiki/Template%3AOS9
+        */
+       "/Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/"
+);
 
 /**
  * Fake out the timezone that the server thinks it's in. This will be used for
@@ -1059,8 +1326,7 @@ $wgLocaltimezone = null;
  */
 $wgAnonGroupId = 1;
 $wgLoggedInGroupId = 2;
-$wgSysopGroupId = 3;
-$wgBureaucratGroupId = 4;
+
 
 /**
  * When translating messages with wfMsg(), it is not always clear what should be
@@ -1137,7 +1403,124 @@ $wgNoFollowLinks = true;
  */
 $wgMinimalPasswordLength = 0;
 
-} else {
-       die();
-}
-?>
\ No newline at end of file
+/**
+ * Activate external editor interface for files and pages
+ * See http://meta.wikimedia.org/wiki/Help:External_editors
+ */
+$wgUseExternalEditor = true;
+
+/** Whether or not to sort special pages in Special:Specialpages */
+
+$wgSortSpecialPages = true;
+
+/**
+ * Specify the name of a skin that should not be presented in the
+ * list of available skins.
+ * Use for blacklisting a skin which you do not want to remove
+ * from the .../skins/ directory
+ */
+$wgSkipSkin = '';
+$wgSkipSkins = array(); # More of the same
+
+/**
+ * Array of disabled article actions, e.g. view, edit, dublincore, delete, etc.
+ */
+$wgDisabledActions = array();
+
+/**
+ * Disable redirects to special pages and interwiki redirects, which use a 302 and have no "redirected from" link
+ */
+$wgDisableHardRedirects = false;
+
+/**
+ * Use http.dnsbl.sorbs.net to check for open proxies
+ */
+$wgEnableSorbs = false;
+
+/**
+ * Use opm.blitzed.org to check for open proxies.
+ * Not yet actually used.
+ */
+$wgEnableOpm = false;
+
+/**
+ * Proxy whitelist, list of addresses that are assumed to be non-proxy despite what the other
+ * methods might say
+ */
+$wgProxyWhitelist = array();
+
+/**
+ * Simple rate limiter options to brake edit floods.
+ * Maximum number actions allowed in the given number of seconds;
+ * after that the violating client receives HTTP 500 error pages
+ * until the period elapses.
+ *
+ * array( 4, 60 ) for a maximum of 4 hits in 60 seconds.
+ *
+ * This option set is experimental and likely to change.
+ * Requires memcached.
+ */
+$wgRateLimits = array(
+       'edit' => array(
+               'anon'   => null, // for any and all anonymous edits (aggregate)
+               'user'   => null, // for each logged-in user
+               'newbie' => null, // for each recent account; overrides 'user'
+               'ip'     => null, // for each anon and recent account
+               'subnet' => null, // ... with final octet removed
+               ),
+       'move' => array(
+               'user'   => null,
+               'newbie' => null,
+               'ip'     => null,
+               'subnet' => null,
+               ),
+       );
+
+/**
+ * Set to a filename to log rate limiter hits.
+ */
+$wgRateLimitLog = null;
+
+/**
+ * On Special:Unusedimages, consider images "used", if they are put
+ * into a category. Default (false) is not to count those as used.
+ */
+$wgCountCategorizedImagesAsUsed = false;
+
+/** 
+ * 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. 
+* 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
+       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 
+);
+
+/**
+ * Allow special page inclusions such as {{Special:Allpages}}
+ */
+$wgAllowSpecialInclusion = true;
+
+
+?>