Podręcznik:$wgAutopromote

From mediawiki.org
This page is a translated version of the page Manual:$wgAutopromote and the translation is 98% complete.
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)

Szczegóły

Ta tablica zawiera kryteria automatycznej promocji. Składnia to:

$wgAutopromote = [
    'groupname' => cond,
    'group2' => cond,
];

cond tutaj może być:

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 ],
	],
];

Zobacz też