$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 = [