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