Manual:Hooks/getUserPermissionsErrorsExpensive/cs
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
editBoth 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.