|
|
Veškeré parametry prostředí (informace o evidenci, tabulce, uživateli apod.) jsou dostupné v poli $params. Pro custom scripty lze využívat především následující prvky pole (pro lepší ukázku jsou proměnné uvedeny včetně příkladů a taktéž pro lepší přehlednost uvádíme pouze nejdůležitější parametry).
Informace o přihlášeném uživateli - $params["subjekt"] Array ( [id_subjekt] => 1 [username] => admin [jmeno] => Martin [prijmeni] => Skála [email] => martin.skala@marbes.cz [heslo] => 21232f297a57a5a743894a0e4a801fc3 [telefon] => 0123456789 [admin] => 1 [admin_local] => 1 )
Informace o aktuální evidenci - $params["evidence"] Array ( [22] => Array ( [id_evidence] => 1 [nazev_evidence] => AAA [popis_evidence] => AAA [garant] => Martin Skála [garant_email] => martin.skala@marbes.cz [zobrazit] => 1 [zalozil] => admin ) )
Informace o aktuální tabulce - $params["tabulka"] Array ( [107] => Array ( [id_tabulka] => 107 [id_evidence] => 22 [nazev_tabulka] => Osoby [popis_tabulka] => Osoby [zobrazit] => 1 [poradi] => 1 [vlastnosti] => Array ( [order1] => 2019|asc --- podle které položky (id_polozka|směr) se implicitně řadí [filter_sloupce] => Array ( --- které položky (id_polozka) jsou implicitně zobrazeny (pokud je pole prázdné, tak všechny) [0] => 2018 [1] => 2019 [2] => 2020 [3] => 2044 [4] => 2046 [5] => 2047 [6] => 2048 [7] => 2049 [8] => 2055 ) ) ) )
Přístupová práva k evidencím a tabulkám - $params["rights"] Array ( [evid] => Array ( [22] => Array ( [pravo_read] => 4 [pravo_insert] => 4 [pravo_update] => 4 [pravo_delete] => 4 [pravo_admin] => 1 ) ) [tab] => Array ( --- upřesňující právo k tabulce [29] => Array ( [pravo_read] => 4 [pravo_insert] => 4 [pravo_update] => -1 [pravo_delete] => -1 ) ) )
Práva jsou nadefinována pro VŠECHNY evidence i tabulky (atributy se vrací vždy, i když nejsou nadefinována žádná práva). Číslo práva je definováno následujícími konstantami: define("PRAVO_DENY", "-1"); - explicitní zákaz (přebije vše) define("PRAVO_NOT_SPECIFIED", "0"); - právo není definováno (může být zděděno) define("PRAVO_OWN", "2"); - právo platí na vlastní záznamy define("PRAVO_ALL", "4"); - právo platí na všechny záznamy
Příklady dalších užitečných proměnných a funkcí Kromě výše uvedených polí jsou navíc k dispozici identifikátory aktuální evidence ($params["id_evidence"]) a tabulky ($params["id_tabulka"]). Například k názvu tabulky se pak dopracujeme takto: $nazev_tabulka = $params["tabulka"][$params["id_tabulka"]]["nazev_tabulka"];
Veškeré texty jsou uloženy v .ini souborech v kódování UTF-8 a jsou dostupné pomocí funkce: $chyba = vypis("Nepovolena akce");
Chybová hlášení lze pohodlně zobrazovat dole na stránce pomocí funkce u_log($params, $text, $zavaznost = 0), tedy např.: u_log($params, vypis("Nepovolena akce"), 2); u_log($params, vypis("vypis zaznamu v tabulce")." '".$nazev_tabulka."'");
$polozky = vrat_polozky($params, "kes_polozka.id_tabulka='".$params["id_tabulka"]."'", "kes_polozka.poradi asc"); |