*/
$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".
$wgSVGMetadataCutoff = 262144;
/**
- * Disallow <title> element in SVG files.
+ * Obsolete, no longer used.
+ * SVG file uploads now always allow <title> elements.
*
- * 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.
- *
- * 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.
* 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
*
/** @} */ # 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.
* @{
*/