< návrat zpět

Extend pluginy

Pomocí extend pluginů lze rozšířit systém použitím sady zabudovaných událostí.

Události systému

Toto je kompletní seznam událostí systému.

  • klíč output v argumentech je standartní a pokud je dostupný, jedná se o referenci na možný výstup, do které lze přidávat vlastní data
  • znak & před názvem argumentu znamená, že se jedná o účelnou referenci a její změnou je možné zasahovat do chodu systému
  • pokud je argument obalen syntaxí extra[x], nachází se argument v poli pod klíčem s názvem extra

  • Moduly - Systémové a vlastní moduly
  • Článek - Přidávání obsahu do článků
  • Stránka - Přidávání obsahu do stránek
  • Plugin stránka - Přidávání nových typů stránek do systému
  • Motiv - Vkládání obsahu do motivu, hlavičky a menu
  • Index - Události zobrazování stránek.
  • BBCode - Registrace BBCode značek
  • Příspěvky - Přidávání obsahu do příspěvků a validace před uložením
  • Plugin příspěvky - Napojení pluginu na systém komentářů
  • Uživatelé - Načítaná data uživatelů a avatary
  • Administrace - Události modulů administrace
  • Systém - Systémové události
  • HCM - Události systému HCM modulů
Moduly
Systémové a vlastní moduly
IdentifikátorPopisArgumenty
mod.x.pre před skriptem &output, extra[mid], extra[&custom], extra[&file]
  • mid je identifikátor modulu (např. login)
  • custom je reference na příznak vlastního modulu (aktivuje použití argumentu file jako cesty ke skriptu)
mod.x.post po skriptu &output
mod.custom.x vlastní modul &file, &title
mod.reg.success po úspěšné registraci user_id
mod.settings.form formulář uživ. nastavení &output
mod.settings.avatar fieldset nastavení avataru &output, extra[query]
mod.settings.submit submit formuláře nastavení &query, &errors, current_query
  • query je asociativní pole mapující změny v tabulce
  • errors je pole s chybovými
  • current_query je asociativní pole s aktuálními daty uživatele
mod.settings.save uložení formuláře nastavení &query

query je asociativní pole mapující změny v tabulce

mod.editpost.backlink zpětný odkaz z editace příspěvku &backlink, query
  • backlink je reference na proměnnou, kam lze uložit vlastní sestavený zpětný odkaz
  • query je pole s daty příspěvku
mod.search.results zpětný odkaz z editace příspěvku &results, query, query_sql
  • results je reference na pole výsledků, formát položky tohoto pole je:
    • 0 - adresa
    • 1 - titulek
    • 2 - perex
    • 3 - info (nepovinné)
  • query je řetězec, který byl vyhledáván
  • query_sql je řetězec, který byl vyhledáván, escapován a obalen znaky %
mod.messages.new nový vzkaz receiver, &subject, &text
  • receiver je ID příjemce
  • subject je reference na text předmětu
  • text je reference na obsah vzkazu

Poznámky

x v názvu událostí může být jedena z následujících hodnot:

  • editpost - modul úpravy příspěvku
  • locktopic - modul zamknutí tématu
  • login - modul přihlášení
  • lostpass - modul obnovení hesla
  • messages - modul vzkazů
  • profile - modul zobrazení profilu
  • profile-arts - modul zobrazení článků uživatele
  • profile-posts - modul zobrazení příspěvků uživatele
  • reg - modul registrace
  • search - modul vyhledávání
  • settings - modul uživ. nastavení
  • topic - modul zobrazení tématu fóra
  • ulist - modul výpisu uživatelů

file je proměnná jejíž změnou lze přetížit výchozí skript


Článek
Přidávání obsahu do článků
IdentifikátorPopisArgumenty
article.pre před skriptem &output, extra[&query], extra[&file]
article.perex.before před perexem &output, extra[&query]
article.perex.after za perexem &output, extra[&query]
article.comments před komentáři &output, extra[&query]
article.post po skriptu &output, extra[&query]
article.preview náhled článku &callback

callback je reference na callback, který bude volán namísto funkce _articlePreview, jsou mu předány 3 argumenty v tomto pořadí:

  • 0 pole obsahující data článku: id, title, title_seo, author, perex, [picture_uid], time, comments, readed
  • 1 zobrazovat info 1/0
  • 2 zobrazovat perex 1/0

Tato událost je volána pouze jednou, poté se již vždy používá registrovaný callback nebo výchozí implementace, pokud nebyl žádný callback registrován.

Poznámky

  • query je asociativní pole obsahující data článku
  • file je proměnná jejíž změnou lze přetížit výchozí skript

Stránka
Přidávání obsahu do stránek
IdentifikátorPopisArgumenty
page.x.pre před skriptem &output, extra[&query], extra[&file]
page.all.pre před skriptem (všechny typy) &output, extra[&query]
page.x.aftertitle po titulku &output, extra[&query]
page.x.content.before před obsahem &output, extra[&query]
page.x.content.after po obsahu &output, extra[&query]
page.x.post po skriptu &output, extra[&query]
page.category.item.before před článkem v kategorii &output, extra[query], extra[&item-query]
page.category.item.after po článku v kategorii &output, extra[query], extra[&item-query]
page.event.yy událost stránky extra[&query], extra[args]

K událostem stránky dochází na základě záznamu v poli Události v administraci u dané stránky.

  • yy v názvu události koresponduje s názvem uvedeným v poli Události
  • query je reference na data stránky
  • arg je volitelný argument uvedený za názvem události v poli Události (řetězec či null pokud není uveden)
page.backlink zpětný odkaz &backlink

backlink je reference na URL zpětného odkazu, kterou je možno nastavit

Poznámky

  • query je asociativní pole obsahující data stránky
  • x v názvu událostí může být jedena z následujících hodnot:
    • section - sekce
    • category - kategorie
    • book - kniha
    • forum - fórum
    • gallery - galerie
    • group - skupina
    • link - odkaz
    • nebo unikátní identifikátor plugin stránky
  • file je proměnná jejíž změnou lze přetížit výchozí skript

Plugin stránka
Přidávání nových typů stránek do systému
IdentifikátorPopisArgumenty
ppage.reg registrace &infos
  • infos je reference na asociativní pole, do kterého je třeba vložit nový klíč (který je unikátní identifikátor typu stránky, např. galerie), jehož hodnotou je lokalizovaný název typu stránky (např. "super galerie")
  • délka vlastního identifikátoru je omezena na 16 znaků!
ppage.x.show zobrazení &file, &query, segment, &segment_handled
  • query je asociativní pole obsahující data stránky
  • file je reference na cestu ke skriptu, který bude spuštěn při zobrazení stránky
  • segment je aktuální segment v adrese či null
  • segment_handled je reference na příznak, který je třeba nastavit na true, pokud není segment null a stránka používá segmenty, aby nedošlo k chybě 404 nenalezeno
ppage.x.interinfo info v rozcestníku &output, item
ppage.x.edit úprava/vytvoření &output, extra[&query], extra[&es_settings], extra[&es_savemap], extra[&es_enable], extra[&es_content], extra[&es_extrarow], extra[&es_extra], extra[&es_file], extra[new]
  • query je asociativní pole obsahující data stránky
  • es_settings je HTML kód vložený za standartní volby nastavení (viditelnost, aut. titulek)
  • es_savemap je reference na pole určující způsob ukládání speciálních polí (běžně var1var4):
    • formát je array(array("nazev-sloupce", checkbox true/false, zpracovani, textova_hodnota true/false), ... )

    • zpracovani může být: 0 = nic, 1 = _htmlStr(), 2 = intval(), 3 = floatval()
    • checkbox indikuje, že se jedná o checkbox
    • textova_hodnota indikuje, že se jedná o textovou hodnotu

    • příklad uložení checkboxu do var1:
      $args["es_savemap"] = array(array("var1", true, 0, false));

  • es_enable je reference na příznak, že se má použít výchozí editscript (při nastavení na false je třeba uvést vlastní skript v es_file)
  • es_content je reference na příznak, zda je aktivována úprava obsahu dané stránky (výchozí je true)
  • es_extrarow je reference na HTML kód řádku tabulky (včetně <tr> atd), který se zobrazí před nastavením stránky
  • es_extra je reference na HTML kód, který se zobrazí před tabulkou
  • es_file je reference na cestu k vlastnímu skriptu, který bude použit pro úpravu stránky (je třeba nastavit volbu es_enable na false); tento skript má k dispozici následující proměnné: $query, $type_idt
  • new je příznak, zda se jedná o nově vytvářenou stránku
ppage.x.delete.confirm potvrzení smazání &contents, query

contents je refernece na pole, které obsahuje popis položek, které by byly smazány spolu s položkou; query je asociativní pole obsahující data stránky.

ppage.x.delete.do vykonání smazání &handled, query
  • handled je reference na příznak, který indikuje, že plugin s úspěceh zpracoval smazání stránky (je třeba nastavit na true)
    • Pozor! Tato funkce nemá za úkol smazat samotnou stránku.. pouze její možné související položky, samotná stránka je smazána automaticky, pokud je handled nastaveno na true.
  • query je asociativní pole obsahující data stránky

Poznámky

x v názvu události je unikátní identifikátor typu plugin stránky, zvolený při její registraci pomocí události ppage.reg.


Motiv
Vkládání obsahu do motivu, hlavičky a menu
IdentifikátorPopisArgumenty
tpl.title titulek stránky &title, head
  • title je reference na proměnnou, která bude použita namísto původního titulku, pokud je nastavena
  • head je příznak indikující, zda se jedná o titulek pro <head> sekci
tpl.content.before před obsahem stránky &output
tpl.content.after za obsahem stránky &output
tpl.menu.item položka menu &item, &classes, sub
  • item je asociativní pole obsahující data položky menu
  • classes je pole obsahující třídy dané položky menu
  • sub je příznak určující, zda se jedná o položku rozbal. menu
tpl.head v <head> &output
tpl.head.meta v <head> hned za meta tagy &output
tpl.lightbox inicializace lightboxu v <head> &output
tpl.usermenu.first před první položkou uživ. menu &output
tpl.usermenu.last za poslední položkou uživ. menu &output
tpl.usermenu.beforelogout před odkazem na odhlášení &output
tpl.boxes výpis boxů v šabloné &output, boxes, column
  • boxes je pole obsahující data jednotlivých boxů/li>
  • classes je pole obsahující třídy dané položky menu

Index
Události zobrazování stránek.
IdentifikátorPopisArgumenty
index.route zpracování požadavku (adresy) ids, ids_first, ids_full, &handler

Tato událost je vyvolána ještě před pokusem o zobrazení stránky na webu. Nastavením handleru lze pro určité adresy zobrazit vlastní obsah.

  • ids - pole se segmenty adresy
  • ids_first - hlavní segment adresy
  • ids_full - celá adresa jako řetězec
  • handler - reference na callback, který zpracuje požadavek, je mu předáno pole s následujícími daty:
    • title - reference na titulek stránky
    • content - reference na obsah stránky
    • ids - viz výše
    • ids_first - viz výše
    • ids_full - viz výše
index.template šablona stránky &output

Pomocí této události lze nahradit cestu k souboru template.php.

index.notfound stránke nenalezena &output
index.notfound.hook stránka nenalazena (odchycení) &output, &title, ids
  • title je titulek stránky
  • ids je identifikátor, který nebyl nalezen
index.notpublic vyžadováno přihlášení &output

BBCode
Registrace BBCode značek
IdentifikátorPopisArgumenty
bbcode.extend.tags přidání tagů do parseru &tags

tags je asociativní pole již existujících tagů ve formátu:

'tag' => array(0 => pair 1/0, 1 => arg 1/0, 2 => nestable 1/0, 3 => can-contain-children 1/0, 4 => button-icon(null = none | 1 = template | string = path))
bbcode.extend.proc přidání tagů do processoru &tags

tags je asociativní pole již existujících extra callbacků ve formátu:

'tag' => callback(argument, innerBuffer)

Příspěvky
Přidávání obsahu do příspěvků a validace před uložením
IdentifikátorPopisArgumenty
posts.output výpis příspěvků type, home, xhome, vars, post_type, plugin_flag, &canpost, &locked, &autolast, &post_link, &posts_per_page, &sql_desc, &sql_ordercol, &sql_countcond, &callback
  • type je typ výpisu, jeden z:
    • 1 - komentáře sekce
    • 2 - komentáře článku
    • 3 - příspěvky v knize
    • 5 - témata ve fóru
    • 6 - odpovědi na téma ve fóru
    • 7 - odpověď ve vzkazech
    • 8 - plugin příspěvky
  • home je ID domovské položky (závisí na typu)
  • xhome je ID domovského příspěvku (závisí na typu)
  • vars je pole argumentu dle typu, viz. PHP dokumentace u funkce _postsOutput()
  • post_type je typ příspěvků (viz type u posts.post níže)
  • plugin_flag je flag plugin příspěvků (je-li aktuálním typem plugin příspěvek)
  • canpost je reference na příznak, zda může uživatel přidávat příspěvky (jinak je zobrazen přihlašovací formulář)
  • locked je reference na příznak, zda je přidávání příspěvků uzamčeno
  • autolast je reference na příznak, zda má být automaticky zobrazena poslední strana z výpisu příspěvků
  • post_link je reference na příznak, zda má být u příspěvků zobrazován odkaz ("permalink")
  • posts_per_page je reference na číslo, které určuje počet příspěvků na stranu
  • sql_desc je reference na SQL fragment, který určuje způsob řazení ("DESC " nebo "")
  • sql_ordercol je reference na název sloupce dle kterého se příspěvky řadí
  • sql_countcond je reference na SQL fragment, který určuje podmínku pro zjištění počtu příspěvků pro stránkování
  • callback je reference na callback, který může nahradit výchozí způsob vykreslování příspěvků; tomuto callbacku je při volání předáno následující pole s argumenty:
    • item - pole s daty příspěvku
    • avatar - html kód s avatarem nebo null
    • author - html kód pro zobrazení autora příspěvku
    • actlinks - html kód s odkazy pro odpověď anebo správu příspěvku
    • page - číslo aktuální strany
    • postlink - příznak, zda má být zobrazen odkaz na příspěvek ("permalink")
    Výstupem callbacku je HTML vykresleného příspěvku.
posts.post příspěvek ve výpisu &item, &avatar, type
  • item je asociativní pole obsahující data příspěvku
  • avatar je kód avataru (null = není)
  • type je typ příspěvku, jeden z:
    • 1 - komentáře sekce
    • 2 - komentáře článku
    • 3 - příspěvky v knize
    • 6 - odpovědi na téma ve fóru
    • 7 - odpověď ve vzkazech
    • 8 - plugin příspěvek
posts.columns sloupce ve výpisu &output
Použití $args['output'] .= ',custom_col';.
posts.submit odeslání příspěvku &allow, posttype, posttarget, xhome, &subject, &text, author, guest
  • allow změnou hodnoty této proměnné na false dojde k zamezení uložení příspěvku
  • posttype typ ukládaného příspěvku:
    • 1 - komentář v sekci
    • 2 - komentář v článku
    • 3 - příspěvek v knize
    • 4 - příspěvek v shoutboxu
    • 5 - příspěvek na fóru
    • 6 - příspěvek ve vzkazech
    • 7 - plugin příspěvek
posts.new nový příspěvek &output, id, posttype
  • id ID nového příspěvku
  • posttype typ nového příspěvku - viz výše

Plugin příspěvky
Napojení pluginu na systém komentářů
IdentifikátorPopisArgumenty
posts.x.validate validace postu home, &valid
  • home je ID domovské položky
  • valid je reference na příznak, zda je home a příspěvek validní (který musí plugin nastavit na true, aby byl příspěvek uložen)
posts.x.edit úprava postu query, &backlink
  • query je asociativní pole obsahující data příspěvku
  • backlink je reference, kterou musí plugin nastavit na zpáteční URL (entity se nepřevedou)

Poznámky

x v názvu události koresponduje s unikátním identifikátorem pluginu - číslo, které si zvolí autor pluginu a které by mělo být dostatečně náhodné (např. crc32 hash názvu pluginu).


Uživatelé
Načítaná data uživatelů a avatary
IdentifikátorPopisArgumenty
user.avatar načtení avataru uživatele &return, udata, path_only, return_null, full_size
  • return je návratová hodnota funkce z výchozí hodnotou false.. její změnou se provede bypass zbytku funkce _getAvatar a použije se jako její návratová hodnota
  • udata je asociativní pole obsahující data uživatele z cache
  • path_only je příznak, zda je požadována pouze cestu namísto html kódu obrázku
  • return_null je příznak, zda je třeba vrátit null pokud uživatel nemá avatar namísto výchozího avataru
  • full_size je přiznak, zda je požadovaná plná velikost avataru (96px šířka)
user.cache.init inicializace cache &extend

extend je pole obsahující rozšíření základní cache, formát položky pole je:

array(
    array('x.sloupec1', ...),
    'LEFT JOIN x ON()'
)
  • klíč s joinem je nepovinný
  • v sql dotazu jsou použity aliasy:
    • g pro skupinu uživatele
    • u pro uživatele
user.new po vytvoření uživatele id, username

Tato událost je volána při registraci nebo vytvoření uživatele v administraci.

user.edit po úpravě uživatele id, username

Tato událost je volána v modulu uživatelské nastavení nebo při editaci uživatele v administraci.

user.delete před ostraněním uživatele id, username, &allow
  • id je ID uživatele
  • username je uživatelské jméno daného uživatele
  • allow je příznak, zda je povoleno uživatele odstranit (výchozí je true); při nastavení na false dojde k zamezení odstranění uživatele

Administrace
Události modulů administrace
IdentifikátorPopisArgumenty
admin.start spuštění administrace -

Tato událost je vyvolána hned po inicializaci administrace, ještě před admin.init a i když není uživatel přihlášen.

admin.init inicializace administrace &menu, &modules
Tato událost je vyvolána po inicializaci administrace a přihlášení uživatele.
  • menu je pole obsahující identifikátory modulů v hlavním menu
  • modules je asociativní pole obsahující mapování modulů administrace, formát položky je:
    'modul' => array(0-titulek, 1-prava ke vstupu, 2-nadrazeny modul, 3-podrazene moduly, [4-vlastni titulek a zpetny odkaz?], [5-je to plugin?])
admin.mod.init před načtením jakéhokoliv modulu &output, extra[name], extra[&file]
  • name je identifikátor modulu
  • file je cesta ke skriptu modulu (lze přepsat)
admin.mod.x.pre před načtením konkrétního modulu &output, extra[name], extra[&file]
  • x v názvu události je název daného modulu
  • name je identifikátor modulu
  • file je cesta ke skriptu modulu (lze přepsat)
admin.mod.x.post po provedení konkrétního modulu &output

x v názvu události je název daného modulu

admin.mod.post po provedení modulu &output
admin.content.links odkazy ve správě obsahu &links

links je reference na pole, do kterého lze vložit nové položky jako HTML kód libovolného odkazu

admin.fman.userdir uživatelský adresář &subpath

subpath je reference na řetězec, který je přidán na konec cesty k upload adresáři - musí končit lomítkem a neměl by obsahovat .. apod.. například "adresare_uzivatelu/"._loginname."/"

admin.root.new vytvoření stránky id, query
admin.root.default výchozí data stránky &data
admin.root.edit úprava stránky id, query
admin.root.delete smazání stránky id, query
admin.root.actions akce stránky item, &extra_actions
  • item je pole s daty dané stránky
  • extra_actions je reference na HTML řetězec, kam lze přidat vlastní kód
admin.root.item výpis stránky &output, item, denied, extra_actions, class
  • output je reference na výstup výpisu dané položky (řádek tabulky), nastavením na false lze položku skrýt, vložením vlastního HTML kódu se nahradí výchozí výpis
  • item je pole s daty dané stránky
  • extra_actions je HTML řetězec, kde může být kód individuálních akcí
  • class je HTML řetězec obsahující mezeru a class atribut
admin.gallery.picture obrázek galerie &opts

opts je reference na pole argumentů pro funkci _pictureProcess()

admin.article.new vytvoření článku id, data
admin.article.default výchozí data článku &data
admin.article.edit úprava článku id, data
admin.article.delete smazání článku id
admin.article.picture obrázek článku &opts

opts je reference na pole argumentů pro funkci _pictureProcess()


Systém
Systémové události
IdentifikátorPopisArgumenty
sys.init po inicializaci systému -
sys.jslib JS knihovny &output, &paths

paths je reference na pole, které obsahuje seznam cest k JS knihovnám, který je možné doplnit anebo upravit

sys.mail odeslání e-mailu &handled, to, subject, message, headers
  • handled je příznak, který je třeba nastavit na true aby nedošlo k odeslání e-mailu pomocí funkce mail()
  • to, subject, message, headers jsou původní argumenty funkce _mail() (subject není nijak zpracován)
sys.form systémový formulář id, vars, &notitle, &content
  • id typ formuláře - login, notpublic, postform
  • vars parametry pro sestavení formuláře, viz. popis funkce _uniForm()
  • notitle potlačení titulku
  • content vlastní výstup - přetížení výchozího vykreslení formuláře
sys.form.login přihlašovací formulář &call

call sestavené argumenty pro volání _formOutput()

sys.form.postform formulář příspěvku / komentáře &call, vars
  • call sestavené argumenty pro volání _formOutput()
  • vars parametry pro sestavení formuláře, viz. popis funkce _uniForm()
sys.form.output vykreslení formuláře &output, &name, &action, &cells, &check, &submittext, &codenexttosubmit
  • name název formuláře (použito v HTML atributu name)
  • action cíl formuláře (URL)
  • cells řádky formuláře (viz popis funkce _formOutput())
  • check seznam názvu polí, která mají být před odesláním zkontrolována JavaScriptem
  • submittext popisek tlačítka pro odeslání (null = výchozí)
  • codenexttosubmit HTML kód, který bude umístěn za odesílací tlačítko
sys.captcha.init inicializace CAPTCHy &output

Tato událost je vyvolána při inicializaci formulářového řádku s CAPTCHou. Změnou argumentu output lze nahradit výchozí implementaci - viz funkce _captchaInit().

sys.captcha.check kontrola CAPTCHy &output

Tato událost je vyvolána při kontrole správnosti kontrolního kódu. Změnou argumentu output (na true nebo false) lze nahradit výchozí implementaci - viz funkce _captchaCheck().

sys.captcha.check.post po kontrole CAPTCHy &output

Tato událost je vyvolána po kontrole správnosti kontrolního kódu. Změnou argumentu output (na true nebo false) lze nahradit již připravený výstup funkce _captchaCheck().

sys.captcha.render vykreslení CAPTCHy -

Tato událost je vyvolána při vykreslení obrázku v cimage.php.

sys.captcha.render.matrix vykreslení CAPTCHy -

Tato událost je vyvolána před vykreslením podkladu pro 3D captchu v cimage.php.

sys.cron spuštění cronu last, name, seconds, delay

Tato událost je vyvolána dojde-li ke spuštění cronu pro jakýkoliv interval.

  • last je timestamp posledního spuštění
  • name je název vyvolaného intervalu (viz níže)
  • seconds je počet sekund daného intervalu
  • delay je rozdíl mezi časem naplánovaného a skutečného spuštění
sys.cron.x spuštění cronu last, name, seconds, delay

Tato událost je vyvolána dojde-li ke spuštění cronu pro konkrétní interval.

x v názvu události může být jedna z následujících hodnot:

  • 1m
  • 2m
  • 5m
  • 10m
  • 15m
  • 30m
  • 1h
  • 2h
  • 5h
  • 12h
  • 24h
  • maintenance (interval údržby z nastavení systému, výchozí je 3 dny)
sys.thumb.resize změna velikosti miniatury &options

options - je pole s parametry pro funkci _pictureResize()

sys.thumb.process zpracování miniatury &options

options - je pole s parametry pro funkci _pictureProcess()


HCM
Události systému HCM modulů
IdentifikátorPopisArgumenty
hcm.filter.php filtrování HCM modulů pro uživatele nemající oprávnění spouštět PHP kód &filter
Argument filter je pole obsahující názvy HCM modulů, které se mají odfiltrovat.


Struktura pluginu

Každý extend plugin sestává z následujících položek:

  • adresář plugins/extend/xxx/ (kde xxx je název pluginu)
  • soubor plugins/extend/xxx/xxx.php (kde xxx je také název pluginu)

Skripty pluginu

Hlavní skript pluginu (plugins/extend/xxx/xxx.php) má za úkol zaregistrovat své funkce, které budou zavolány v případě, že nastane daná systémová událost (seznam je výše). Tato registrace se provádí pomocí funkce _extend().

<?php

/* ----  kontrola jadra  ---- */
if (!defined('_core')) die;


/* ---- funkce pluginu ---- */

/**
 * [TEST PLUGIN] Ukazkova funkce
 * @param array $args
 */
function _plugin_test_udalost($args)
{

  
$args['output'] .= '<p>Výstup ukázkové funkce při události <code>tpl.content.before</code>';

}


/* ---- registrace pluginu ---- */

_extend('reg''tpl.content.before''_plugin_test_udalost');

  • argument $args je asociativní pole předané zaregistrované funkci a obsahuje argumenty popsané v seznamu výše
  • funkce má možnost vrátit false, čímž ukončí zpracování dané události (další případné zaregistrované pluginy nebudou volány)
  • pokud by měl registrační skript obsahovat delší skripty a k události nedochazí téměř na každé stránce, je doporučeno tyto skripty přesunout do zvláštních souborů a ve funkcích je poté spouštět pomocí include nebo require

Omezení načítání pluginu

Cesta k pluginu může být pojmenována speciálně. Hodí se pro pluginy, které by se načítaly zbytečně v jednom či druhém prostředí.

  • plugins/extend/admin.xxx/xxx.php - plugin načítaný pouze v administraci (admin/index.php)
  • plugins/extend/web.xxx/xxx.php - plugin načítaný pouze na webu (index.php)