Fixing E_NOTICE
[lhc/web/wiklou.git] / includes / DefaultSettings.php
index 44076b4..ccc2f2a 100644 (file)
@@ -31,7 +31,7 @@ require_once( "$IP/includes/SiteConfiguration.php" );
 $wgConf = new SiteConfiguration;
 
 /** MediaWiki version number */
-$wgVersion                     = '1.12alpha';
+$wgVersion                     = '1.13alpha';
 
 /** Name of the site. It must be changed in LocalSettings.php */
 $wgSitename         = 'MediaWiki';
@@ -157,6 +157,7 @@ $wgUploadDirectory  = false; /// defaults to "{$IP}/images"
 $wgHashedUploadDirectory       = true;
 $wgLogo                                = false; /// defaults to "{$wgStylePath}/common/images/wiki.png"
 $wgFavicon                     = '/favicon.ico';
+$wgAppleTouchIcon   = false; /// This one'll actually default to off. For iPhone and iPod Touch web app bookmarks
 $wgMathPath         = false; /// defaults to "{$wgUploadPath}/math"
 $wgMathDirectory    = false; /// defaults to "{$wgUploadDirectory}/math"
 $wgTmpDirectory     = false; /// defaults to "{$wgUploadDirectory}/tmp"
@@ -187,7 +188,7 @@ $wgFileStore['deleted']['hash'] = 3;         // 3-level subdirectory split
  *                      The core repository classes are LocalRepo, ForeignDBRepo, FSRepo.
  *
  *    name                             A unique name for the repository.
- *                      
+ *
  * For all core repos:
  *    url               Base public URL
  *    hashLevels        The number of directory levels for hash-based division of files
@@ -458,7 +459,12 @@ $wgHashedSharedUploadDirectory = true;
  *
  * Please specify the namespace, as in the example below.
  */
-$wgRepositoryBaseUrl="http://commons.wikimedia.org/wiki/Image:";
+$wgRepositoryBaseUrl = "http://commons.wikimedia.org/wiki/Image:";
+
+/**
+ * If enabled, MediaWiki checks redirects in Image: namespace.
+ */
+$wgFileRedirects = true;
 
 
 #
@@ -503,6 +509,16 @@ $wgEnableEmail = true;
  */
 $wgEnableUserEmail = true;
 
+/**
+ * Set to true to put the sending user's email in a Reply-To header
+ * instead of From. ($wgEmergencyContact will be used as From.)
+ *
+ * Some mailers (eg sSMTP) set the SMTP envelope sender to the From value,
+ * which can cause problems with SPF validation and leak recipient addressses
+ * when bounces are sent to the sender.
+ */
+$wgUserEmailUseReplyTo = false;
+
 /**
  * Minimum time, in hours, which must elapse between password reminder
  * emails for a given account. This is to prevent abuse by mail flooding.
@@ -620,6 +636,12 @@ $wgDBerrorLog              = false;
 /** When to give an error message */
 $wgDBClusterTimeout = 10;
 
+/**
+ * Scale load balancer polling time so that under overload conditions, the database server
+ * receives a SHOW STATUS query at an average interval of this many microseconds
+ */
+$wgDBAvgStatusPoll = 2000;
+
 /**
  * wgDBminWordLen :
  * MySQL 3.x : used to discard words that MySQL will not return any results for
@@ -657,7 +679,7 @@ $wgDBmysql5                 = false;
  * account.
  * Array numeric key => database name
  */
-$wgLocalDatabases   = array();
+$wgLocalDatabases = array();
 
 /**
  * For multi-wiki clusters with multiple master servers; if an alternate
@@ -714,7 +736,7 @@ $wgCachedMessageArrays = false;
 # Language settings
 #
 /** Site language code, should be one of ./languages/Language(.*).php */
-$wgLanguageCode     = 'en';
+$wgLanguageCode = 'en';
 
 /**
  * Some languages need different word forms, usually for different cases.
@@ -886,11 +908,20 @@ $wgRedirectSources = false;
 
 $wgShowIPinHeader      = true; # For non-logged in users
 $wgMaxNameChars                = 255;  # Maximum number of bytes in username
-$wgMaxSigChars      = 255;  # Maximum number of Unicode characters in signature
+$wgMaxSigChars         = 255;  # Maximum number of Unicode characters in signature
 $wgMaxArticleSize      = 2048; # Maximum article size in kilobytes
 
 $wgMaxPPNodeCount = 1000000;  # A complexity limit on template expansion
 
+/**
+ * Maximum recursion depth for templates within templates.
+ * The current parser adds two levels to the PHP call stack for each template, 
+ * and xdebug limits the call stack to 100 by default. So this should hopefully
+ * stop the parser before it hits the xdebug limit.
+ */
+$wgMaxTemplateDepth = 40;
+$wgMaxPPExpandDepth = 40;
+
 $wgExtraSubtitle       = '';
 $wgSiteSupportPage     = ''; # A page where you users can receive donations
 
@@ -982,6 +1013,11 @@ $wgEnableParserCache = true;
  */
 $wgEnableSidebarCache = false;
 
+/**
+ * Expiry time for the sidebar cache, in seconds
+ */
+$wgSidebarCacheExpiry = 86400;
+
 /**
  * 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
@@ -1048,23 +1084,23 @@ $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['*'    ]['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;
-$wgGroupPermissions['user' ]['minoredit']       = true;
-$wgGroupPermissions['user' ]['purge']           = true; // can use ?action=purge without clicking "ok"
+$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;
+$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;
@@ -1075,45 +1111,49 @@ $wgGroupPermissions['emailconfirmed']['emailconfirmed'] = 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'  ]['bot']              = true;
+$wgGroupPermissions['bot'  ]['autoconfirmed']    = true;
+$wgGroupPermissions['bot'  ]['nominornewtalk']   = true;
+$wgGroupPermissions['bot'  ]['autopatrol']       = true;
 $wgGroupPermissions['bot'  ]['suppressredirect'] = true;
-$wgGroupPermissions['bot'  ]['apihighlimits']   = true;
+$wgGroupPermissions['bot'  ]['apihighlimits']    = 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;
-$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']['undelete']       = true;
-$wgGroupPermissions['sysop']['editinterface']   = true;
-$wgGroupPermissions['sysop']['editusercssjs']   = true;
-$wgGroupPermissions['sysop']['import']          = true;
-$wgGroupPermissions['sysop']['importupload']    = true;
-$wgGroupPermissions['sysop']['move']            = true;
-$wgGroupPermissions['sysop']['patrol']          = true;
-$wgGroupPermissions['sysop']['autopatrol']      = true;
-$wgGroupPermissions['sysop']['protect']         = true;
-$wgGroupPermissions['sysop']['proxyunbannable'] = true;
-$wgGroupPermissions['sysop']['rollback']        = true;
-$wgGroupPermissions['sysop']['trackback']       = true;
-$wgGroupPermissions['sysop']['upload']          = true;
-$wgGroupPermissions['sysop']['reupload']        = true;
-$wgGroupPermissions['sysop']['reupload-shared'] = true;
-$wgGroupPermissions['sysop']['unwatchedpages']  = true;
-$wgGroupPermissions['sysop']['autoconfirmed']   = true;
-$wgGroupPermissions['sysop']['upload_by_url']   = true;
-$wgGroupPermissions['sysop']['ipblock-exempt'] = true;
-$wgGroupPermissions['sysop']['blockemail']      = true;
-$wgGroupPermissions['sysop']['markbotedits']   = true;
+$wgGroupPermissions['sysop']['block']            = true;
+$wgGroupPermissions['sysop']['createaccount']    = true;
+$wgGroupPermissions['sysop']['delete']           = true;
+$wgGroupPermissions['sysop']['bigdelete']        = true; // can be separately configured for pages with > $wgDeleteRevisionsLimit revs
+$wgGroupPermissions['sysop']['deletedhistory']   = true; // can view deleted history entries, but not see or restore the text
+$wgGroupPermissions['sysop']['undelete']         = true;
+$wgGroupPermissions['sysop']['editinterface']    = true;
+$wgGroupPermissions['sysop']['editusercssjs']    = true;
+$wgGroupPermissions['sysop']['import']           = true;
+$wgGroupPermissions['sysop']['importupload']     = true;
+$wgGroupPermissions['sysop']['move']             = true;
+$wgGroupPermissions['sysop']['patrol']           = true;
+$wgGroupPermissions['sysop']['autopatrol']       = true;
+$wgGroupPermissions['sysop']['protect']          = true;
+$wgGroupPermissions['sysop']['proxyunbannable']  = true;
+$wgGroupPermissions['sysop']['rollback']         = true;
+$wgGroupPermissions['sysop']['trackback']        = true;
+$wgGroupPermissions['sysop']['upload']           = true;
+$wgGroupPermissions['sysop']['reupload']         = true;
+$wgGroupPermissions['sysop']['reupload-shared']  = true;
+$wgGroupPermissions['sysop']['unwatchedpages']   = true;
+$wgGroupPermissions['sysop']['autoconfirmed']    = true;
+$wgGroupPermissions['sysop']['upload_by_url']    = true;
+$wgGroupPermissions['sysop']['ipblock-exempt']   = true;
+$wgGroupPermissions['sysop']['blockemail']       = true;
+$wgGroupPermissions['sysop']['markbotedits']     = true;
 $wgGroupPermissions['sysop']['suppressredirect'] = true;
-$wgGroupPermissions['sysop']['apihighlimits']   = true;
-#$wgGroupPermissions['sysop']['mergehistory']    = true;
+$wgGroupPermissions['sysop']['apihighlimits']    = true;
+#$wgGroupPermissions['sysop']['mergehistory']     = true;
 
 // Permission to change users' group assignments
-$wgGroupPermissions['bureaucrat']['userrights'] = true;
+$wgGroupPermissions['bureaucrat']['userrights']  = true;
+// Permission to change users' groups assignments across wikis
+#$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;
 
 // Experimental permissions, not ready for production use
 //$wgGroupPermissions['sysop']['deleterevision'] = true;
@@ -1133,6 +1173,13 @@ $wgGroupPermissions['bureaucrat']['userrights'] = true;
  */
 $wgImplicitGroups = array( '*', 'user', 'autoconfirmed', 'emailconfirmed' );
 
+/**
+ * These are the groups that users are allowed to add to or remove from
+ * their own account via Special:Userrights.
+ */
+$wgGroupsAddToSelf = array();
+$wgGroupsRemoveFromSelf = array();
+
 /**
  * Set of available actions that can be restricted via action=protect
  * You probably shouldn't change this.
@@ -1199,8 +1246,8 @@ $wgAutoConfirmCount = 0;
  *   array( APCOND_AGE, seconds since registration ), *OR*
  *   similar constructs defined by extensions.
  *
- * Note that EMAILCONFIRMED will always be true if $wgEmailAuthentication is
- * off!
+ * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any
+ * user who has provided an e-mail address.
  */
 $wgAutopromote = array(
        'autoconfirmed' => array( '&',
@@ -1225,6 +1272,12 @@ $wgAutopromote = array(
  */
 $wgAddGroups = $wgRemoveGroups = array();
 
+/**
+ * Optional to restrict deletion of pages with higher revision counts
+ * to users with the 'bigdelete' permission. (Default given to sysops.)
+ */
+$wgDeleteRevisionsLimit = 0;
+
 # Proxy scanner settings
 #
 
@@ -1274,7 +1327,7 @@ $wgCacheEpoch = '20030516000000';
  * to ensure that client-side caches don't keep obsolete copies of global
  * styles.
  */
-$wgStyleVersion = '104';
+$wgStyleVersion = '127';
 
 
 # Server-side caching:
@@ -1511,6 +1564,14 @@ $wgDebugFunctionEntry = 0;
 /** Lots of debugging output from SquidUpdate.php */
 $wgDebugSquid = false;
 
+/*
+ * Destination for wfIncrStats() data...
+ * 'cache' to go into the system cache, if enabled (memcached)
+ * 'udp' to be sent to the UDP profiler (see $wgUDPProfilerHost)
+ * false to disable
+ */
+$wgStatsMethod = 'cache';
+
 /** Whereas to count the number of time an article is viewed.
  * Does not work if pages are cached (for example with squid).
  */
@@ -1667,6 +1728,7 @@ $wgMediaHandlers = array(
        'image/png' => 'BitmapHandler',
        'image/gif' => 'BitmapHandler',
        'image/x-ms-bmp' => 'BmpHandler',
+       'image/x-bmp' => 'BmpHandler',
        'image/svg+xml' => 'SvgHandler', // official
        'image/svg' => 'SvgHandler', // compat
        'image/vnd.djvu' => 'DjVuHandler', // official
@@ -1759,7 +1821,7 @@ $wgIgnoreImageErrors = false;
 $wgGenerateThumbnailOnParse = true;
 
 /** Obsolete, always true, kept for compatibility with extensions */
-$wgUseImageResize              = true;
+$wgUseImageResize = true;
 
 
 /** Set $wgCommandLineMode if it's not set already, to avoid notices */
@@ -1927,6 +1989,12 @@ $wgTidyInternal = extension_loaded( 'tidy' );
  */
 $wgDebugTidy = false;
 
+/**
+ * Validate the overall output using tidy and refuse 
+ * to display the page if it's not valid.
+ */
+$wgValidateAllHtml = false;
+
 /** See list of skins and their symbolic names in languages/Language.php */
 $wgDefaultSkin = 'monobook';
 
@@ -2039,8 +2107,9 @@ $wgSpecialPages = array();
 $wgAutoloadClasses = 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.
+ * An array of extension types and inside that their names, versions, authors,
+ * urls, descriptions and pointers to localized description msgs. Note that
+ * the version, url, description and descriptionmsg key can be omitted.
  *
  * <code>
  * $wgExtensionCredits[$type][] = array(
@@ -2048,10 +2117,12 @@ $wgAutoloadClasses = array();
  *      'version' => 1.9,
  *     'author' => 'Foo Barstein',
  *     'url' => 'http://wwww.example.com/Example%20Extension/',
+ *     'description' => 'An example extension',
+ *     'descriptionmsg' => 'exampleextension-desc',
  * );
  * </code>
  *
- * Where $type is 'specialpage', 'parserhook', or 'other'.
+ * Where $type is 'specialpage', 'parserhook', 'variable', 'media' or 'other'.
  */
 $wgExtensionCredits = array();
 /*
@@ -2093,9 +2164,12 @@ $wgExternalDiffEngine = false;
 /** Use RC Patrolling to check for vandalism */
 $wgUseRCPatrol = true;
 
-/** Use new page patrolling to check new pages on special:Newpages */
+/** Use new page patrolling to check new pages on Special:Newpages */
 $wgUseNPPatrol = true;
 
+/** Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages */
+$wgFeed = true;
+
 /** Set maximum number of results to return in syndication feeds (RSS, Atom) for
  * eg Recentchanges, Newpages. */
 $wgFeedLimit = 50;
@@ -2380,13 +2454,13 @@ $wgLogActions = array(
        'delete/restore'    => 'undeletedarticle',
        'delete/revision'   => 'revdelete-logentry',
        'upload/upload'     => 'uploadedimage',
-       'upload/overwrite'      => 'overwroteimage',
+       'upload/overwrite'  => 'overwroteimage',
        'upload/revert'     => 'uploadedimage',
        'move/move'         => '1movedto2',
        'move/move_redir'   => '1movedto2_redir',
        'import/upload'     => 'import-logentry-upload',
        'import/interwiki'  => 'import-logentry-interwiki',
-       'merge/merge'        => 'pagemerge-logentry',
+       'merge/merge'       => 'pagemerge-logentry',
 );
 
 /**
@@ -2430,9 +2504,16 @@ $wgNoFollowLinks = true;
  */
 $wgNoFollowNsExceptions = array();
 
+/**
+ * Default robot policy.
+ * The default policy is to encourage indexing and following of links.
+ * It may be overridden on a per-namespace and/or per-page basis.
+ */
+$wgDefaultRobotPolicy = 'index,follow';
+
 /**
  * Robot policies per namespaces.
- * The default policy is 'index,follow', the array is made of namespace
+ * The default policy is given above, the array is made of namespace
  * constants as defined in includes/Defines.php
  * Example:
  *   $wgNamespaceRobotPolicies = array( NS_TALK => 'noindex' );
@@ -2511,7 +2592,7 @@ $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'
+               'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
                'ip'     => null, // for each anon and recent account
                'subnet' => null, // ... with final octet removed
                ),
@@ -2794,6 +2875,12 @@ $wgEnableWriteAPI = false;
  */
 $wgAPIModules = array();
 
+/**
+ * Minimum length of list=usercontribs's ucuserprefix parameter
+ * Setting this to a low value can open DOS windows on large wikis
+ */
+$wgAPIUCUserPrefixMinLength = 3;
+
 /**
  * Parser test suite files to be run by parserTests.php when no specific
  * filename is passed to it.
@@ -2852,3 +2939,27 @@ $wgSlaveLagCritical = 30;
 $wgParserConf = array( 
        'class' => 'Parser',
 );
+
+/**
+ * Hooks that are used for outputting exceptions
+ * Format is:
+ *     $wgExceptionHooks[] = $funcname
+ * or:
+ *     $wgExceptionHooks[] = array( $class, $funcname )
+ * Hooks should return strings or false
+ */
+$wgExceptionHooks = array();
+
+/**
+ * Page property link table invalidation lists.
+ * Should only be set by extensions.
+ */
+$wgPagePropLinkInvalidations = array(
+       'hiddencat' => 'categorylinks',
+);
+
+/**
+ * Maximum number of links to a redirect page listed on
+ * Special:Whatlinkshere/RedirectDestination
+ */
+$wgMaxRedirectLinksRetrieved = 500;