Podręcznik:$wgAutopromote
Dostęp: $wgAutopromote | |
---|---|
Warunki automatycznego przypisania użytkownika do określonych grup |
|
Wprowadzono w wersji: | 1.12.0 (r28797) |
Usunięto w wersji: | nadal w użyciu |
Dozwolone wartości: | (tablica) |
Domyślna wartość: | (zobacz poniżej) |
Inne ustawienia: Alfabetycznie | Według funkcji |
Szczegóły
Ta tablica zawiera kryteria automatycznej promocji. Składnia to:
$wgAutopromote = [
'groupname' => cond,
'group2' => cond,
];
cond
tutaj może być:
- Pojedynczy warunek
- Zestaw warunków
Możliwe warunki
Możliwe warunki (zdefiniowane w Defines.php ; rozszerzenia mogą dodać więcej poprzez hook AutopromoteCondition ):
Warunek | Opis | Argument(-y) |
---|---|---|
APCOND_EDITCOUNT | Minimalna wymagana liczba edycji. Jeżeli brakujący null lub $wgAutoConfirmCount został użyty
|
Liczba całkowita |
APCOND_AGE | Minimalna liczba sekund od rejestracji. Jeżeli brakujący null lub $wgAutoConfirmAge został użyty
|
Liczba całkowita |
APCOND_EMAILCONFIRMED | Adres email musi zostać potwierdzony | (Nie dotyczy) |
APCOND_INGROUPS | Lista grup, do których musi należeć użytkownik | Np., 'sysop', 'bureaucrat', 'bot'
|
APCOND_ISIP | Użytkownik ma określony adres IP | Np., '1.2.3.4' or '2001:0db8:85a3::7344'
|
APCOND_IPINRANGE | Użytkownik znajduje się w określonym zakresie IP | Zobacz Manual:IP ranges |
APCOND_AGE_FROM_EDIT | Minimalna liczba sekund od pierwszej edycji. | Liczba całkowita |
APCOND_BLOCKED | Konto zostało zablokowane (dodano w v1.16: r52083) | (Nie dotyczy) |
APCOND_ISBOT | Konto jest botem | (Nie dotyczy) |
Warunki z/bez argumentów
Każdy warunek można zapisać w dwóch formach:
APCOND_EMAILCONFIRMED # warunek bez argumentów
array( APCOND_EDITCOUNT, 100 ) # warunek z argumentami
Zestaw warunków
Zbiory warunków mają następującą składnię:
[ 'operand', cond1, cond2, ... ];
Dostępne są 4 operandy:
- & (AND) — promuj, jeśli użytkownik spełnia wszystkie warunki
- | (OR) — promuj, jeśli użytkownik spełnia jakiś warunek
- ^ (XOR) — promuj, jeśli użytkownik spełnia tylko jeden z dwóch warunków
- ! (NOT) — promuj, jeśli użytkownik nie spełnia warunków.
Zestawy warunków są oceniane rekurencyjnie, więc możesz używać zagnieżdżonych zestawów warunków połączonych operandami.
Zastrzeżenia
Autopromocja w rzeczywistości nie dodaje użytkowników do grupy; MediaWiki sprawdzi, czy użytkownik spełnia warunki autopromocji za każdym razem, gdy sprawdza prawa użytkownika lub skuteczne grupy. Oznacza to, że użytkownik będzie pojawiał się w grupie Special:ListUsers jeżeli został do niej dodany przez Special:UserRights
Od MediaWiki 1.18 możesz zamiast tego użyć AutopromoteOnce , co normalnie dodaje użytkowników do grupy, jeśli spełniają podane kryteria i nie zostali wcześniej zdegradowani. Alternatywnie, $wgRevokePermissions (MW 1.16+) może okazać się dla Ciebie przydatne.
Temporary users cannot be autopromoted, since they cannot be assigned to user groups.
Domyślne wartości
Wersja MediaWiki: | ≥ 1.38 |
$wgAutopromote = [
'autoconfirmed' => [ '&',
[ APCOND_EDITCOUNT, null],
[ APCOND_AGE, null ],
],
];
Wersje MediaWiki: | 1.13 – 1.37 |
$wgAutopromote = [
'autoconfirmed' => [ '&',
[ APCOND_EDITCOUNT, &$wgAutoConfirmCount ],
[ APCOND_AGE, &$wgAutoConfirmAge ],
],
];
Wersja MediaWiki: | 1.12 |
$wgAutopromote = array(
'autoconfirmed' => array( '&',
array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
array( APCOND_AGE, &$wgAutoConfirmAge ),
),
'emailconfirmed' => APCOND_EMAILCONFIRMED,
);
Przykład
Jeśli chcesz automatycznie awansować każdego użytkownika na kapitana po tym, jak obaj potwierdzą swój adres e-mail oraz dokonali co najmniej 100 zmian lub zarejestrowali swoje konto co najmniej 60 dni temu, użyjesz:
$wgAutopromote = [
'captain' => [
'&',
APCOND_EMAILCONFIRMED,
[
'|',
[ APCOND_EDITCOUNT, 100 ],
[ APCOND_AGE, 60*86400 ],
],
],
];
Zauważ, że pozbyłoby się to wszystkich innych grup autopromocji; aby zamiast tego dodać grupę kapitana autopromocji, zachowując te grupy autopromocji, które już istnieją, można użyć:
$wgAutopromote['captain'] = [
'&',
APCOND_EMAILCONFIRMED,
[
'|',
[ APCOND_EDITCOUNT, 100 ],
[ APCOND_AGE, 60*86400 ],
],
];