Jump to content

Manual:Hooks/getUserPermissionsErrorsExpensive/cs

From mediawiki.org
getUserPermissionsErrorsExpensive
Available from version 1.12.0
Stejné jako getUserPermissionsErrors, ale volá se pouze v případě, že jsou povoleny vzácné kontroly
Define function:
public static function ongetUserPermissionsErrorsExpensive( $title, $user, $action, &$result ) { ... }
Attach hook: In extension.json:
{
	"Hooks": {
		"getUserPermissionsErrorsExpensive": "MediaWiki\\Extension\\MyExtension\\Hooks::ongetUserPermissionsErrorsExpensive"
	}
}
Called from: File(s): Permissions/PermissionManager.php
Interface: getUserPermissionsErrorsExpensiveHook.php

For more information about attaching hooks, see Příručka:Háčky .
For examples of extensions using this hook, see Category:getUserPermissionsErrorsExpensive extensions/cs.

Podrobnosti

[edit]
  • $title: Kontrolovaný název objektu
  • $user : Aktuální uživatelský objekt
  • $action: Akce se kontroluje
  • &$result: Chyba uživatelských oprávnění k přidání ve formátu, kterému rozumí Title::resultToError() jako array( 'error-message-name', $parameter ) (název-chybové-zprávy). Pokud žádný, vrátí true. V opačném případě je chybová zpráva předána do Title::userCan() a poté použita jakýmkoli způsobem, který volající kód chce.

Rozdíly oproti getUserPermissionsErrors

[edit]

Both hooks are typically run when checking for proper permissions in Title.php . Pokud je žádoucí přeskočit potenciálně nákladné kaskádové kontroly oprávnění, spustí se pouze getUserPermissionsErrors. Toto chování je vhodné pro nepodstatné ovládací prvky uživatelského rozhraní v běžných případech, ale ne pro funkční řízení přístupu. Toto chování může poskytovat falešně pozitivní výsledky, ale nikdy by nemělo poskytovat falešně negativní výsledky.