X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/modifier.php?a=blobdiff_plain;f=includes%2FDefaultSettings.php;h=a888c3adbc0adb3257e96ad605e4deb4087b58b0;hb=71d5b68221002d71c88783acab7df267a4e04cec;hp=628a56ec8298a4891c2ffd9951f70101a20fe072;hpb=ff1dc8a17591c1e540d6f7e2ccb5c1ba0dec2e34;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 628a56ec82..a888c3adbc 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -26,10 +26,9 @@ if( !defined( 'MEDIAWIKI' ) ) { die( 1 ); } -# Create a site configuration object. Not used for much in a default install -if ( !defined( 'MW_COMPILED' ) ) { - require_once( "$IP/includes/SiteConfiguration.php" ); -} +# Create a site configuration object. Not used for much in a default install. +# Note: this (and other things) will break if the autoloader is not enabled. +# Please include includes/AutoLoader.php before including this file. $wgConf = new SiteConfiguration; /** @endcond */ @@ -40,49 +39,30 @@ $wgVersion = '1.19alpha'; $wgSitename = 'MediaWiki'; /** - * URL of the server. It will be automatically built including https mode. + * URL of the server. * * Example: * - * $wgServer = http://example.com + * $wgServer = 'http://example.com'; * * * This is usually detected correctly by MediaWiki. If MediaWiki detects the * wrong server, it will redirect incorrectly after you save a page. In that * case, set this variable to fix it. + * + * If you want to use protocol-relative URLs on your wiki, set this to a + * protocol-relative URL like '//example.com' and set $wgCanonicalServer + * to a fully qualified URL. */ -$wgServer = ''; - -/** @cond file_level_code */ -if( isset( $_SERVER['SERVER_NAME'] ) - # KLUGE: lighttpd 1.4.28 truncates IPv6 addresses at the first colon, - # giving bogus hostnames like "[2001"; check for presence of both - # brackets to detect this. - && ($_SERVER['SERVER_NAME'][0] !== '[' || substr($_SERVER['SERVER_NAME'], -1) === ']') - ) { - $serverName = $_SERVER['SERVER_NAME']; -} elseif( isset( $_SERVER['HOSTNAME'] ) ) { - $serverName = $_SERVER['HOSTNAME']; -} elseif( isset( $_SERVER['HTTP_HOST'] ) ) { - $serverName = $_SERVER['HTTP_HOST']; -} elseif( isset( $_SERVER['SERVER_ADDR'] ) ) { - $serverName = $_SERVER['SERVER_ADDR']; -} else { - $serverName = 'localhost'; -} - -$wgProto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http'; - -$wgServer = $wgProto.'://' . $serverName; -# If the port is a non-standard one, add it to the URL -if( isset( $_SERVER['SERVER_PORT'] ) - && !strpos( $serverName, ':' ) - && ( ( $wgProto == 'http' && $_SERVER['SERVER_PORT'] != 80 ) - || ( $wgProto == 'https' && $_SERVER['SERVER_PORT'] != 443 ) ) ) { +$wgServer = WebRequest::detectServer(); - $wgServer .= ":" . $_SERVER['SERVER_PORT']; -} -/** @endcond */ +/** + * Canonical URL of the server, to use in IRC feeds and notification e-mails. + * Must be fully qualified, even if $wgServer is protocol-relative. + * + * Defaults to $wgServer, expanded to a fully qualified http:// URL if needed. + */ +$wgCanonicalServer = false; /************************************************************************//** * @name Script path settings @@ -143,7 +123,7 @@ $wgScript = false; * * Defaults to "{$wgScriptPath}/redirect{$wgScriptExtension}". */ -$wgRedirectScript = false; ///< defaults to +$wgRedirectScript = false; /** * The URL path to load.php. @@ -152,6 +132,7 @@ $wgRedirectScript = false; ///< defaults to */ $wgLoadScript = false; + /**@}*/ /************************************************************************//** @@ -211,6 +192,11 @@ $wgArticlePath = false; */ $wgUploadPath = false; +/** + * The maximum age of temporary (incomplete) uploaded files + */ +$wgUploadStashMaxAge = 6 * 3600; // 6 hours + /** * The filesystem path of the images directory. Defaults to "{$IP}/images". */ @@ -386,7 +372,7 @@ $wgUseInstantCommons = false; * Requires PHP's EXIF extension: http://www.php.net/manual/en/ref.exif.php * * NOTE FOR WINDOWS USERS: - * To enable EXIF functions, add the folloing lines to the + * To enable EXIF functions, add the following lines to the * "Windows extensions" section of php.ini: * * extension=extensions/php_mbstring.dll @@ -650,6 +636,11 @@ $wgImageMagickTempDir = false; */ $wgCustomConvertCommand = false; +/** + * Some tests and extensions use exiv2 to manipulate the EXIF metadata in some image formats. + */ +$wgExiv2Command = '/usr/bin/exiv2'; + /** * Scalable Vector Graphics (SVG) may be uploaded as images. * Since SVG support is not yet standard in browsers, it is @@ -753,6 +744,12 @@ $wgShowArchiveThumbnails = true; /** Obsolete, always true, kept for compatibility with extensions */ $wgUseImageResize = true; +/** + * If set to true, images that contain certain the exif orientation tag will + * be rotated accordingly. If set to null, try to auto-detect whether a scaler + * is available that can rotate. + */ +$wgEnableAutoRotation = null; /** * Internal name of virus scanner. This servers as a key to the @@ -877,9 +874,6 @@ $wgXMLMimeTypes = array( 'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram', 'http://www.w3.org/1999/xhtml:html' => 'text/html', // application/xhtml+xml? 'html' => 'text/html', // application/xhtml+xml? - 'http://www.opengis.net/kml/2.1:kml' => 'application/vnd.google-earth.kml+xml', - 'http://www.opengis.net/kml/2.2:kml' => 'application/vnd.google-earth.kml+xml', - 'kml' => 'application/vnd.google-earth.kml+xml', ); /** @@ -988,6 +982,8 @@ $wgDjvuOutputExtension = 'jpg'; * @{ */ +$serverName = substr( $wgServer, strrpos( $wgServer, '/' ) + 1 ); + /** * Site admin email address. */ @@ -1391,6 +1387,7 @@ $wgExternalServers = array(); * * $wgDefaultExternalStore = array( 'DB://cluster1', 'DB://cluster2' ); * + * @var array */ $wgDefaultExternalStore = false; @@ -1561,7 +1558,7 @@ $wgSessionsInMemcached = false; * 'session_mysql.' Setting to null skips setting this entirely (which might be * useful if you're doing cross-application sessions, see bug 11381) */ -$wgSessionHandler = 'files'; +$wgSessionHandler = null; /** If enabled, will send MemCached debugging information to $wgDebugLogFile */ $wgMemCachedDebug = false; @@ -1656,7 +1653,7 @@ $wgUseFileCache = false; /** * Directory where the cached page will be saved. - * Defaults to "$wgCacheDirectory/html". + * Defaults to "{$wgUploadDirectory}/cache". */ $wgFileCacheDirectory = false; @@ -1762,6 +1759,15 @@ $wgUseESI = false; /** Send X-Vary-Options header for better caching (requires patched Squid) */ $wgUseXVO = false; +/** Add X-Forwarded-Proto to the Vary and X-Vary-Options headers for API + * requests and RSS/Atom feeds. Use this if you have an SSL termination setup + * and need to split the cache between HTTP and HTTPS for API requests, + * feed requests and HTTP redirect responses in order to prevent cache + * pollution. This does not affect 'normal' requests to index.php other than + * HTTP redirects. + */ +$wgVaryOnXFP = false; + /** * Internal server name as known to Squid, if different. Example: * @@ -1856,19 +1862,24 @@ $wgExtraLanguageNames = array(); /** * List of language codes that don't correspond to an actual language. - * These codes are leftoffs from renames, or other legacy things. - * Also, qqq is a dummy "language" for documenting messages. + * These codes are mostly leftoffs from renames, or other legacy things. + * This array makes them not appear as a selectable language on the installer, + * and excludes them when running the transstat.php script. */ $wgDummyLanguageCodes = array( - 'als', - 'bat-smg', - 'be-x-old', - 'dk', - 'fiu-vro', - 'iu', - 'nb', - 'qqq', - 'simple', + 'als', # => 'gsw' + 'bat-smg', # => 'sgs' + 'be-x-old', # => 'be-tarask' + 'bh', # => 'bho' + 'fiu-vro', # => 'vro' + 'nb', # => 'no' + 'qqq', # Used for message documentation. + 'qqx', # Used for viewing message keys. + 'roa-rup', # => 'rup' + 'simple', # => 'en' + 'zh-classical', # => 'lzh' + 'zh-min-nan', # => 'nan' + 'zh-yue', # => 'yue' ); /** @@ -2181,6 +2192,11 @@ $wgAllowRdfaAttributes = false; */ $wgAllowMicrodataAttributes = false; +/** + * Cleanup as much presentational html like valign -> css vertical-align as we can + */ +$wgCleanupPresentationalAttributes = true; + /** * Should we try to make our HTML output well-formed XML? If set to false, * output will be a few bytes shorter, and the HTML will arguably be more @@ -2435,9 +2451,12 @@ $wgVectorShowVariantName = false; $wgEdititis = false; /** - * Experimental better directionality support. + * Better directionality support (bug 6100 and related). + * Removed in 1.18, still kept here for LiquidThreads backwards compatibility. + * + * @deprecated since 1.18 */ -$wgBetterDirectionality = false; +$wgBetterDirectionality = true; /** @} */ # End of output format settings } @@ -2462,6 +2481,25 @@ $wgBetterDirectionality = false; */ $wgResourceModules = array(); +/** + * Extensions should register foreign module sources here. 'local' is a + * built-in source that is not in this array, but defined by + * ResourceLoader::__construct() so that it cannot be unset. + * + * Example: + * $wgResourceLoaderSources['foo'] = array( + * 'loadScript' => 'http://example.org/w/load.php', + * 'apiScript' => 'http://example.org/w/api.php' + * ); + */ +$wgResourceLoaderSources = array(); + +/** + * Default 'remoteBasePath' value for resource loader modules. + * If not set, then $wgScriptPath will be used as a fallback. + */ +$wgResourceBasePath = null; + /** * Maximum time in seconds to cache resources served by the resource loader */ @@ -2543,6 +2581,25 @@ $wgLegacyJavaScriptGlobals = true; */ $wgResourceLoaderMaxQueryLength = -1; +/** + * If set to true, JavaScript modules loaded from wiki pages will be parsed prior + * to minification to validate it. + * + * Parse errors will result in a JS exception being thrown during module load, + * which avoids breaking other modules loaded in the same request. + */ +$wgResourceLoaderValidateJS = true; + +/** + * If set to true, statically-sourced (file-backed) JavaScript resources will + * be parsed for validity before being bundled up into ResourceLoader modules. + * + * This can be helpful for development by providing better error messages in + * default (non-debug) mode, but JavaScript parsing is slow and memory hungry + * and may fail on large pre-bundled frameworks. + */ +$wgResourceLoaderValidateStaticJS = false; + /** @} */ # End of resource loader settings } @@ -2588,6 +2645,14 @@ $wgMetaNamespaceTalk = false; # ); $wgExtraNamespaces = array(); +/** + * Same as above, but for namespaces with gender distinction. + * Note: the default form for the namespace should also be set + * using $wgExtraNamespaces for the same index. + * @since 1.18 + */ +$wgExtraGenderNamespaces = array(); + /** * Namespace aliases * These are alternate names for the primary localised namespace names, which @@ -2808,6 +2873,7 @@ $wgUrlProtocols = array( 'svn://', 'git://', 'mms://', + '//', // for protocol-relative URLs ); /** @@ -2860,8 +2926,9 @@ $wgAllowImageTag = 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. + * - $wgTidyInternal controls the use of the PECL extension or the + * libtidy (PHP >= 5) 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. @@ -2941,6 +3008,7 @@ $wgExpensiveParserFunctionLimit = 100; /** * Preprocessor caching threshold + * Setting it to 'false' will disable the preprocessor cache. */ $wgPreprocessorCacheThreshold = 1000; @@ -2950,7 +3018,7 @@ $wgPreprocessorCacheThreshold = 1000; $wgEnableScaryTranscluding = false; /** - * Expiry time for interwiki transclusion + * (see next option $wgGlobalDatabase). */ $wgTranscludeCacheExpiry = 3600; @@ -2985,7 +3053,7 @@ $wgArticleCountMethod = null; /** * Backward compatibility setting, will set $wgArticleCountMethod if it is null. - * @deprecated since 1.19; use $wgArticleCountMethod instead + * @deprecated since 1.18; use $wgArticleCountMethod instead */ $wgUseCommaCount = false; @@ -3105,7 +3173,7 @@ $wgDefaultUserOptions = array( 'numberheadings' => 0, 'previewonfirst' => 0, 'previewontop' => 1, - 'quickbar' => 1, + 'quickbar' => 5, 'rcdays' => 7, 'rclimit' => 50, 'rememberpassword' => 0, @@ -3306,6 +3374,10 @@ $wgEmailConfirmToEdit = false; * unable to perform certain essential tasks or access new functionality * when new permissions are introduced and default grants established. * + * If set to an array instead of a boolean, it is assumed that the array is in + * NS => bool form in order to support per-namespace permissions. Note that + * this feature does not fully work for all permission types. + * * Functionality to make pages inaccessible has not been extensively tested * for security. Use at your own risk! * @@ -3327,7 +3399,7 @@ $wgGroupPermissions['*']['writeapi'] = true; $wgGroupPermissions['user']['move'] = true; $wgGroupPermissions['user']['move-subpages'] = true; $wgGroupPermissions['user']['move-rootuserpages'] = true; // can move root userpages -//$wgGroupPermissions['user']['movefile'] = true; // Disabled for now due to possible bugs and security concerns +$wgGroupPermissions['user']['movefile'] = true; $wgGroupPermissions['user']['read'] = true; $wgGroupPermissions['user']['edit'] = true; $wgGroupPermissions['user']['createpage'] = true; @@ -3526,7 +3598,7 @@ $wgAutoConfirmCount = 0; /** * Automatically add a usergroup to any user who matches certain conditions. * The format is - * array( '&' or '|' or '^', cond1, cond2, ... ) + * array( '&' or '|' or '^' or '!', cond1, cond2, ... ) * where cond1, cond2, ... are themselves conditions; *OR* * APCOND_EMAILCONFIRMED, *OR* * array( APCOND_EMAILCONFIRMED ), *OR* @@ -3537,6 +3609,7 @@ $wgAutoConfirmCount = 0; * array( APCOND_IPINRANGE, range ), *OR* * array( APCOND_AGE_FROM_EDIT, seconds since first edit ), *OR* * array( APCOND_BLOCKED ), *OR* + * array( APCOND_ISBOT ), *OR* * similar constructs defined by extensions. * * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any @@ -3549,6 +3622,31 @@ $wgAutopromote = array( ), ); +/** + * Automatically add a usergroup to any user who matches certain conditions. + * Does not add the user to the group again if it has been removed. + * Also, does not remove the group if the user no longer meets the criteria. + * + * The format is + * array( event => criteria, ... ) + * where event is + * 'onEdit' (when user edits) or 'onView' (when user views the wiki) + * and criteria has the same format as $wgAutopromote + * + * @see $wgAutopromote + * @since 1.18 + */ +$wgAutopromoteOnce = array( + 'onEdit' => array(), + 'onView' => array() +); + +/** + * Put user rights log entries for autopromotion in recent changes? + * @since 1.18 + */ +$wgAutopromoteOnceLogInRC = true; + /** * $wgAddGroups and $wgRemoveGroups can be used to give finer control over who * can assign which groups at Special:Userrights. Example configuration: @@ -3610,6 +3708,7 @@ $wgSummarySpamRegex = array(); * - false : let it through * * @deprecated since 1.17 Use hooks. See SpamBlacklist extension. + * @var callback */ $wgFilterCallback = false; @@ -3626,7 +3725,20 @@ $wgEnableDnsBlacklist = false; $wgEnableSorbs = false; /** - * List of DNS blacklists to use, if $wgEnableDnsBlacklist is true + * List of DNS blacklists to use, if $wgEnableDnsBlacklist is true. This is an + * array of either a URL or an array with the URL and a key (should the blacklist + * require a key). For example: + * @code + * $wgDnsBlacklistUrls = array( + * // String containing URL + * 'http.dnsbl.sorbs.net', + * // Array with URL and key, for services that require a key + * array( 'dnsbl.httpbl.net', 'mykey' ), + * // Array with just the URL. While this works, it is recommended that you + * // just use a string as shown above + * array( 'opm.tornevall.org' ) + * ); + * @endcode * @since 1.16 */ $wgDnsBlacklistUrls = array( 'http.dnsbl.sorbs.net.' ); @@ -3691,6 +3803,12 @@ $wgRateLimitsExcludedIPs = array(); */ $wgPutIPinRC = true; +/** + * Integer defining default number of entries to show on + * Special:Whatlinkshere + */ +$wgWhatlinkshereLimit = 50; + /** * Limit password attempts to X attempts per Y seconds per IP per account. * Requires memcached. @@ -3737,20 +3855,41 @@ $wgProxyKey = false; /** * Default cookie expiration time. Setting to 0 makes all cookies session-only. */ -$wgCookieExpiration = 30*86400; +$wgCookieExpiration = 180*86400; /** * Set to set an explicit domain on the login cookies eg, "justthis.domain.org" * or ".any.subdomain.net" */ $wgCookieDomain = ''; + + +/** + * Set this variable if you want to restrict cookies to a certain path within + * the domain specified by $wgCookieDomain. + */ $wgCookiePath = '/'; -$wgCookieSecure = ($wgProto == 'https'); + +/** + * Whether the "secure" flag should be set on the cookie. This can be: + * - true: Set secure flag + * - false: Don't set secure flag + * - "detect": Set the secure flag if $wgServer is set to an HTTPS URL + */ +$wgCookieSecure = 'detect'; + +/** + * By default, MediaWiki checks if the client supports cookies during the + * login process, so that it can display an informative error message if + * cookies are disabled. Set this to true if you want to disable this cookie + * check. + */ $wgDisableCookieCheck = false; /** - * Set $wgCookiePrefix to use a custom one. Setting to false sets the default of - * using the database name. + * Cookies generated by MediaWiki have names starting with this prefix. Set it + * to a string to use a custom prefix. Setting it to false causes the database + * name to be used as a prefix. */ $wgCookiePrefix = false; @@ -3823,7 +3962,7 @@ $wgDebugLogPrefix = ''; $wgDebugRedirects = false; /** - * If true, log debugging data from action=raw. + * If true, log debugging data from action=raw and load.php. * This is normally false to avoid overlapping debug entries due to gen=css and * gen=js requests. */ @@ -3861,6 +4000,7 @@ $wgShowDebug = false; /** * Prefix debug messages with relative timestamp. Very-poor man's profiler. + * Since 1.19 also includes memory usage. */ $wgDebugTimestamps = false; @@ -3905,6 +4045,13 @@ $wgShowHostnames = false; */ $wgDevelopmentWarnings = false; +/** + * Release limitation to wfDeprecated warnings, if set to a release number + * development warnings will not be generated for deprecations added in releases + * after the limit. + */ +$wgDeprecationReleaseLimit = false; + /** Only record profiling info for pages that took longer than this */ $wgProfileLimit = 0.0; @@ -4005,6 +4152,14 @@ $wgParserTestFiles = array( */ $wgParserTestRemote = false; + +/** + * Overwrite the caching key prefix with custom value. Do not set if using + * load balancer, since it depends on the key being in certain format. + * @since 1.19 + */ +$wgWikiID = false; + /** @} */ # end of profiling, testing and debugging } /************************************************************************//** @@ -4148,6 +4303,20 @@ $wgUseTwoButtonsSearchForm = true; */ $wgSitemapNamespaces = false; +/** + * Custom namespace priorities for sitemaps. Setting this will allow you to + * set custom priorities to namsepaces when sitemaps are generated using the + * maintenance/generateSitemap.php script. + * + * This should be a map of namespace IDs to priority + * Example: + * $wgSitemapNamespacesPriorities = array( + * NS_USER => '0.9', + * NS_HELP => '0.0', + * ); + */ +$wgSitemapNamespacesPriorities = false; + /** @} */ # end of search settings /************************************************************************//** @@ -4357,6 +4526,16 @@ $wgFeedDiffCutoff = 32768; */ $wgOverrideSiteFeed = array(); +/** + * Available feeds objects + * Should probably only be defined when a page is syndicated ie when + * $wgOut->isSyndicated() is true + */ +$wgFeedClasses = array( + 'rss' => 'RSSFeed', + 'atom' => 'AtomFeed', +); + /** * Which feed types should we provide by default? This can include 'rss', * 'atom', neither, or both. @@ -4406,12 +4585,31 @@ $wgUseTagFilter = true; * @{ */ -/** Override for copyright metadata. - * TODO: these options need documentation +/** + * Override for copyright metadata. + * + * This is the name of the page containing information about the wiki's copyright status, + * which will be added as a link in the footer if it is specified. It overrides + * $wgRightsUrl if both are specified. */ $wgRightsPage = null; + +/** + * Set this to specify an external URL containing details about the content license used on your wiki. + * If $wgRightsPage is set then this setting is ignored. + */ $wgRightsUrl = null; + +/** + * If either $wgRightsUrl or $wgRightsPage is specified then this variable gives the text for the link. + * If using $wgRightsUrl then this value must be specified. If using $wgRightsPage then the name of the + * page will also be used as the link if this variable is not set. + */ $wgRightsText = null; + +/** + * Override for copyright metadata. + */ $wgRightsIcon = null; /** @@ -4428,10 +4626,6 @@ $wgCopyrightIcon = null; /** Set this to true if you want detailed copyright information forms on Upload. */ $wgUseCopyrightUpload = false; -/** Set this to false if you want to disable checking that detailed copyright - * information values are not empty. */ -$wgCheckCopyrightUpload = true; - /** * Set this to the number of authors that you want to be credited below an * article text. Set it to zero to hide the attribution block, and a negative @@ -4604,7 +4798,7 @@ $wgExtensionCredits = array(); /** * Authentication plugin. - * @var AuthPlugin + * @var $wgAuth AuthPlugin */ $wgAuth = null; @@ -4712,6 +4906,8 @@ $wgCategoryPagingLimit = 200; * * - uppercase: Converts the category name to upper case, and sorts by that. * + * - identity: Does no conversion. Sorts by binary value of the string. + * * - uca-default: Provides access to the Unicode Collation Algorithm with * the default element table. This is a compromise collation which sorts * all languages in a mediocre way. However, it is better than "uppercase". @@ -4723,6 +4919,9 @@ $wgCategoryPagingLimit = 200; * * After you change this, you must run maintenance/updateCollation.php to fix * the sort keys in the database. + * + * Extensions can define there own collations by subclassing Collation + * and using the Collation::factory hook. */ $wgCategoryCollation = 'uppercase'; @@ -4739,7 +4938,8 @@ $wgCategoryCollation = 'uppercase'; * an action, which is a specific kind of event that can exist in that * log type. */ -$wgLogTypes = array( '', +$wgLogTypes = array( + '', 'block', 'protect', 'rights', @@ -4792,6 +4992,9 @@ $wgFilterLogTypes = array( * will be listed in the user interface. * * Extensions with custom log types may add to this array. + * + * Since 1.19, if you follow the naming convention log-name-TYPE, + * where TYPE is your log type, yoy don't need to use this array. */ $wgLogNames = array( '' => 'all-logs-page', @@ -4812,6 +5015,9 @@ $wgLogNames = array( * top of each log type. * * Extensions with custom log types may add to this array. + * + * Since 1.19, if you follow the naming convention log-description-TYPE, + * where TYPE is your log type, yoy don't need to use this array. */ $wgLogHeaders = array( '' => 'alllogstext', @@ -4834,42 +5040,41 @@ $wgLogHeaders = array( * Extensions with custom log types may add to this array. */ $wgLogActions = array( - 'block/block' => 'blocklogentry', - 'block/unblock' => 'unblocklogentry', - 'block/reblock' => 'reblock-logentry', - 'protect/protect' => 'protectedarticle', - 'protect/modify' => 'modifiedarticleprotection', - 'protect/unprotect' => 'unprotectedarticle', - 'protect/move_prot' => 'movedarticleprotection', - 'rights/rights' => 'rightslogentry', - 'rights/disable' => 'disableaccount-logentry', - 'delete/delete' => 'deletedarticle', - 'delete/restore' => 'undeletedarticle', - 'delete/revision' => 'revdelete-logentry', - 'delete/event' => 'logdelete-logentry', - 'upload/upload' => 'uploadedimage', - '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', - 'suppress/revision' => 'revdelete-logentry', - 'suppress/file' => 'revdelete-logentry', - 'suppress/event' => 'logdelete-logentry', - 'suppress/delete' => 'suppressedarticle', - 'suppress/block' => 'blocklogentry', - 'suppress/reblock' => 'reblock-logentry', - 'patrol/patrol' => 'patrol-log-line', + 'block/block' => 'blocklogentry', + 'block/unblock' => 'unblocklogentry', + 'block/reblock' => 'reblock-logentry', + 'protect/protect' => 'protectedarticle', + 'protect/modify' => 'modifiedarticleprotection', + 'protect/unprotect' => 'unprotectedarticle', + 'protect/move_prot' => 'movedarticleprotection', + 'rights/rights' => 'rightslogentry', + 'rights/autopromote' => 'rightslogentry-autopromote', + 'upload/upload' => 'uploadedimage', + 'upload/overwrite' => 'overwroteimage', + 'upload/revert' => 'uploadedimage', + 'import/upload' => 'import-logentry-upload', + 'import/interwiki' => 'import-logentry-interwiki', + 'merge/merge' => 'pagemerge-logentry', + 'suppress/block' => 'blocklogentry', + 'suppress/reblock' => 'reblock-logentry', ); /** * The same as above, but here values are names of functions, * not messages. * @see LogPage::actionText - */ -$wgLogActionsHandlers = array(); + * @see LogFormatter + */ +$wgLogActionsHandlers = array( + // move, move_redir + 'move/*' => 'MoveLogFormatter', + // delete, restore, revision, event + 'delete/*' => 'DeleteLogFormatter', + 'suppress/revision' => 'DeleteLogFormatter', + 'suppress/event' => 'DeleteLogFormatter', + 'suppress/delete' => 'DeleteLogFormatter', + 'patrol/patrol' => 'PatrolLogFormatter', +); /** * Maintain a log of newusers at Log/newusers? @@ -4953,8 +5158,10 @@ $wgSpecialPageGroups = array( 'Block' => 'users', 'Unblock' => 'users', 'Preferences' => 'users', + 'ChangeEmail' => 'users', 'ChangePassword' => 'users', 'DeletedContributions' => 'users', + 'PasswordReset' => 'users', 'Mostlinked' => 'highuse', 'Mostlinkedcategories' => 'highuse', @@ -5025,12 +5232,21 @@ $wgMaxRedirectLinksRetrieved = 500; * Array of allowed values for the title=foo&action= parameter. Syntax is: * 'foo' => 'ClassName' Load the specified class which subclasses Action * 'foo' => true Load the class FooAction which subclasses Action + * If something is specified in the getActionOverrides() + * of the relevant Page object it will be used + * instead of the default class. * 'foo' => false The action is disabled; show an error message * Unsetting core actions will probably cause things to complain loudly. */ $wgActions = array( 'credits' => true, + 'deletetrackback' => true, + 'info' => true, + 'markpatrolled' => true, 'purge' => true, + 'revert' => true, + 'revisiondelete' => true, + 'rollback' => true, 'unwatch' => true, 'watch' => true, ); @@ -5314,7 +5530,7 @@ $wgUpdateRowsPerQuery = 100; */ /** - * The build directory for HipHop compilation. + * The build directory for HipHop compilation. * Defaults to $IP/maintenance/hiphop/build. */ $wgHipHopBuildDirectory = false; @@ -5333,24 +5549,24 @@ $wgHipHopCompilerProcs = 'detect'; /** * Filesystem extensions directory. Defaults to $IP/../extensions. * - * To compile extensions with HipHop, set $wgExtensionsDirectory correctly, + * To compile extensions with HipHop, set $wgExtensionsDirectory correctly, * and use code like: - * + * * require( MWInit::extensionSetupPath( 'Extension/Extension.php' ) ); * - * to include the extension setup file from LocalSettings.php. It is not + * to include the extension setup file from LocalSettings.php. It is not * necessary to set this variable unless you use MWInit::extensionSetupPath(). */ $wgExtensionsDirectory = false; /** - * A list of files that should be compiled into a HipHop build, in addition to - * those listed in $wgAutoloadClasses. Add to this array in an extension setup - * file in order to add files to the build. + * A list of files that should be compiled into a HipHop build, in addition to + * those listed in $wgAutoloadClasses. Add to this array in an extension setup + * file in order to add files to the build. * - * The files listed here must either be either absolute paths under $IP or + * The files listed here must either be either absolute paths under $IP or * under $wgExtensionsDirectory, or paths relative to the virtual source root - * "$IP/..", i.e. starting with "phase3" for core files, and "extensions" for + * "$IP/..", i.e. starting with "phase3" for core files, and "extensions" for * extension files. */ $wgCompiledFiles = array();