* Properties required for all repos:
* - class The class name for the repository. May come from the core or an extension.
* The core repository classes are FileRepo, LocalRepo, ForeignDBRepo.
- * FSRepo is also supported for backwards compatibility.
*
* - name A unique name for the repository (but $wgLocalFileRepo should be 'local').
* The name should consist of alpha-numeric characters.
*/
$wgDefaultUserOptions = [
'ccmeonemails' => 0,
- 'cols' => 80,
+ 'cols' => 80, // @deprecated since 1.29 No longer used in core
'date' => 'default',
'diffonly' => 0,
'disablemail' => 0,
'rcdays' => 7,
'rcenhancedfilters' => 0,
'rclimit' => 50,
- 'rows' => 25,
+ 'rows' => 25, // @deprecated since 1.29 No longer used in core
'showhiddencats' => 0,
'shownumberswatching' => 1,
'showtoolbar' => 1,
$wgAutoConfirmCount = 0;
/**
- * Automatically add a usergroup to any user who matches certain conditions.
- *
- * @todo Redocument $wgAutopromote
- *
- * The format is
- * [ '&' or '|' or '^' or '!', cond1, cond2, ... ]
- * where cond1, cond2, ... are themselves conditions; *OR*
- * APCOND_EMAILCONFIRMED, *OR*
- * [ APCOND_EMAILCONFIRMED ], *OR*
- * [ APCOND_EDITCOUNT, number of edits ], *OR*
- * [ APCOND_AGE, seconds since registration ], *OR*
- * [ APCOND_INGROUPS, group1, group2, ... ], *OR*
- * [ APCOND_ISIP, ip ], *OR*
- * [ APCOND_IPINRANGE, range ], *OR*
- * [ APCOND_AGE_FROM_EDIT, seconds since first edit ], *OR*
- * [ APCOND_BLOCKED ], *OR*
- * [ APCOND_ISBOT ], *OR*
- * similar constructs defined by extensions.
- *
- * If $wgEmailAuthentication is off, APCOND_EMAILCONFIRMED will be true for any
+ * Array containing the conditions of automatic promotion of a user to specific groups.
+ *
+ * The basic syntax for `$wgAutopromote` is:
+ *
+ * $wgAutopromote = array(
+ * '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` )
+ * - a single condition with arguments:
+ * e.g. `array( APCOND_EDITCOUNT, 100 )`
+ * - a set of conditions:
+ * e.g. `array( 'operand', cond1, cond2, ... )`
+ *
+ * When constructing a set of conditions, the following conditions are available:
+ * - `&` (**AND**):
+ * promote if user matches **ALL** conditions
+ * - `|` (**OR**):
+ * promote if user matches **ANY** condition
+ * - `^` (**XOR**):
+ * promote if user matches **ONLY ONE OF THE CONDITIONS**
+ * - `!` (**NOT**):
+ * promote if user matces **NO** condition
+ * - array( APCOND_EMAILCONFIRMED ):
+ * true if user has a confirmed e-mail
+ * - array( 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 ):
+ * 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 ):
+ * 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, ... ):
+ * true if the user is a member of each of the passed groups
+ * - array( APCOND_ISIP, ip ):
+ * true if the user has the passed IP address
+ * - array( APCOND_IPINRANGE, range ):
+ * true if the user has an IP address in the range of the passed parameter
+ * - array( APCOND_BLOCKED ):
+ * true if the user is blocked
+ * - array( APCOND_ISBOT ):
+ * true if the user is a bot
+ * - similar constructs can be defined by extensions
+ *
+ * The sets of conditions are evaluated recursively, so you can use nested sets of conditions
+ * linked by operands.
+ *
+ * Note that if $wgEmailAuthentication is disabled, APCOND_EMAILCONFIRMED will be true for any
* user who has provided an e-mail address.
*/
$wgAutopromote = [
*/
$wgProxyWhitelist = [];
+/**
+ * IP ranges that should be considered soft-blocked (anon-only, account
+ * creation allowed). The intent is to use this to prevent anonymous edits from
+ * shared resources such as Wikimedia Labs.
+ * @since 1.29
+ * @var string[]
+ */
+$wgSoftBlockRanges = [];
+
/**
* Whether to look at the X-Forwarded-For header's list of (potentially spoofed)
* IPs and apply IP blocks to them. This allows for IP blocks to work with correctly-configured
* The remaining elements are passed through to the class as constructor
* parameters.
*
- * @par Example:
+ * @par Example using local redis instance:
+ * @code
+ * $wgPoolCounterConf = [ 'ArticleView' => [
+ * 'class' => 'PoolCounterRedis',
+ * 'timeout' => 15, // wait timeout in seconds
+ * 'workers' => 1, // maximum number of active threads in each pool
+ * 'maxqueue' => 5, // maximum number of total threads in each pool
+ * 'servers' => [ '127.0.0.1' ],
+ * 'redisConfig' => []
+ * ] ];
+ * @endcode
+ *
+ * @par Example using C daemon from https://www.mediawiki.org/wiki/Extension:PoolCounter:
* @code
* $wgPoolCounterConf = [ 'ArticleView' => [
* 'class' => 'PoolCounter_Client',
* 'workers' => 5, // maximum number of active threads in each pool
* 'maxqueue' => 50, // maximum number of total threads in each pool
* ... any extension-specific options...
- * ];
+ * ] ];
* @endcode
*/
$wgPoolCounterConf = null;