Manual:Hooks/userCan/cs

$title
reference na objekt title se kterým se pracuje v dotazu (více o tomhle objektu viz $IP/includes/Title.php)

$user
reference na objekt user, ve kterém je vše co se týče aktuálního uživatele (více o tomhle objektu viz $IP/includes/Title.php)

$action
action je řetězec (string), který identifikuje aktuální akci, která se v danou chvíli na základě dotazu aplikuje na objekt title

$result

 * reference na result se postupně předává všem funkcím, ve stejném pořadí, jak jsou navěšené na tento háček (viz $IP/includes/Hooks.php)
 * $result můžete nechat na pokoji, nebo ho nastavit na  nebo , podle toho jaký bude výsledek vaší funkce navěšené na háček
 * 'true' znamená, že uživatel může pokračovat dál ve zpracování obsahu stránky a 'false', že uživatel $user akci předanou přes $action na objekt $title aplikovat nemůže.
 * pokud funkce nevrátí žádnou hodnotu, pak to znamená, že za dané situace zůstává její postoj neutrální.



Co způsobí návratová hodnota funkce, navěšené na tento háček

 * funkce, které jsou navěšené na tento háček zpracovávají, v tom pořadí jak jsou na něj navěšeny, dokud se nedojde na konec seznamu, nebo dokud některá z nich nevrátí
 * kterákoliv z funkcí, navěšených na tento háček, další proces zpracování přeruší, tím že vrátí.



Záměrný postranní efekt zřetězení funkcí na tomto háčku

 * obsah proměnné $result, která je předaná navěšeným funkcím přes referenci, se průběžně mění, podle toho, jaký je výsledek zpracování funkce
 * pokud některá z funkcí navěšených na háčku bude chtít něco vypnout, tak jiná, co za ní bude následovat, může dospět k jinému závěru a $result opět povolit
 * na druhou stranu poslední funkce ze seznamu háčků má tu nevýhodu, že na ni nemusí dojít, a tudíž má mnohem menší šanci $result ovlivnit

Konečné rozhodnutí, jak naložit s trojicí objektů $title - $user - $action tak závisí na tom, jakou bude mít aktuální hodnotu $result, poté co se dokončí zpracování celého seznamu funkcí navěšených na tomto háčku.



Omezení


Tabulka možných kombinací


Související odkazy

 * - aby uživatel mohl číst konkrétní stránky
 * - k navěšení háčků, u kterých kontrola práv nesouvisí s konkrétním článkem.
 * - podobný háček, který umí vracet i textovou zprávu
 * - podobný háček, který umí vracet i textovou zprávu