*/
$wgLoadScript = false;
+/**
+ * The URL path to the REST API
+ * Defaults to "{$wgScriptPath}/rest.php"
+ * @since 1.34
+ */
+$wgRestPath = false;
+
/**
* The URL path of the skins directory.
* Defaults to "{$wgResourceBasePath}/skins".
* equivalent to the corresponding member of $wgDBservers
* - tablePrefix Table prefix, the foreign wiki's $wgDBprefix
* - hasSharedCache Set to true if the foreign wiki's $wgMainCacheType is identical to,
- * and accesible from, this wiki.
+ * and accessible from, this wiki.
*
* ForeignAPIRepo:
* - apibase Use for the foreign API's URL
/**
* Shortcut for adding an entry to $wgForeignFileRepos.
*
- * Uses the folowing variables:
+ * Uses the following variables:
*
* - directory: $wgSharedUploadDirectory.
* - url: $wgSharedUploadPath.
$wgSVGMetadataCutoff = 262144;
/**
- * Disallow <title> element in SVG files.
- *
- * MediaWiki will reject HTMLesque tags in uploaded files due to idiotic
- * browsers which can not perform basic stuff like MIME detection and which are
- * vulnerable to further idiots uploading crap files as images.
+ * Obsolete, no longer used.
+ * SVG file uploads now always allow <title> elements.
*
- * When this directive is on, "<title>" will be allowed in files with an
- * "image/svg+xml" MIME type. You should leave this disabled if your web server
- * is misconfigured and doesn't send appropriate MIME types for SVG images.
+ * @deprecated 1.34
*/
-$wgAllowTitlesInSVG = false;
+$wgAllowTitlesInSVG = true;
/**
* Whether thumbnails should be generated in target language (usually, same as
*/
$wgVerifyMimeType = true;
+/**
+ * Determines whether extra checks for IE type detection should be applied.
+ * This is a conservative check for exactly what IE 6 or so checked for,
+ * and shouldn't trigger on for instance JPEG files containing links in EXIF
+ * metadata.
+ *
+ * @since 1.34
+ */
+$wgVerifyMimeTypeIE = true;
+
/**
* Sets the MIME type definition file to use by includes/libs/mime/MimeAnalyzer.php.
* Set to null, to use built-in defaults only.
* @name HTTP proxy (CDN) settings
*
* Many of these settings apply to any HTTP proxy used in front of MediaWiki,
- * although they are referred to as Squid settings for historical reasons.
+ * although they are sometimes still referred to as Squid settings for
+ * historical reasons.
*
* Achieving a high hit ratio with an HTTP proxy requires special
* configuration. See https://www.mediawiki.org/wiki/Manual:Squid_caching for
/**
* Enable/disable CDN.
* See https://www.mediawiki.org/wiki/Manual:Squid_caching
+ *
+ * @since 1.34 Renamed from $wgUseSquid.
*/
-$wgUseSquid = false;
+$wgUseCdn = false;
/**
* If you run Squid3 with ESI support, enable this (default:false):
* out s-maxage in the CDN config.
*
* 18000 seconds = 5 hours, more cache hits with 2678400 = 31 days.
+ *
+ * @since 1.34 Renamed from $wgSquidMaxage
*/
-$wgSquidMaxage = 18000;
+$wgCdnMaxAge = 18000;
/**
* Cache timeout for the CDN when DB replica DB lag is high
- * @see $wgSquidMaxage
+ * @see $wgCdnMaxAge
+ *
* @since 1.27
*/
$wgCdnMaxageLagged = 30;
* If a purge for a URL reaches cdn2 before cdn1 and a request reaches cdn2 for that URL,
* it will populate the response from the stale cdn1 value. When cdn1 gets the purge, cdn2
* will still be stale. If the rebound purge delay is safely higher than the time to relay
- * a purge to all nodes, then the rebound puge will clear cdn2 after cdn1 was cleared.
+ * a purge to all nodes, then the rebound purge will clear cdn2 after cdn1 was cleared.
*
* @since 1.27
*/
/**
* Cache timeout for the CDN when a response is known to be wrong or incomplete (due to load)
- * @see $wgSquidMaxage
+ * @see $wgCdnMaxAge
* @since 1.27
*/
$wgCdnMaxageSubstitute = 60;
* headers sent/modified from these proxies when obtaining the remote IP address
*
* For a list of trusted servers which *aren't* purged, see $wgSquidServersNoPurge.
+ *
+ * @since 1.34 Renamed from $wgSquidServers.
*/
-$wgSquidServers = [];
+$wgCdnServers = [];
/**
- * As above, except these servers aren't purged on page changes; use to set a
- * list of trusted proxies, etc. Supports both individual IP addresses and
- * CIDR blocks.
+ * As with $wgCdnServers, except these servers aren't purged on page changes;
+ * use to set a list of trusted proxies, etc. Supports both individual IP
+ * addresses and CIDR blocks.
+ *
* @since 1.23 Supports CIDR ranges
+ * @since 1.34 Renamed from $wgSquidServersNoPurge
*/
-$wgSquidServersNoPurge = [];
+$wgCdnServersNoPurge = [];
/**
* Whether to use a Host header in purge requests sent to the proxy servers
- * configured in $wgSquidServers. Set this to false to support Squid
+ * configured in $wgCdnServers. Set this to false to support a CDN
* configured in forward-proxy mode.
*
* If this is set to true, a Host header will be sent, and only the path
* Allow style-related user-preferences?
*
* This controls whether the `editfont` and `underline` preferences
- * are availabe to users.
+ * are available to users.
*/
$wgAllowUserCssPrefs = true;
* If this parameter is not given, it uses Preprocessor_DOM if the
* DOM module is available, otherwise it uses Preprocessor_Hash.
*
+ * The Preprocessor_DOM class is deprecated, and will be removed in a future
+ * release.
+ *
* The entire associative array will be passed through to the constructor as
* the first parameter. Note that only Setup.php can use this variable --
* the configuration will change at runtime via Parser member functions, so
*
* The basic syntax for `$wgAutopromote` is:
*
- * $wgAutopromote = array(
+ * $wgAutopromote = [
* 'groupname' => cond,
* 'group2' => cond2,
- * );
+ * ];
*
* A `cond` may be:
* - a single condition without arguments:
* Note that Autopromote wraps a single non-array value into an array
* e.g. `APCOND_EMAILCONFIRMED` OR
- * array( `APCOND_EMAILCONFIRMED` )
+ * [ `APCOND_EMAILCONFIRMED` ]
* - a single condition with arguments:
- * e.g. `array( APCOND_EDITCOUNT, 100 )`
+ * e.g. `[ APCOND_EDITCOUNT, 100 ]`
* - a set of conditions:
- * e.g. `array( 'operand', cond1, cond2, ... )`
+ * e.g. `[ 'operand', cond1, cond2, ... ]`
*
* When constructing a set of conditions, the following conditions are available:
* - `&` (**AND**):
* promote if user matches **ONLY ONE OF THE CONDITIONS**
* - `!` (**NOT**):
* promote if user matces **NO** condition
- * - array( APCOND_EMAILCONFIRMED ):
+ * - [ APCOND_EMAILCONFIRMED ]:
* true if user has a confirmed e-mail
- * - array( APCOND_EDITCOUNT, number of edits ):
+ * - [ APCOND_EDITCOUNT, number of edits ]:
* true if user has the at least the number of edits as the passed parameter
- * - array( APCOND_AGE, seconds since registration ):
+ * - [ APCOND_AGE, seconds since registration ]:
* true if the length of time since the user created his/her account
* is at least the same length of time as the passed parameter
- * - array( APCOND_AGE_FROM_EDIT, seconds since first edit ):
+ * - [ APCOND_AGE_FROM_EDIT, seconds since first edit ]:
* true if the length of time since the user made his/her first edit
* is at least the same length of time as the passed parameter
- * - array( APCOND_INGROUPS, group1, group2, ... ):
+ * - [ APCOND_INGROUPS, group1, group2, ... ]:
* true if the user is a member of each of the passed groups
- * - array( APCOND_ISIP, ip ):
+ * - [ APCOND_ISIP, ip ]:
* true if the user has the passed IP address
- * - array( APCOND_IPINRANGE, range ):
+ * - [ APCOND_IPINRANGE, range ]:
* true if the user has an IP address in the range of the passed parameter
- * - array( APCOND_BLOCKED ):
+ * - [ APCOND_BLOCKED ]:
* true if the user is blocked
- * - array( APCOND_ISBOT ):
+ * - [ APCOND_ISBOT ]:
* true if the user is a bot
* - similar constructs can be defined by extensions
*
'newbie' => [ 5, 86400 ],
'user' => [ 20, 86400 ],
],
+ 'changeemail' => [
+ 'ip-all' => [ 10, 3600 ],
+ 'user' => [ 4, 86400 ]
+ ],
// Purging pages
'purge' => [
'ip' => [ 30, 60 ],
*
* @code
* $wgProfiler['class'] = 'ProfilerXhprof';
- * $wgProfiler['output'] = array( 'ProfilerOutputDb' );
+ * $wgProfiler['output'] = [ 'ProfilerOutputDb' ];
* $wgProfiler['sampling'] = 50; // one every 50 requests
* @endcode
*
/**
* Display the new debugging toolbar. This also enables profiling on database
* queries and other useful output.
- * Will be ignored if $wgUseFileCache or $wgUseSquid is enabled.
+ * Will be ignored if $wgUseFileCache or $wgUseCdn is enabled.
*
* @since 1.19
*/
/** @} */ # End robot policy }
/************************************************************************//**
- * @name AJAX and API
+ * @name AJAX, Action API and REST API
* Note: The AJAX entry point which this section refers to is gradually being
- * replaced by the API entry point, api.php. They are essentially equivalent.
- * Both of them are used for dynamic client-side features, via XHR.
+ * replaced by the Action API entry point, api.php. They are essentially
+ * equivalent. Both of them are used for dynamic client-side features, via XHR.
* @{
*/
* that uses it, MediaWiki can broadcast events to all subscribers. Certain features like WAN
* cache purging and CDN cache purging will emit events to this system. Appropriate listers can
* subscribe to the channel and take actions based on the events. For example, a local daemon
- * can run on each CDN cache node and perfom local purges based on the URL purge channel events.
+ * can run on each CDN cache node and perform local purges based on the URL purge channel events.
*
* Some extensions may want to use "channel categories" so that different channels can also share
* the same custom relayer instance (e.g. when it's likely to be overriden). They can use