WebToDate/Poradny a rozhovory/Reference

Z WebToDate
Verze z 8. 4. 2010, 10:50, kterou vytvořil Vitas (diskuse | příspěvky) (přidána doplňující informace o problému při použití parametru id ve formě skrytého pole)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaciSkočit na vyhledávání

Administrační rozhraní

Nabídka modulu

Nabídka modulu vypadá následovně:

Nástroje

Nový dotaz
Vyhledávání

Nastavení

Seznam předpisů
Globální
Seznam poraden
Vyhledávání
Navigační lišta
Filtr slov
Odpověď – e-mail
Odmítnutí přístupu
Předpisy
název předpisu
Úvodní stránka
Seznam dotazů
Detail
Nový dotaz

Administrace

Předvolby
Údaje
Práva
Poradny
Kategorie
Antispamové profily

Data

Poradny
Zvolit poradnu
Vybraná poradna
Zakázané IP adresy

K administrační části modulu mají přístup pouze administrátoři WebToDate. Výjimkou je sekce Data nabídky, kterou lze zpřístupnit i jiným týmům pomocí funkce Práva.

Poradny: Položka Poradny je umístěna v nabídce dle přístupových práv.Je-li uživatel členem týmu Administrátoři, je položka Poradny v sekci Administrace nabídky. Je-li modul přepnut v předvolbách na Zjednodušená práva a uživatel je přihlášen jako editor jiného týmu spravujícího poradny, je položka Poradny v sekci Data nabídky modulu.

Nástroje

Funkce Nástroje obsahuje možnosti generování vybraných formulářů jako fragmentů, kde v těle fragmentu je výchozí HTML kód s vhodnými klíčovými slovy, který lze způsobem vyžadovaným grafickým designem prezentace upravit a pak použít pro přípravu předloh.

Jedná se o následující nástroje:

  • Nový dotaz – vygeneruje fragment obsahující HTML kód formuláře pro vkládání nových příspěvků; výsledek je závislý na aktuálním nastavení formuláře Údaje, do HTML kódu se generují jen ta vstupní pole, která jsou označena jako používaná.
  • Vyhledávání – generuje HTML kód vyhledávacího formuláře pro prohledávání poraden (textová vyhledávací podmínka, výběr prohledávané poradny apod.)

Administrace

Předvolby

Ve formuláři Předvolby se nastavují některé základní údaje definující chování celého modulu. Tento formulář je vhodné nastavit co nejdříve po instalaci modulu.

Je-li zaškrtnuta volba Odesílat nové dotazy e-mailem, odesílá se ve chvíli vložení nového dotazu do databáze z veřejné části webové prezentace e-mail s tímto dotazem na adresu správce dané poradny. Funkce pro odeslání e-mailu se spouští pouze v případě, že

  1. je vyplněna e-mailová adresa pro danou poradnu ve formuláři AdministracePoradny
  2. je nakonfigurována předloha a další parametry tohoto e-mailu ve formuláři NastaveníGlobálníOdpověď – e-mail.

Je-li zaškrtnuta volba Odesílat odpověď e-mailem, odesílá se odpověď na adresu tazatele ve chvíli, kdy se použije ve formuláři pro editaci dotazu v administračním rozhraní modulu tlačítko Zodpovědět. Podmínkou pro spuštění této funkce je navíc opět to, aby parametry těchto e-mailů byly nakonfigurovány ve formuláři NastaveníGlobálníOdpověď – e-mail.

Volba Automatické formátování nastavená na zaškrtnuto znamená, že se při zobrazování textů otázek a odpovědí (klíčové slovo <!--WTD_ADVICE(QUESTION)--> a <!--WTD_ADVICE(QUESTION)-->) nahrazují konce odstavů stejným způsobem, jako tomu je při zapnutém automatickém formátování u těla zpráv.

Volba Práva definuje režim modulu z hlediska přístupových práv ke správě dat modulu, s volbou je spojen i interface, který se pro správu obsahu poraden používá.

Pokud je radiopřepínač Práva v předvolbách nastaven na Standardní práva, znamená to, že

  • Funkce Poradny (tj. administrace seznamu poraden) je pouze v části nabídky Administrace modulu
  • Funkce Administrace - Práva je v hlavní nabídce modulu
  • Seznam poraden může spravovat pouze administrátor, který pak v nabídce Administrace - Práva může nastavit, který tým spravuje obsah které poradny.

Pokud je radiopřepínač Práva v předvolbách nastaven na Zjednodušená práva, je třeba pomocí tlačítka Tým vybrat, který tým spravuje data modulu. Pak to znamená, že

  • Pokud je přihlášený uživatel členem týmu Administrátoři, má k dispozici nabídku Administrace - Poradny, pomocí které spravuje seznam poraden.
  • Pokud je přihlášený uživatel členem týmu, který je vybrán v předvolbách modulu v roli Editor, má k dispozici nabídku Data - Poradny, která vypisuje to samé co Administrace - Poradny, tj. lze kompletně spravovat seznam poraden.
  • Nabídka Administrace - Práva při této volbě vůbec není k dispozici.
  • Pokud je přihlášený uživatel členem týmu, který je vybrán v předvolbách modulu v roli Editor nebo Redaktor, má možnost spravovat obsah všech poraden, tj. má přístup k dalším funkcím v sekci Data nabídky.

Výsledkem tedy v tomto zjednodušeném režimu je, že sekce Administrace nabídky je určena pouze administrátorům, sekce Data je v tomto režimu přístupná jednomu vybranému týmu a editoři tohoto týmu mají oproti redaktorům jednu položku v sekci Data navíc (tj. položku Poradny, pomocí níž spravují seznam poraden).

Údaje

Pomocí formuláře Údaje se nastavuje, které možné vstupní prvky jsou součástí vstupních formulářů pro zadávání nových dotazů a které z nich je povinné vyplnit. Tato volba je globální pro všechny poradny.

Jedná se o následující možná pole

  • FIRSTNAME – křesní jméno
  • LASTNAME – příjmení
  • NICKNAME – přezdívka
  • EMAIL – e-mailová adresa
  • QUESTION – otázka
  • NAME – název otázky (nadpis)
  • PRIVATE – označení otázky jako privátní, tj. tazatel žádá o nezveřejnění odpovědi na veřejné části webové prezentace

Všechna pole se generují do HTML kódu vstupního formuláře jako textová pole s výjimkou QUESTION (zaškrtávací okénko).

V každém řádku je možné nastavit:

  • Popis – popisek generovaný do vstupního formuláře
  • Aktivní – zda se do pole zapisuje
  • Povinný – zda je vyžadováno povinné vyplnění

Při manipulaci s tímto formuláře je třeba si uvědomit, že zpětné změny nemají vliv na jednou vygenerované vstupní formuláře, ale ovlivňují dotazy, které jsou vkládány. Např. deaktivace pole NICKNAME znamená, že do tohoto pole nebude při vložení nového dotazu nikdy zapisováno, neznamená to ale, že automaticky zmizí ze vstupního formuláře, pokud již takový existuje. Vstupní formulář je v případě potřeby změny třeba upravit ručně nebo jej znovu vygenerovat jako fragment a nahradit jím ten původní.


Práva

Pomocí funkce Práva se způsobem obvyklým ve všech modulech WebToDate nastavují práva pro přístup k datům modulu. V levém seznamu se zobrazuje seznam poraden, v prostředním poli se nastavují týmy uživatelů, které mají přístup k datům vybrané poradny.

Poznámka: můžete využít toho, že uživatel WebToDate může být členem více týmů. Lze tedy např. vytvořit tým speciálně pro účely správy poradny a do něj přidat vybrané uživatele v roli Redaktor.


Poradny

Pomocí položky Poradny v sekci Administrace nabídky se zakládají nové poradny a nastavují jejich základní vlastnosti. Stejná funkce se nabízí editorům zvoleného týmu v případě, že je radiopřepínač Práva v předvolbách nastaven na Zjednodušená práva.


V pravém horním rámci se zobrazuje seznam poraden. Seznam obsahuje název poradny a popis a dále sloupec Změněno, který vyznačuje,kdy naposledy se změnil obsah poradny (např. kdy byl naposledy zodpovězen či editován nějaký dotaz.). Klepnutím na popisek sloupce ID, Název nebo Změněno se seznam přetřídí podle tohoto sloupce, výchozí třídění seznamu je podle ID poradny sestupně. Klepnutím na Vyhledat se zobrazí formuláře pro vyhledávání v seznamu poraden, do textového pole se zadává text, který se hledá v názvu i popisu poraden.


Klepnutím na název poradny se v pravém spodním rámci zobrazí formulář pro nastavení vlastností poradny.

Ve formuláři se nastavují následující vlastnosti:

  • Název – povinně se vyplňuje název poradny
  • Popis – nepovinně je možné doplnit další textový popis, který pak lze zobrazovat např. na výchozí stránce poradny
  • E-mail – jedná se o e-mailovou adresu, na kterou jsou eventuálně zasílány nové dotazy vložené do této poradny z veřejné části webové prezentace
  • Data jsou přístupná pro čtení - určuje, kteří uživatelé mohou zobrazovat data (seznamy a detaily dotazů) dané poradny. Možné volby jsou Nikomu / Všem / Registrovaným.
  • Vkládat data mohou - určuje, kteří uživatelé mohou do poradny vkládat nové dotazy. Možné volby jsou Nikdo / Všichni / Registrovaní.
  • Přihlašovací režim – definuje, kteří návštěvníci webové prezentace mají do dané poradny přístup a jak se zpracovávají jejich údaje
  • Předpis – předpis je připravená sada nastavení týkajících se zejména formátovacích funkcí prezentace. Všechny stránky týkající se dané poradny jsou formátovány pomocí nastavení daných ve vybraném předpisu. Více o předpisech je uvedeno v kapitole Nastavení.
  • Jazyk – u vícejazyčných www prezentací lze vybrat jazyk, který se v dané poradně používá

Dále se ve formuláři zobrazuje bez možnosti změny celkový počet dotazů v poradně a datum a čas poslední modifikace obsahu poradny.

Speciální možností pro tvorbu stránek s poradnami, které v popisu obsahují bohaté formátování včetně např. obrázků apod. je funkce Vložit zprávu vedle pole Popis. Tato funkce zobrazí dialogové okno pro výběr zprávy / zdroje / fragmentu z databáze WebToDate.

Dialogové okno se obsluhuje podobně jako vyhledávání ve zprávách WebToDate. Základní rozdíl je v tom, že šipka v levém sloupci seznamu zpráv vkládá do textového pole s popisem klíčové slovo typu <!--WTD_NEWS(xxx)-->, za které se pak při zobrazení akce dosazuje kompletní zobrazení zprávy / zdroje / fragmentu jako kdyby byl zobrazován přes prezentační skript /scripts/detail.php WebToDate.

Aby byla tato funkce využitelná, je tedy třeba:

  • Vytvořit předlohu pro zprávy, která ze zpráv používaných k tomuto účelu zobrazuje jen žádoucí pole (např. jen tělo zprávy), nemá smysl, aby předloha zobrazovala navigační elementy a další prvky layoutu celého webu.
  • Zvolit pro ukládání takových zpráv vhodnou kategorii ve stromu kategorií, která nebude fulltextově prohledávaná.

Pole pro popis poradny pak může obsahovat buď jen jednu, nebo několik značek typu <!--WTD_NEWS(xxx)-->, nebo jen prostý text s popisem, nebo kombinaci obojího. I když do popisu lze ručně vkládat HTML formátování, při potřebě složitějšího bohatě formátovaného textu zobrazujícího se ve stránce s akcí je vhodnější využít tuto funkci Vložit zprávu.

Nastavení Data jsou přístupná pro čtení se vztahuje na následující skripty:

  • questionlist.php (výpis seznamu dotazů)
  • detail.php (detail jednoho dotazu)

To znamená, že pokud je např. zvoleno Registrovaným, vyžadují tyto dvě stránky pro danou poradnu přihlášení, pokud je zvoleno Nikomu, nelze pro danou poradnu tyto dvě stránky zobrazit apod. Nastavení se nevztahuje na skripty default.php (seznam poraden) a firstpage.php (úvodní stránka poradny), tyto dvě stránky mohou vždy zobrazit všichni anonymní uživatelé.

Nastavení Vkládat data mohou se vztahuje na skript newquestion.php (vložení nového dotazu). Pokud je např. zvoleno Registrovaní, je pro vstup na tuto stránku vyžadováno přihlášení, pokud je zvoleno Nikdo, nelze tuto stránku vůbec zobrazit apod. Kontrola se provádí vždy. To znamená, že i když se vloží formulář pro vložení dotazu začínající kódem

<form action="/scripts/modules/advice/newquestion.php" method="post">

kamkoli (tj. jinam než na předlohu pro stránku pro vložení nového dotazu) a je nastaveno např. Nikdo, nelze žádný dotaz do poradny vložit apod.

Pokud se uživatel pokouší zobrazit stránku, ke které nemá přístup, zobrazí se stránka typu odmítnutí přístupu.

Možnosti nastavení hodnoty Přihlašovací režim jsou následující:

  • Anonymní uživatelé – přístup do poradny je povolen všem anonymním uživatelům. S uživatelskými údaji (s e-mailovou adresou, přezdívkou apod.) se nijak aktivně nepracuje.
  • Rozpoznávat anonymní uživatele – poradna je přístupná všem anonymním uživatelům. S uživatelskými údaji se pracuje aktivně. To znamená, že pokud již v nějakém modulu uživatel zadal např. e-mailovou adresu, je mu předvyplněna (za klíčové slovo <!--WTD_USER(EMAIL)--> ve formuláři pro vložení nového dotazu), naopak když ji zde zadá, je uložena do záznamu anonymního uživatele v databázi.
  • Rozpoznávat registrované uživatele – poradna je povolena pouze registrovaným uživatelům. Pokud je uživatel registrován a registrace je rozpoznána (pomocí cookies), je automaticky přihlášen, jinak je před vstupem do poradny přesměrován na přihlašovací stránku modulu Registrace a personalizace.
  • Vyžadovat přihlášení vždy – poradna je povolena pouze registrovaným uživatelům. Je vyžadováno přihlášení k modulu Registrace a personalizace, pokud není (v rámci session) uživatel přihlášen, je přesměrován na přihlašovací stránku.

Poslední dva režimy se v předvolbách zobrazují, jen pokud je modul Registrace a personalizace instalován.

Kategorie

Poslední položkou nabídky Administrace je položka Kategorie, která slouží k definici seznamu kategorií v jednotlivých poradnách. Každá poradna může mít vlastní kategorie, kategorie v poradnách jsou nepovinné, pokud se používají, nelze jednu kategorii sdílet mezi více poradnami.

Seznam kategorií dané poradny lze měnit jen, když je vybrána nějaká poradna v uživatelské session. Pokud tomu tak není, objeví se v pravém horním rámci text

Po klepnutí na zvolit se zobrazí seznam poraden, klikem na název poradny se daná poradna vybírá. Teprve pak je možné zobrazit seznam kategorií vybrané poradny.

V pravé horní části okna prohlížeče se zobrazuje seznam kategorií zvolené poradny, ve spodním rámci se pak zobrazuje formulář pro úpravu vybrané kategorie.

Kategorií může být v jedné poradně libovolný počet. Přidávat kategorie lze bez omezení, mazat jen pokud již kategorie není použita. Stejně tak lze změnit poradnu, ve které má kategorie figurovat jen pokud ještě do dané kategorie nejsou zařazeny nějaké dotazy. Přejmenovat kategorii lze vždy.

Zařazení dotazu do kategorie se provádí ve formuláři pro úpravy dotazu. Tento úkon může provádět pouze uživatel editující dotaz v administračním rozhraní modulu, do kategorií nemohou dotazy řadit uživatelé vkládající dotaz z veřejné části webové prezentace.

Antispamové profily

V nabídce Antispamové profily se definují nastavení ochrany proti formulářovému spamu. Antispamový profil je pojmenovaná sada nastavení, pomocí kterých se vybírá, jaký typ ochrany se pro vkládání dotazů aplikuje. Na úrovni definice poradny se pak vybírá odpovídající profil, který daná poradna použije. Všechny poradny mohou využívat stejný profil nebo je možné nadefinovat více profilů a ty pak nastavit u různých poraden dle potřeby.

V horní části okna prohlížeče je seznam profilů, klepnutím na název profilu se zobrazí formulář pro definici profilu.

Přidávat profily a měnit jejich nastavení je možné bez omezení, smazat profil lze jen když není použit u nějaké poradny.

V následující tabulce je stručně uveden význam jednotlivých voleb, problematice spamu je věnována samostatná kapitola Ochrana proti spamu.

Položka Význam Kroky potřebné pro implementaci
Kontrola URL volající stránky Pomocí http referer se kontroluje, že skript pro vložení dotazu je volán z formuláře zobrazovaného pomocí tohoto modulu na daném serveru. Pokud se cizí aplikace pokouší přímo přes http protokol vložit příspěvek (nevyplňuje formulář na serveru), je příspěvek detekován jako spam. Kontrola nevyžaduje žádné další kroky.
Formulářová návnada Do pole Názvy polí formuláře se zadá jeden nebo několik názvů HTML polí ve vstupním formuláři (názvy se oddělují středníkem). Kontrola zjišťuje, jestli některé z těchto polí není čímkoli vyplněno, pokud zjistí, že některé pole má hodnotu, je příspěvek označen za spam. Kontrola vyžaduje vložení jednoho nebo několika formulářových polí do HTML kódu vstupního formuláře pro zadávání nových dotazů. Pole musí být skryta před uživatelem (jako typ hidden či pomocí CSS). Člověk pak takové pole nevyplňuje, spamovací robot jej může vyplnit.
Seznam zakázaných IP adres Při vložení se kontroluje, zda IP adresa, ze které dotaz přichází, není na seznamu zakázaných adres. Pokud tomu tak je, je položka označena za spam. Nevyžaduje žádné změny v prezentaci, ale vyžaduje zadání zakázaných IP adres pomocí funkce Data - Zakázané IP adresy nebo vložením IP adresy přímo z formuláře pro úpravu dotazu.
Vyhledávání spamu podle obsahu příspěvků V textu příspěvků se před vložením vyhledávají slova zadaná ve funkci Filtr slov s volbou Spam. Nevyžaduje žádné změny v prezentaci, ale vyžaduje naplnění seznamu nežádoucích výrazů pomocí funkce Filtr slov.
Opisování kontrolních kódů Uživateli jsou generovány do stránky kontrolní kódy, které musí opsat do daného textového pole. Lze navolit parametry kontrolních kódů - délku, zda se jedná o číslice či písmena apod. Vyžaduje do HTML kódu vstupního formuláře doplnění několika vstupních polí a klíčových slov modulu, aby bylo zajištěno zobrazení kontrolních kódů a zobrazilo se vstupní pole pro jejich opsání.

Nastavení

V této sekci nabídky se nastavuje grafický vzhled a chování všech veřejně přístupných stránek modulu.

Pro poradny se podobně jako pro některé další moduly používají tzv. předpisy. Předpis je sada grafických a případně i funkčních nastavení, který se může týkat více různých typů stránek najednou. V tomto modulu každý definovaný předpis reprezentuje jednu sadu grafických nastavení pro poradnu. V jednom předpisu lze nadefinovat zobrazování stránek typu úvodní stránka poradny – samostatný výpis seznamu dotazů – detail jednoho dotazu – vložení nového dotazu. Všechny poradny pak mohou používat jeden předpis, nebo (pokud se zobrazují graficky odlišně) používat několik různých předpisů.

Seznam předpisů

Předpis se zakládá pomocí funkce Seznam předpisů. Ve formuláři se vyplňuje pouze název, který lze volit dle potřeby. Existující předpis lze libovolně přejmenovávat, smazat jen v případě, že není někde (u nějaké poradny) použit.


Globální nastavení

V této části nabídky je jako první sekce Globální – tato sekce sdružuje nastavení, která jsou společná pro všechny poradny.

Seznam poraden

Pomocí formuláře Seznam poraden se nastavuje zobrazení stránky vypisující seznam všech založených poraden (/scripts/modules/advice/default.php).

Zde se povinně vybírá Předloha (šablona pro stránku /scripts/modules/advice/default.php) a Styl seznamu poraden, který definuje formátování seznamu těchto poraden. Počet záznamů poraden na jednu stránku se specifikuje v poli Počet záznamů na str. Dále lze zvolit třídění tohoto seznamu:

  • Podle abecedy – seznam je tříděn podle názvu poradny
  • Podle data poslední aktualizace – seznam je tříděn podle data poslední změny v obsahu poradny, takže poradny, ve kterých se v poslední době měnil obsah, jsou na začátku seznamu.

V nastavené předloze je seznam poraden reprezentován klíčovým slovem <!--WTD_ADVICE(LIST)-->.

Tuto stránku je výhodné nadefinovat, pokud se na serveru provozuje několik poraden. Je-li vytvořena jen jedna poradna, lze do ní vstoupit rovnou pomocí úvodní stránky poradny /scripts/modules/advice/firstpage.php?id=xxx a definice seznamu poraden není potřebná.


Vyhledávání

Pomocí formuláře Vyhledávání lze nastavit vyhledávací stránku pro tento modul (/scripts/modules/advice/fulltxt.php).

Opět se nastavuje předloha, styl seznamu nalezených položek a počet záznamů na stránku. Kromě toho je vhodné nadefinovat Uvozující nadpis výpisu, který umožňuje zobrazit text informující o tom, jaká část výsledku vyhledávání se právě ve stránce nachází ("Dotazy 1 až 5 z 15:"). Seznam nalezených položek je v předloze pro stránku reprezentován klíčovým slovem <!--WTD_ADVICE(ITEMSLIST)-->, uvozující nadpis klíčovým slovem <!--WTD_ADVICE(LABEL)--> a navigační stránkovací lišta klíčovým slovem <!--WTD_ADVICE(NAVIG)-->. Dále pak je ve stránce zpravidla obvyklý vyhledávací formulář s klíčovými slovy jako <!--WTD_ADVICE(SEARCHTEXT)--> apod. .; jednoduchý formulář tohoto typu se vygeneruje pomocí funkce NástrojeVyhledávání. Pokud není třeba v rámci dané implementace možnost prohledávání poraden zpřístupnit, nemusí se tato stránka vůbec nastavovat.


Navigační lišta

Ve formuláři Navigační lišta je definován vzhled lišty, která je používána pro stránkování seznamů položek.

Grafický vzhled jednotlivých prvků navigační lišty se definuje pomocí následujících polí:

  1. Předchozí – HTML kód určující formátování odkazu pro přechod na předcházející stránku
  2. Následující – HTML kód určující formátování odkazu pro přechod na další stránku
  3. Hlavička – HTML kód který je umístěn na počátku výsledného kódu navigační lišty
  4. Patička – HTML kód který je umístěn na konci výsledného kódu navigační lišty
  5. Číslo stránky – formátování jednotlivých čísel stránky, které umožní odkliknutí na zvolenou stránku
  6. Aktivní stránka – formátování údaje o čísle aktuální stránky
  7. Separátor – oddělovač mezi jednotlivými čísly stránek.
  8. Počet stránek určuje maximální počet čísel stránek v navigační liště a tím nepřímo ovlivňuje i její šířku.

Pro správnou funkci navigační lišty je nutné do výše popsaných polí zadávat i klíčová slova<!--WTD_NAVIG(URL)--> a <!--WTD_NAVIG(NUMBER)-->.

Jejich použití je zřejmé z následujícího jednoduchého příkladu:

Definici navigační lišty je třeba po instalaci každého modulu v instalovaném modulu uložit – výchozí hodnoty se po instalaci v databázi nenacházejí a bez uložení se pak navigační lišta na žádné stránce nezobrazí.

Navigační lišta je pak v předloze pro zobrazení seznamu diskuzních příspěvků reprezentována klíčovým slovem <!--WTD_ADVICE(NAVIG)-->.

Filtr slov

Funkce Filtr slov umožňuje definovat slovník nevhodných výrazů. V horním seznamu se zobrazují slova seřazená podle abecedy, ve spodním rámci se zobrazuje editační formulář.

Ve slovech lze používat hvězdičku jako zástupný znak pro více libovolných písmen.

Součástí definice filtrovaného výrazu jsou i příznaky, zda výraz použít při filtraci nežádoucích výrazů a při detekci spamu.

Výrazy označené pro použití při detekci spamu se použijí jen v případě, že v anitspamovém profilu, který používá daná diskuze, je zvolena možnost Vyhledávání spamu podle obsahu příspěvků.

Odpověď e-mailem

Formulář Odpověď - E-mail slouží k nastavení parametrů odesílání e-mailů modulem. Může se jednat o dva druhy e-mailů:

  • E-mail odesílaný správci poradny ve chvíli vložení nového dotazu z veřejné části www prezentace
  • E-mail odesílaný tazateli ve chvíli zodpovězení dotazu.

První tři pole formuláře definují druhý případ, tedy odeslání e-mailu tazateli, druhé tři položky definují e-maily správci (moderátorovi) poradny.

V obou případech se definuje:

  • Formát e-mailu (text / HTML)
  • Předloha pro e-maily
  • Předmět e-mailu

V prvním řádku se navíc definuje e-mailová adresa odesílatele, která je pro obě funkce společná.

Předloha e-mailů pro správce poradny může mít (pro formát text) např. zhruba následující kód:

V poradně je nový dotaz.
Přidělené ID dotazu: <!--WTD_ADVICE(ID)-->
Název dotazu: <!--WTD_ADVICE(NAME)-->
Text dotazu: <!--WTD_ADVICE(QUESTION)-->
Datum vložení dotazu: <!--WTD_ADVICE(DATE_QUESTION)-->

Odmítnutí přístupu

Formulář Odmítnutí přístupu se používá k definici stránek, které se zobrazí v případě, že uživatel nemá k dané funkci přístup.

Nastavují se dvě předlohy:

  • Stránka pro odmítnutí přístupu pro čtení - tato předloha se uživateli zobrazí v případě, že vyvolá URL zobrazující seznam dotazů nebo detail dotazu a přitom je v poradně nastaveno, že tato data se nemají uživateli zobrazovat (např. je ve vlastnostech poradny zvoleno Data jsou přístupná pro čtení: Nikomu.
  • Stránka pro odmítnutí přístupu pro zápis - tato předloha se uživateli zobrazí v případě, že se pokusí o vložení dotazu do poradny a přitom nemá přístup k vkládání dat do poradny, tedy např. v případě, že v poradně je nastaveno Vkládat data mohou: Nikdo.

Pokud je v poradně zapnuta jakákoliv ochrana proti spamu, je třeba nadefinovat, jak se má chovat skript pro vkládání dotazů v případě, že je dotaz označen za spam a do databáze se nevloží. Toto chování definuje volba Je-li příspěvek detekován jako spam. Na výběr jsou následující možnosti:

  • Ukončit běh skriptu - okamžitě se ukončí běh skriptu pro vložení dotazu. Skript vypíše pouze identifikační značku dané metody kontroly spamu.
  • Zobrazit stránku pro vložení příspěvku - znovu se načte formulář pro vložení dotazu do dané poradny.
  • Přesměrovat na zvolenou stránku - přesměruje na stránku, kterou je nutné v případě této volby zvolit, jedná se o libovolnou stránku ze stromu kategorií WebToDate.

Předpisy

V druhé sekci části Nastavení nazvané Předpisy se nastavují jednotlivé předpisy. Pod každým názvem předpisu se zde zobrazují čtyři položky reprezentující čtyři možné způsoby zobrazení dat dané poradny:

  1. Úvodní stránka – nastavení definuje zobrazení úvodní stránky, která typicky obsahuje popis poradny a základní údaje (počet zodpovězených dotazů, čas poslední aktualizace), případně i seznam kategorií poradny.
  2. Seznam dotazů – toto nastavení definuje formátování výpisů seznamů dotazů v poradně.
  3. Detail – nastavení definuje stránku zobrazující jeden vybraný dotaz v poradně, typicky včetně odpovědi a dalších údajů (informace o tazateli, datum vložení a datum zodpovězení apod.).
  4. Nový dotaz – toto nastavení definuje stránku pro vkládání nových dotazů do poradny.

Všechny čtyři typy stránek nemusí být v daném předpisu nastaveny, záleží na konkrétním použití – např. pro předpis sloužící k nastavení nějakého rozhovoru nemá zpravidla smysl definovat stránku pro detail jednoho dotazu (zobrazuje se seznam dotazů včetně odpovědí) apod.


Úvodní stránka

Formulář Úvodní stránka slouží k nastavení zobrazení úvodní stránky poradny; jak může taková stránka vypadat, je naznačeno v kapitole Vytvoření výchozí stránky poradny.

Ve formuláři se nastavuje povinně Předloha (tj. šablona stránky /scripts/modules/advice/firstpage.php?id=xxx), nepovinně pak Styl seznamu kategorií.


Seznam dotazů

Formulář Seznam dotazů definuje zobrazování výpisů seznamů dotazů (tedy stránky /scripts/modules/advice/questionlist.php?id=xxx). Může jít o prostý seznam dotazů, může jít ale i o seznam dotazů včetně odpovědí případně včetně další informací (kdy bylo zodpovězeno, data o tazateli apod.) – co se přesně zobrazuje je dáno formátovacím stylem seznamu dotazů.

Povinně se zde definuje předloha stránky a styl seznamu dotazů, nepovinně pak opět styl pro seznam kategorií. Styl seznamu dotazů může být tříděn podle času (data vložení dotazu) sestupně nebo vzestupně.

V předloze se typicky vyskytují klíčová slova <!--WTD_ADVICE(ITEMSLIST)--> (seznam dotazů) a <!--WTD_ADVICE(NAVIG)--> (navigační stránkovací lišta). Pokud je žádoucí zobrazovat seznam kategorií, používá se v předloze k tomuto účelu klíčové slovo <!--WTD_ADVICE(LISTCATEGORIES)-->.

Styl pro seznam dotazů (jeho tělo) pak může vypadat zhruba následovně:

<tr>
<td><!--WTD_ADVICE(ID)--></td>
<td><a href="<!--WTD_ADVICE(URL)-->"><!--WTD_ADVICE(NAME)--></a></td>
</tr>
<tr>
<td colspan="2">
<em>Zadáno <!--WTD_ADVICE(QDATE)-->, zodpovězeno <!--WTD_ADVICE(ADATE)--><br />
Tazatel <!--WTD_USER(FIRSTNAME)--> <!--WTD_USER(LASTNAME)--> (<!--WTD_USER(NICKNAME)-->) <a href="mailto:<!--WTD_USER(EMAIL)-->"><!--WTD_USER(EMAIL)--></a></em>
</td>
</tr>
<tr><td colspan="2"><strong>Dotaz:</strong><br /><!--WTD_ADVICE(QUESTION)--></td></tr>

Takto definovaný styl zobrazuje název a text dotazu, údaje o tazateli, datum vložení a zodpovězení dotazu a odkaz na detailní stránku zobrazující celý text včetně odpovědi.

Jednoduchý styl seznamu kategorií vypadá např. takto:

<a href="<!--WTD_ADVICE(CATEGORYURL)-->"><!--WTD_ADVICE(CATEGORY)--></a><br />


Detail

Další součástí předpisu je formulář Detail definující stránku zobrazující detail jednoho dotazu (tedy stránku /scripts/modules/advice/detail.php?id=xxx).

Povinně se zde definuje předloha pro tento typ stránek, nepovinně analogicky jako v předchozích případech styl seznamu kategorií.

Následující blok HTML kódu je příkladem části předlohy pro detail dotazu, který zobrazuje název, otázku a odpověď a další informace jako jsou údaje o tazateli, ze které poradny dotaz je, zda se jedná o častý dotaz apod.

<p>
<!--WTD_IF(FREQUENT,"<span style="color:red;">Častý dotaz!</span>")-->
<!--WTD_IF(NOREPLY,"Tento dotaz nebude bohužel zodpovězen.")-->
</p>
<p>
Kategorie dotazu: <!--WTD_ADVICE(CATEGORY)--><!--WTD_IF(ITEMNOTFOUND,"Tento dotaz nespadá do žádné kategorie.")-->
</p>
<table border="0" cellspacing="0" cellpadding="6" style="border:1px solid black;">
<tr><td colspan="2" bgcolor="#efefef"><strong><!--WTD_ADVICE(NAME)--></strong></td></tr>
<tr><td>Dotaz</td><td><!--WTD_ADVICE(QUESTION)--></td></tr>
<tr><td>Odpověď</td><td><!--WTD_ADVICE(ANSWER)--> </td></tr>
<tr><td>Čas</td><td>Vloženo <!--WTD_ADVICE(QDATE)-->, zodpovězeno <!--WTD_ADVICE(ADATE)-->, poslední modifikace <!--WTD_ADVICE(LASTUPDATE)--></td></tr>
<tr><td>Tazatel</td><td><!--WTD_USER(FIRSTNAME)--> <!--WTD_USER(LASTNAME)--> (<!--WTD_USER(EMAIL)-->)</td></tr>
</table>
<p>Tento dotaz je z poradny <strong><a href="<!--WTD_ADVICE(AURL)--> "><!--WTD_ADVICE(ANAME)--></a></strong></p>


Nový dotaz

Poslední částí předpisu je nastavení stránky pro Nový dotaz, v tomto formuláři se vybírá pouze předloha stránky (/scripts/modules/advice/newquestion.php?id=xxx, kde xxx je ID poradny).

HTML kód části předlohy použitelný pro formulář pro vkládání nových dotazů se nejjednodušeji získá vygenerováním fragmentu pomocí funkce NástrojeNový dotaz.

Data

V sekci Data nabídky modulu lze spravovat obsah jednotlivých poraden – dotazy lze zodpovídat, dodatečně editovat i mazat.

Poradny

V případě, že uživatel je přihlášen jako editoru týmu, který spravuje obsah poraden a v předvolbách je zvoleno Zjednodušená práva, je v této nabídce položka Poradny, ta funguje stejně jako analogická nabídka v sekci Administrace pro administrátory.

Dále je logika ovládání následující:

  1. Pomocí nabídky Zvolit poradnu se zvolí, se kterou poradnou se pracuje
  2. Pomocí nabídky Vybraná poradna se pracuje se seznamem dotazů v dané poradně
  3. Pokud chceme pracovat s dotazy v jiné poradně, použije opět funkci Zvolit poradnu a vybereme jinou poradnu.

Zvolení poradny

Funkce Zvolit poradnu vypisuje seznam poraden, klepnutím na název poradny se daná poradna zvolí. Po zvolení modul v pravém horním rámci rovnou přechází na zobrazení seznamu dotazů ve zvolené poradně.


Vybraná poradna

Seznam dotazů v poradně se vyvolává pomocí funkce Vybraná poradna. Pokud není ještě žádná poradna vybrána, nabídne se poradna k výběru. Seznam se vypisuje v pravém horním rámci. Jako výchozí kritérium pro zobrazení seznamu se vybírají dotazy, které jsou v dané poradně a mají stav Nezodpovězen nebo Zveřejněn - nezodpovězen. Důvodem je to, aby byl okamžitě k dispozici přehled dotazů čekajících na zodpovězení. Pokud žádný takový dotaz v dané poradně neexistuje, zobrazí se místo seznamu informační text tak, jak je vidět na následujícím otisku obrazovky. Pomocí odkazu všechny lze jednoduše vypsat seznam všech dotazů, dále je v informačním textu aktivní odkaz vyhledávací formulář.

Vyhledávání je možné podle následujících položek:

  • ID dotazu
  • Vloženo od – do
  • Kategorie
  • Stav
  • Neveřejný dotaz
  • Častý dotaz

Je-li ve vyhledávacím formuláři vyplněno více kritérií, spojují se logickou spojkou "a zároveň".

V liště seznamu dotazů jsou navíc odkazy Nezodpovězené resp. Zveřejněn - nezodpovězen, které slouží k rychlému vyvolání výpisu dotazů v tom kterém stavu.

Vlastní seznam dotazů je vždy setříděn podle data vložení dotazu, v seznamu se zobrazují následující sloupce:

  • ID dotazu
  • Název dotazu
  • Část textu dotazu (cca 150 znaků)
  • Datum a čas vložení
  • Datum a čas zodpovězení
  • Ikona stavu dotazu

Klepnutím na název dotazu se přechází v pravém spodním rámci na formulář pro zodpovězení resp. editaci dotazu. Formulář má tři záložky (Dotaz, Odpověď a Vlastnosti), ve kterých se postupně nacházejí následující pole:

  • Název – název dotazu
  • Dotaz – vlastní text dotazu
  • Odpověď – text odpovědi
  • Kategorie – dotaz patří do maximálně jedné kategorie, kategorie jsou pro každou poradnu specifické
  • Vloženo – datum a čas vložení dotazu
  • Zodpovězeno – datum a čas zodpovězení dotazu
  • Modifikováno – datum a čas poslední modifikace záznamu (nelze uživatelsky měnit)
  • Neveřejný dotaz – zaškrtávací okénko; pokud je dotaz označen za neveřejný, neprezentuje se na veřejně přístupných seznamech dotazů, i když je zodpovězen
  • Častý dotaz – dotaz lze pomocí zaškrtávacího okénka označit za častý, seznam častých dotazů lze pak na veřejné části www prezentace zobrazit pomocí URL /scripts/modules/advice/questionlist.php?id=xxx&frequent=y, kde xxx je ID poradny
  • E-mail – e-mail tazatele
  • Jméno – křestní jméno tazatele
  • Příjmení – příjmení tazatele
  • Přezdívka – přezdívka (nickname) tazatele
  • IP adresa - IP adresa, ze které byl dotaz vložen

Vždy je přístupná nabídka Stav, která nese vždy právě jednu z následujících hodnot:

  • Nezodpovězen – dotaz čeká na zodpovězení, nezobrazuje se na veřejné části www prezentace
  • Zodpovězen – dotaz je zodpovězen, zobrazuje se na veřejné části www prezentace až na případ, kdy je nastaven příznak Neveřejný dotaz
  • Nebude zodpovězen – správce poradny rozhodl, že dotaz nebude zodpovězen (např. přesahuje rámec dané poradny). Výpis takto označených dotazů lze zobrazit na veřejné části www prezentace na stránce /scripts/modules/advice/questionlist.php?id=xxx&noreply=y, kde xxx je ID poradny.
  • Zveřejněn - nezodpovězen - dotaz (ještě) není zodpovězen, ale zobrazuje se na veřejné části www prezentace v seznamu dotazů (ve výchozím stavu mixovaně se zodpovězenými dotazy)

Ve formuláři se zobrazují tlačítka Přidat, Uložit, Nový a Smazat, které fungují běžným způsobem, smazat dotaz lze vždy, protože k němu neexistují další návaznosti (tedy i zodpovězené dotazy). Rovněž tak editovat dotaz a následně uložit změny tlačítkem Uložit lze vždy, formulář pouze zabrání uložení v případě, že některá pole nejsou vyplněna (např. Vloženo). Uložit dotaz bez vyplněného pole Název lze, pak se v seznamu zobrazuje jako "bez názvu".

Poradnu lze plnit dotazy i výlučně z administračního rozhraní (např. pro prvotní naplnění daty) – není vyžadováno, aby dotaz byl vložen z veřejné části prezentace, nový dotaz lze založit i v administračním rozhraní.

Speciální funkci má tlačítko Zodpovědět, které slouží k zrychlenému zodpovídání dotazů. Tlačítko provádí najednou několik akcí:

  • Nastaví Zodpovězeno na aktuální datum a čas
  • Nastaví stav na Zodpovězen
  • Uloží formulář do databáze
  • Odešle informační e-mail tazateli (pokud je toto zasílání zvoleno v předvolbách modulu)
Pouze tímto tlačítkem lze vyvolat odeslání e-mailu tazateli, tuto funkci nelze vyvolat jiným způsobem.

Tlačítko není přístupné, pokud je stav dotazu Zodpovězeno.

Poznámka: Pokud ručně změníme stav dotazu a uložíme dotaz do databáze, tlačítko Zodpovědět bude opět přístupné a jeho použití provede přesně to, co je uvedeno výše, tedy včetně opětovného odeslání e-mailu.

Protokoly

V části Protokoly lze procházet protokol modulu týkající se zápisů nových dotazů.

Zobrazují se záznamy o vložených i odmítnutých dotazech, pokud je vložení odmítnuto antispamovou kontrolou, je zde uveden typ kontroly, která odmítnutí vyvolala.

Zakázané IP adresy

Funkce Zakázané IP adresy ovládá přidávání IP adres na blacklist (seznam zakázaných adres) a jejich odstraňování z blacklistu.

Seznam adres je společný pro všechny poradny a ovládá se stejným způsobem jako jiné funkce WebToDate modulů. Ve formuláři se zadává pouze IP adresa, datum vložení a údaj o uživateli se doplňuje automaticky.

Veřejné skripty

Prezentační skripty

V adresáři /scripts/modules/advice/ se nacházejí veřejně přístupné prezentační skripty modulu. Jedná se o následující skripty:

Skript Funkce
default.php Skript zobrazuje seznam založených poraden
firstpage.php Skript zobrazuje úvodní stránku poradny
questionlist.php Skript zobrazuje seznam dotazů v poradně
detail.php Skript zobrazuje detailní stránku jednoho dotazu v poradně
newquestion.php Skript slouží jako stránka pro vkládání nových dotazů
fulltxt.php Skript je vyhledávací stránkou podporující fulltextové hledání v poradnách


Klíčová slova modulu

Modul používá následující prefixy klíčových slov používaných ve WebToDate stylech nebo předlohách pro stránky:

  • WTD_ADVICE – pro položky specifické pro tento modul (název dotazu, text otázky, seznam dotazů apod.)
  • WTD_USER – pro položky vkládané z registrační databáze (registrovaných či anonymních uživatelů), např. pro předvyplnění e-mailové adresy apod., případně pro zobrazení informací o tazateli.


Následující klíčová slova se používají v předlohách pro seznamy položek (poraden, dotazů) a jejich stránkování.

Klíčová slova reprezentující seznamy položek a jejich stránkování
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(LIST)--> Seznam poraden Používá se v předloze pro stránku vypisující seznam poraden /scripts/modules/advice/default.php
<!--WTD_ADVICE(ITEMSLIST)--> Seznam dotazů Používá se v předloze pro stránku vypisující seznam dotazů /scripts/modules/advice/questionlist.php nebo ve stránce pro vyhledávání /scripts/modules/advice/fulltxt.php
<!--WTD_ADVICE(NAVIG)--> Navigační lišta pro seznam Používá se ve stránkách pro seznamy dotazů, vyhledávání a seznamy poraden
<!--WTD_ADVICE(LABEL)--> Uvozující nadpis výpisu seznamu nalezených ("Dotazy až 10 z 30") Funkční pouze v předloze vyhledávací stránky /scripts/modules/advice/fulltxt.php
<!--WTD_ADVICE(LISTCATEGORIES)--> Výpis seznamu kategorií poradny Lze použít v předloze pro úvodní stránku poradny, seznam dotazů a detail dotazu


Následující klíčová slova se používají pro zobrazení informací o dané poradně. Reprezentují vlastnosti celé poradny, jako je název poradny, počet zodpovězených dotazů v poradně apod. Lze je tedy použít ve stránce pro seznam poraden (stylu seznamu poraden), v úvodní stránce poradny (v předloze), ve stránce se seznamem dotazů (v předloze) či ve stránce pro detail dotazu (opět v předloze)

Klíčová slova reprezentující informace o dané poradně
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(AID)--> ID poradny
<!--WTD_ADVICE(ANAME)--> Název poradny
<!--WTD_ADVICE(ADESCRITPION)--> Popis poradny
<!--WTD_ADVICE(AURL)--> URL úvodní stránky poradny
<!--WTD_ADVICE(ALASTUPDATE)--> Datum poslední aktualizace obsahu poradny Zahrnuje všechny operace týkající se zodpovězených dotazů, datum aktualizace se tedy nemění při vložení nového dotazu z veřejné části www prezentace
<!--WTD_ADVICE(ANUMOFITEMS)--> Počet dotazů v poradně ve stavu Zodpovězen
<!--WTD_ADVICE(APUBLISHEDITEMS)--> Počet dotazů v poradně ve stavu Zveřejněn - nezodpovězen
<!--WTD_ADVICE(ATOTALITEMS)--> Počet dotazů v poradně ve stavu Zodpovězen nebo Zveřejněn - nezodpovězen

Jednoduchý příklad použití těchto klíčových slov je tělo stylu pro výpis seznamu poraden:

<h3><a href="<!--WTD_ADVICE(AURL)-->"><!--WTD_ADVICE(ANAME)--></a></h3>
<!--WTD_ADVICE(ADESCRITPION)-->
<div>
Poslední aktualizace: <!--WTD_ADVICE(ALASTUPDATE)--><br/>
Zodpovězených dotazů: <!--WTD_ADVICE(ANUMOFITEMS)-->
</div>


Následující klíčová slova se používají pro zobrazení jednotlivých polí dotazů jako je název dotazu, datum vložení dotazu apod. Lze je použít ve stylu pro seznam dotazů, v předloze pro detail dotazu či ve stylu pro výpis výsledků hledání.

Klíčová slova reprezentující položky jednotlivých dotazů
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(ID)--> ID dotazu
<!--WTD_ADVICE(NAME)--> Název dotazu
<!--WTD_ADVICE(URL)--> URL pro zobrazení detailní stránky s jedním dotazem
<!--WTD_ADVICE(QDATE)--> Datum vložení dotazu
<!--WTD_ADVICE(QTIME)--> Čas vložení dotazu
<!--WTD_ADVICE(ADATE)--> Datum zodpovězení dotazu
<!--WTD_ADVICE(ATIME)--> Čas vložení odpovědi
<!--WTD_ADVICE(QUESTION)--> Text dotazu
<!--WTD_ADVICE(ANSWER)--> Text odpovědi
<!--WTD_ADVICE(IP)--> IP adresa tazatele
<!--WTD_USER(FIRSTNAME)--> Křestní jméno tazatele
<!--WTD_USER(LASTNAME)--> Příjmení tazatele
<!--WTD_USER(NICKNAME)--> Přezdívka tazatele
<!--WTD_USER(EMAIL)--> E-mailová adresa tazatele

Pro IP adresy lze použít formátovací konstrukci, která nahradí část IP adresy zvoleným řetězcem, aby nebylo nutné zobrazovat ve veřejně přístupných stránkách kompletní IP adresy uživatelů. Používá se výraz

<!--WTD_FORMAT(IPADDRESS,"formátovací předpis","adresa")-->

tedy např.

<!--WTD_FORMAT(IPADDRESS,"*.*.*.xxx","<!--WTD_ADVICE(IP)-->")-->

Formátovací předpis předpokládá, že se maskují části adresy mezi tečkami v IP adrese. Pro zobrazovanou část IP adresy se použije hvězdička, pro nezobrazovanou libovolný řetězec. "*.*.*.xxx" tedy bude zobrazovat "234.160.21.xxx", "cosi.*.yy.*" bude zobrazovat "cosi.160.yy.168" apod.

Modul dále podporuje Klíčová slova pro formátování typu WTD_FORMAT, tedy např.

<!--WTD_FORMAT(SMAXLEN,"formátovací předpis","ořezávaný text")-->

apod.

Dále uvedená klíčová slova se používají ve formuláři pro vkládání nových dotazů pro hodnoty formulářových polí.

Klíčová slova pro formuláře pro vkládání dotazů
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(NAME)--> Název dotazu
<!--WTD_ADVICE(QUESTION)--> Text dotazu
<!--WTD_USER(FIRSTNAME)--> Křestní jméno tazatele
<!--WTD_USER(LASTNAME)--> Příjmení tazatele
<!--WTD_USER(NICKNAME)--> Přezdívka tazatele
<!--WTD_USER(EMAIL)--> E-mailová adresa tazatele
<!--WTD_ADVICE(PRIVATE)--> Příznak zaškrtnutí žádosti o nezveřejnění odpovědi Používá se jako

<input type="checkbox" name="private" id="private" <!--WTD_ADVICE(PRIVATE)--> />

<!--WTD_SPAMCHECK(CCHIDDEN)--> Skrytý kontrolní kód Používá se pro antispamovou ochranu typu Opisování kontrolních kódů
<!--WTD_SPAMCHECK(CCVISIBLE)--> Zobrazovaný kód k opsání Používá se pro antispamovou ochranu typu Opisování kontrolních kódů


Následující klíčová slova lze použít pro formátování výpisu seznamu kategorií dané poradny – využívají se tedy v těle stylu pro seznam kategorií poradny. Dále je lze použít v předloze pro detailní stránku s jedním dotazem, kde mohou zobrazit informaci o tom, ve které kategorii se dotaz nachází.

Klíčová slova reprezentující položky seznamu kategorií poradny
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(CATEGORY)--> Název kategorie
<!--WTD_ADVICE(CATEGORYURL)--> URL kategorie Dosazuje URL ve tvaru /scripts/modules/advice/questionlist.php?id=xxx&categid=yyy, kde xxx je ID poradny a yyy ID kategorie


Následující klíčová slova lze použít ve vyhledávácím formuláři pro prohledávání poraden. Formulář lze umístit (to znamená, že následující klíčová slova budou funkční a nahrazena při zobrazování stránky obsahem) na úvodní stránku poradny, vyhledávací stránku, seznam dotazů a detail dotazu.

Klíčová slova pro vyhedávací formulář
Klíčové slovo Význam Poznámka
<!--WTD_ADVICE(SEARCHTEXT)--> Vyhledávaný text
<!--WTD_ADVICE(SEARCHANAMES)--> Část HTML tagu SELECT zobrazující pop-up menu se seznamem poraden
<!--WTD_ADVICE(SEARCHALANGUAGES)--> Část HTML tagu SELECT zobrazující pop-up menu se seznamem jazyků Pomocí této možnosti lze prohledávat jen poradny označené daným jazykem

Vyhledávací formulář s možností výběru prohledávání všech poraden nebo jedné konkrétní poradny může vypadat např. takto:

<form action="fulltxt.php" method="get">
<table nowrap border="0" cellspacing="2" cellpadding="4">
<tr><td colspan="2">
<strong>Hledání v poradnách</strong>
</td></tr>
<tr><td colspan="2">
<input type="text" name="searchtext" value="<!--WTD_ADVICE(SEARCHTEXT)-->" size="43" maxlength="80"> 
<input type="submit" name="Action" value="Hledat" class="formbutton">
</td></tr>
<tr><td valign="top">
<span class="formlabel">Poradna:</span><br>
<select name="id">
<option selected="selected" value="0">--všechny--</option>
<!--WTD_ADVICE(SEARCHANAMES)-->
</select>
</td></tr>
</table>
</form>


Modul podporuje v určitých případech podmíněné vkládání kódu pomocí syntaxe WTD_IF. Používá se pro vkládání chybových hlášení, výpis informace o příznacích příspěvku apod. Následující tabulka obsahuje přehled těchto klíčových slov a jejich možného užití.

Klíčová slova pro podmíněné vkládání kódu
Klíčové slovo Význam Poznámka
<!--WTD_IF(FREQUENT,"…")--> Kód se vloží v případě, že se vypisují časté dotazy Lze použít pouze v předloze (nikoliv v těle stylu) pro seznam dotazů questionlist.php nebo v předloze pro detail (detail.php)
<!--WTD_IF(NOREPLY,"…")--> Kód se vloží v případě, že se vypisují dotazy, které nebudou zodpovězeny Lze použít pouze v předloze (nikoliv v těle stylu) pro seznam dotazů questionlist.php nebo v předloze pro detail (detail.php)
<!--WTD_IF(ALL,"…")--> Kód se vloží v případě, že se vypisuje seznam všech dotazů v poradně Lze použít pouze v předloze pro stránku se seznamem dotazů questionlist.php
<!--WTD_IF(ITEMNOTFOUND,"…")--> Kód se vloží v případě, že dotaz není zařazen do žádné kategorie Lze použít pouze v předloze pro detail dotazu (detail.php)
<!--WTD_IF(QNOTFOUND,"…")--> Kód se vloží v případě, že kritériu pro výpis seznamu dotazů nevyhovuje žádný dotaz Lze použít pouze v předloze pro stránku se seznamem dotazů questionlist.php
<!--WTD_IF(ANOTFOUND,"…")--> Kód se vloží v případě, že nejsou definovány žádné poradny Lze použít pouze v předloze pro stránku se seznamem poraden default.php
<!--WTD_IF(REQUIRED,"…")--> Kód se vloží v případě, že není vyplněné nějaké povinné pole Lze použít pouze v předloze pro stránku pro vkládání nových dotazů (newquestion.php)
<!--WTD_IF(WRONGEMAIL,"…")--> Kód se vloží v případě, že není korektně vyplněn e-mail Lze použít pouze v předloze pro stránku pro vkládání nových dotazů (newquestion.php)
<!--WTD_IF(STATUS_ANSWERED,"…")--> Vkládá se, pokud je stav dotazu Zodpovězen Lze použít pouze v předloze pro detail dotazu (detail.php) nebo ve stylu pro seznam dotazů
<!--WTD_IF(STATUS_PUBLISHED,"…")--> Vkládá se, pokud je stav dotazu Zveřejněn - nezodpovězen Lze použít pouze v předloze pro detail dotazu (detail.php) nebo ve stylu pro seznam dotazů
<!--WTD_IF(STATUS_NOREPLY,"…")--> Vkládá se pokud je stav dotazu Nebude zodpovězen Lze použít pouze v předloze pro detail dotazu (detail.php) nebo ve stylu pro seznam dotazů, má ale smysl jen ve výpisu dotazů, které nebudou zodpovězeny (questionlist.php?id=1&noreply=y)
<!--WTD_IF(SPAMWRONGCC,"…")--> Kód se vloží v případě, že uživatel špatně opsal kontrolní kód pro antispamovou ochranu Lze použít v předloze obsahující formulář pro vložení nového dotazu
<!--WTD_IF(SPAMBLACKIP,"…")--> Kód vloží antispamová ochrana v případě, že adresa uživatele vkládajícího dotaz je na seznamu zakázaných adres Lze použít v předloze obsahující formulář pro vložení nového dotazu
<!--WTD_IF(SPAMDETECTED,"…")--> Vloží se pokud byl příspěvek detekován jako spam a nejde o předchozí dva případy. Lze použít v předloze obsahující formulář pro vložení nového dotazu

Možné použití podmíněného výpisu informací o stavu dotazu v těle stylu pro seznam dotazů je tedy např.

<!--WTD_IF(STATUS_ANSWERED,"Odpověď: <!--WTD_ADVICE(ANSWER)-->")-->
<!--WTD_IF(STATUS_PUBLISHED,"Tento dotaz čeká na zodpovězení.")-->

Příklad podpory výpisu hlášení antispamové ochrany (část kódu předlohy pro vkládání nových dotazů je tento:

<!--WTD_IF(SPAMWRONGCC,"Zadaný kontrolní kód není správný")-->
<!--WTD_IF(SPAMBLACKIP,"Vaše adresa je na blacklistu")-->
<!--WTD_IF(SPAMDETECTED,"Příspěvek byl označen jako spam")-->


Jsou k dispozici výrazy pro výpis informací o poradně z hlediska přístupových práv:

<!--WTD_IF(READACCESS,"Poradna je přístupná pro čtení.")--> - kód se vloží v případě, že daná poradna má nastavení Data jsou přístupná pro čtení jiné než Nikomu.

<!--WTD_IF(NOREADACCESS,"Poradna není přístupná pro čtení.")--> - kód se vloží v případě, že daná poradna má nastavení Data jsou přístupná pro čtení nastaveno na Nikomu.

<!--WTD_IF(WRITEACCESS,"Poradna je přístupná pro vkládání dotazů.")--> - kód se vloží v případě, že daná poradna má nastavení Vkládat data mohou jiné než Nikdo.

<!--WTD_IF(NOWRITEACCESS,"Poradna není přístupná pro vkládání dotazů.")--> - kód se vloží v případě, že daná poradna má nastavení Vkládat data mohou nastaveno na Nikdo.

<!--WTD_IF(RESTRICTEDREADACCESS,"Poradna je přístupná pro čtení jen registrovaným uživatelům.")--> - kód se vloží v případě, že daná poradna má nastavení Data jsou přístupná pro čtení nastaveno na Registrovaným.

<!--WTD_IF(RESTRICTEDWRITEACCESS,"Poradna je přístupná pro vkládání příspěvků jen registrovaným uživatelům.")--> - kód se vloží v případě, že daná poradna má nastavení Vkládat data mohou nastaveno na Registrovaní.

Tyto kódy lze použít:

  1. Ve stránce /scripts/modules/advice/default.php ve stylu pro seznam poraden
  2. Ve stránce /scripts/modules/advice/fulltxt.php ve stylu seznamu nalezených položek (podle toho, do které poradny položka patří)
  3. Ve všech ostatních stránkách (tj. na úvodní stránce poradny, v seznamu dotazů v poradně, v detailu dotazu) kdekoli.

Pokud chceme např. ve stylu pro seznam poraden vyznačit, která poradna má jaká práva, může tělo stylu vypadat např. následovně:

<h3><a href="<!--WTD_ADVICE(AURL)-->"><!--WTD_ADVICE(ANAME)--></a></h3>
<!--WTD_ADVICE(ADESCRITPION)-->
<div>
Poslední aktualizace: <!--WTD_ADVICE(ALASTUPDATE)--><br />
Zodpovězených dotazů: <!--WTD_ADVICE(ANUMOFITEMS)--><br />
<!--WTD_IF(READACCESS,"Poradna je přístupná pro čtení.")--><!--WTD_IF(NOREADACCESS,"Poradna není přístupná pro čtení.")--><!--WTD_IF(RESTRICTEDREADACCESS,"Poradna je  
 přístupná pro čtení jen registrovaným uživatelům.")--><br />
<!--WTD_IF(WRITEACCESS,"Poradna je přístupná pro vkládání dotazů.")--><!--WTD_IF(NOWRITEACCESS,"Poradna není přístupná pro vkládání dotazů.")--> 
 <!--WTD_IF(RESTRICTEDWRITEACCESS,"Poradna je přístupná pro vkládání příspěvků jen registrovaným uživatelům.")-->
</div>

Možné použití je také např. v předloze pro seznam dotazů pro daný rozhovor, kdy chceme odkaz na vložení dotazu zobrazit, jen pokud je poradna otevřená pro vkládání nových dotazů:

<!--WTD_IF(WRITEACCESS,"<a href="newquestion.php?id=<!--WTD_ADVICE(AID)-->">Vložit nový dotaz</a>")-->
<!--WTD_IF(NOWRITEACCESS,"Tento chat již proběhl a nové dotazy nelze pokládat.")-->

Formulářová pole a další možné parametry skriptů

Názvy formulářových polí je třeba přesně dodržet, jinak může být daný formulář nefunkční.

V názvech polí formulářů se rozlišují malá a velká písmena, zachovejte proto názvy polí vždy přesně tak, jak je příslušný pomocný nástroj vygeneroval nebo jak jsou uvedeny v dokumentaci.


Parametry skriptu firstpage.php pro zobrazení úvodní stránky poradny
Název pole nebo parametru Význam Poznámka
id ID poradny


Parametry skriptu questionlist.php pro zobrazení seznamu dotazů v poradně
Název pole nebo parametru Význam Poznámka
id ID poradny
categid ID kategorie Pokud je zadáno, vypisují se jen dotazy z dané kategorie
frequent Časté dotazy Pro výpis častých dotazů se zadává questionlist.php?id=xxx&frequent=y
noreply Dotazy, které nebudou zodpovězeny Pro výpis těchto dotazů se zadává questionlist.php?id=1&noreply=y
aw Filtrace výpisu dotazů na stavy Zodpovězen resp. Zveřejněn - nezodpovězen Možné hodnoty jsou:

answered - seznam vypisuje pouze dotazy ve stavu Zodpovězen published - seznam vypisuje pouze dotazy ve stavu Zveřejněn - nezodpovězen jakákoli jiná hodnota - seznam vypisuje dotazy v obou stavech

pg Číslo stránky v rámci stránkování seznamu dotazů


Parametry skriptu detail.php pro zobrazení jednoho dotazu
Název pole nebo parametru Význam Poznámka
id ID dotazu


Parametry a formulářová pole skriptu newquestion.php pro vložení nového dotazu
Název pole nebo parametru Význam Poznámka
id ID poradny Doporučujeme použít jako parametr skriptu, tedy např.

<form action="/scripts/modules/advice/newquestion.php?id=<!--WTD_ADVICE(AID)-->" method="post">

Je-li zadán ve formě skrytého pole, nefunguje správně detekce formuláře dle atributu id ve skriptu spouštěném během události onsubmit. Tento problém lze obejít detekcí dle atributu name.

name Název dotazu V HTML kódu se používá jako

<input type="text" name="name" id="name" value="<!--WTD_ADVICE(NAME)-->" />, analogicky další uvedená pole formuláře

firstname Křestní jméno
lastname Příjmení
nickname Přezdívka
email E-mail
question Text dotazu
private Označení dotazu, který nemá být zveřejněn Používá se v kódu <input type="checkbox" name="private" id="private" <!--WTD_ADVICE(PRIVATE)--> />
url URL stránky, která se má zobrazit po úspěšném vložení dotazu Pokud není specifikován, je po uložení uživatel přesměrován na úvodní stránku poradny, do které zadal dotaz
ccid Hodnota skrytého pole pro kontrolní kódy (ochrana proti spamu) Používá se v kódu <input type="hidden" name="ccid" value="<!--WTD_SPAMCHECK(CCHIDDEN)-->" />
ccvalue Kontrolní kód zadaný uživatelem (ochrana proti spamu)


Parametry vyhledávacího skriptu fulltxt.php pro hledání v poradnách
Název pole nebo parametru Význam Poznámka
id ID poradny Není-li uvedeno, hledá se ve všech poradnách
searchtext Vyhledávaný text
dlid ID jazyka Je-li uvedeno, hledá se jen v poradnách označených daným jazykem.
pg Číslo stránky v rámci stránkování seznamu nalezených dotazů


Kromě výše uvedených parametrů lze u všech skriptů použít parametr tmplid, kterým se vynucuje použití jiné předlohy (hodnotou je ID této předlohy).