WebToDate/Soutěže/Reference
Administrační rozhraní
Nabídka modulu
Nabídka modulu vypadá následovně:
Nástroje
- Osobní údaje
Nastavení
- Seznam předpisů
- Globální
- Stránky
- Předpisy
- název předpisu
- Probíhající soutěž
- Uzavřená soutěž
- Osobní údaje
Administrace
- Práva
Data
- Soutěže
- Výsledky
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.
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 soutěže 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 soutěž. V jednom předpisu lze nadefinovat zobrazování stránek typu probíhající soutěž – uzavřená soutěž. Všechny soutěže 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é soutěže) 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 soutěže.
Stránky
Pomocí formuláře Stránky se definují následující položky:
- Zobrazení soutěže před začátkem platnosti – vybírá se stránka ze stromu kategorií, na kterou je návštěvník přesměrován v případě, že se pokouší zobrazit stránku soutěže (s URL /scripts/modules/quiz/default.php?id=xxx, kde xxx je ID soutěže), jejíž počáteční čas platnosti ještě nenastal. Takovou soutěž lze zobrazit pouze v náhledovém režimu z administrační části modulu, nemůže ji ale zobrazit návštěvník veřejně přístupné části www serveru.
- Potvrzení uložení výsledků – vybírá se předloha u kategorie předloh Soutěže, které se použije pro zobrazení stránky potvrzující účast v soutěži, tj. uložení vyplněných odpovědí.

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í dvě položky reprezentující možné způsoby zobrazení stránky dané soutěže:
- Probíhající soutěž – definuje grafickou podobu stránky soutěže v aktivním stavu, tj. po dobu platnosti soutěže
- Uzavřená soutěž – definuje grafickou podobu a chování stránky soutěže zobrazené po ukončení doby platnosti.
V obou případech se jedná o stránku s URL /scripts/modules/quiz/default.php?id=xxx, kde xxx je ID soutěže, modul sestavuje tuto stránku různě v závislosti na době platnosti soutěže.
Probíhající soutěž
Formulář Probíhající soutěž slouží k nastavení stránky soutěže po dobu platnosti. Ve formuláři se povinně nastavuje:
- Předloha stránky
- Styl seznamu otázek a odpovědí
- Sada osobních údajů

Předloha stránky musí obsahovat definici formuláře, klíčové slovo <!--WTD_QUIZ(LIST)--> pro seznam otázek a odpovědí a zpravidla další položky jakou jsou informace o soutěži (<!--WTD_QUIZ(NAME)--> pro název soutěže apod.) a část formuláře pro vkládání osobních údajů soutěžících.
Styl formátuje seznam otázek a odpovědí, běžně se používá zhruba následující kód stylu:
Tělo
<input type="radio" name="<!--WTD_QUIZ(QUESTIONIDENT)-->" value="<!--WTD_QUIZ(ANSWERID)-->" <!--WTD_QUIZ(CHECKED)-->/>
<!--WTD_QUIZ(ANSWERORDERID)-->) <!--WTD_QUIZ(ANSWER)-->
<br />
Začátek sekce
<strong><!--WTD_QUIZ(QUESTIONORDERID)-->. <!--WTD_QUIZ(QUESTION)--><br /><br/></strong>
Konec sekce
<br />
Volba sady osobních údajů ovlivňuje to, jaká pole se budou pro osobní údaje zapisovat a kontrolovat na povinné vyplnění.
Uzavřená soutěž
Formulář Uzavřená soutěž slouží k nastavení stránky soutěže po ukončení doby platnosti. Ve formuláři se povinně nastavuje:
- Předloha stránky
- Styl seznamu otázek a odpovědí
- Volba zobrazovat všechny / pouze správné odpovědi

Předloha typicky obsahuje údaje o soutěži a klíčové slovo pro seznam otázek a odpovědí, vlastní kód této části stránky, tedy může být např. následující:
<h3>Uzavřená soutěž <!--WTD_QUIZ(NAME)--></h3>
<div><!--WTD_QUIZ(DESCRIPTION)--><div>
<br />
Soutěž probíhala od <!--WTD_QUIZ(DATEFROM)--> do <!--WTD_QUIZ(DATETO)-->. Správné odpovědi jsou vyznačeny tučně.<br/><br/>
<!--WTD_QUIZ(LIST)-->
Pomocí stylu se zobrazují buď jen správné odpovědi, nebo všechny odpovědi s tím, že správné jsou nějak zvýrazněny. Styl vypisující všechny odpovědi může vypadat např. následovně:
Tělo:
<!--WTD_IF(CORRECTANSWER,"<strong>")-->
<!--WTD_QUIZ(ANSWERORDERID)-->) <!--WTD_QUIZ(ANSWER)-->
<!--WTD_IF(CORRECTANSWER,"</strong>")-->
<br />
Začátek sekce:
<strong><!--WTD_QUIZ(QUESTIONORDERID)-->. <!--WTD_QUIZ(QUESTION)--></strong><ul>
Konec sekce:
</ul>
Osobní údaje
Položkou Osobní údaje nabídky se definují pojmenované sady osobních údajů, které pak jsou používány soutěžemi, neboli vybírají se ve formuláři Probíhající soutěž předpisu.

V každé definici sady se nabízí seznam možných polí pro vkládání osobních údajů, ze kterých se vybírá. Volby v jednotlivých řádcích mají následující význam:
- Popis – tento popis se použije při generování fragmentu formuláře pomocí funkce Nástroje – Osobní údaje.
- Aktivní - funkce Nástroje – Osobní údaje toto pole vygeneruje, při ukládání výsledků dané soutěže se do tohoto pole zapisuje.
- Povinný - při ukládání výsledků dané soutěže se kontroluje vyplnění, bez vyplnění takto označeného pole nelze výsledky uložit.
Chování této funkce je následující:
- Popisky polí se přebírají ve chvíli generování formuláře. Následná změna popisku ve formuláři pro definici osobních údajů se na webové prezentaci nijak neprojeví.
- Pokud se přidá dodatečně další pole do struktury ve sloupci Aktivní, pole se do formuláře soutěže automaticky nepřidá. Pokud se toto pole ve sloupci Aktivní dodatečně vypne, změna se ve formuláři soutěže rovněž neprojeví a obsah pole lze i nadále přes tento formulář vložit.
- Pokud změníte některou položku ve sloupci Povinný, změna se ihned aplikuje. Pokud např. některé pole bylo ve formuláři, nebylo vyžadováno jeho vyplnění a v nastavení osobních údajů toto změníte, vyplnění pole začne být ihned ve formuláři vyžadováno.
Administrace
Práva
Pomocí funkce Práva se nastavují týmy, které mají přístup k datům modulu a mohou zadávat a měnit soutěže. Seznam oprávněných týmů se spravuje způsobem obvyklým v modulech WebToDate.
Nástroje
Pomocí funkce Nástroje - Osobní údaje se generuje nový WebToDate fragment, v jehož těle je HTML kód formuláře využitelný pro tu část formuláře soutěže, kde se vkládají osobní údaje.

Pro fragment zvolte vhodný nadpis, zařazení a především volbu sady osobních údajů, pro které se formulář generuje; seznam polí, který formulář vygeneruje je dán právě sadou osobních nastavení. Tlačítkem Přidat HTML fragment vytvořte požadovaný fragment.
Data
Soutěže
Pomocí funkce Data – Soutěže se vytvářejí soutěže a mění se jejich obsah. V pravé horní části okna prohlížeče se zobrazuje seznam soutěží. Seznam je stránkovaný a tříděný podle data soutěže. Seznam obsahuje následující sloupce:
- ID soutěže
- Název soutěže
- Datum
- Platnost od
- Platnost do
Klepnutím na název soutěže se v pravém spodním rámci zobrazuje formulář pro editaci soutěže.
Pomocí odkaz Vyhledat lze prohledávat seznam soutěží. Vyhledávací formulář obsahu následující pole:
- V názvu
- ID soutěže
- Platnost od
- Platnost do
Vyhledávací podmínky se spojují při hledání logickou spojkou "a zároveň".

Záložka Základní formuláře soutěže obsahuje následující pole:
- Název - povinný název soutěže
- Popis - nepovinný, vedle něj se zobrazuje tlačítko Vložit zprávu, které je popsáno v následujícím textu
- Jazyk - pokud je v systému definováno více jazyků, vybírá se právě jeden jazyk, jinak se volba nezobrazuje
- Předpis - vybírá se předpis ze seznamu předpisů
- Vytvořeno - datum založení soutěže pouze pro čtení
- Přihlašovací režim - definuje, kteří návštěvníci webové prezentace mají do dané soutěže přístup
- Platnost od - povinně se vyplňuje datum a čas, výchozí hodnota je aktuální datum a čas
- Platnost do - stejné jako Platnost od
Možnosti nastavení hodnoty Přihlašovací režim jsou následující:
- Anonymní uživatelé – přístup do soutěže je povolen všem anonymním uživatelům. S uživatelskými údaji (s e-mailovou adresou apod.) se nijak aktivně nepracuje.
- Rozpoznávat anonymní uživatele – soutěž 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_QUIZ(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 – soutěž je přístupná 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 soutěže přesměrován na přihlašovací stránku modulu Registrace a personalizace.
- Vyžadovat přihlášení vždy – soutěž 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.
Dále jsou ve formuláři tlačítka Náhled - probíhající soutěž a Náhled - ukončená soutěž. Tato tlačítka zobrazují pomocí skriptu /scripts/modules/quiz/default.php náhled soutěže v odpovídajícím stavu dle zvoleného tlačítka, tj. s ignorováním časové platnosti soutěže.
V horní části formuláře s tlačítky se může kromě tlačítek Nová, Uložit a Smazat zobrazovat ještě tlačítko Odstranit výsledky, které maže (po potvrzení) všechny záznamy výsledků pro danou soutěž. Funkce je určena pro smazání testovacích dat před započetím platnosti soutěže a tlačítko je přístupné pouze, pokud je přihlášený uživatel členem týmu Administrátoři.
Záložka Otázky se zobrazí až po prvním uložení soutěže. V této záložce se přidávají a upravují otázky a odpovědi soutěže.

V samotné záložce se zobrazuje pouze seznam otázek, vlastní editace probíhá v samostatném dialogu popsaném níže. Seznam otázek obsahuje:
- pořadové číslo otázky
- text otázky, v závorce za textem počet odpovědí
- odkazy Upravit a Odstranit
Odkaz Odstranit maže danou otázku včetně odpovědí, odkaz Upravit (stejně tak jako tlačítko Přidat otázku) otevírá v novém okně dialog pro editaci otázky a odpovědí. Tento dialog je na následujícím otisku obrazovky.

Ve výchozím tvaru je v dialogu pouze pole Otázka a je třeba pomocí tlačítka Přidat odpověď přidat potřebné odpovědi. Pro tento dialog platí:
- otázka musí být vyplněna
- otázka musí mít alespoň dvě odpovědi
- právě jedna odpověď musí být (pomocí radiopřepínače) označena za správnou.
Změny v záložce Otázky se ukládají do databáze průběžně a nikoli tlačítkem Uložit celého formuláře. To znamená, že
- Klepnutí na Odstranit znamená (po potvrzovacím dialogu) smazání dané otázky včetně odpovědí
- Tlačítko Uložit v dialogu pro editaci otázky provede zápis do databáze a znovunačtení formuláře pro soutěž.
Pokud existuje v tabulkách pro výsledky alespoň jeden záznam pro danou soutěž, nelze (z důvodů udržení konzistence dat) měnit strukturu soutěže, lze pouze měnit texty jednotlivých otázek a odpovědí. Toto uzamknutí struktury se projevuje tak, že
- V záložce Otázky není tlačítko Přidat otázku ani odkazy Odstranit
- V dialogu pro editaci otázky nejsou tlačítka Přidat odpověď a Odstranit.
Speciální možností pro tvorbu stránek soutěží, 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 popisu soutěže klíčové slovo typu <!--WTD_NEWS(xxx)-->, za které se pak při zobrazení soutěže dosazuje kompletní zobrazení zprávy / zdroje / fragmentu jako kdyby byl zobrazován přes prezentační skript /scripts/detail.php.
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 soutěže 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 se soutěží je vhodnější využít tuto funkci Vložit zprávu.
Výsledky
Po klepnutí na Data / Výsledky v hlavní nabídce se v pravé části okna prohlížeče zobrazuje nástroj pro práci s výsledky soutěže. V prvé fázi se vybírá soutěž. V pravém horním rámci se zobrazuje seznam soutěží jako u funkce Soutěže včetně možnosti vyhledávání (ale bez odkazu Přidat), spodní rámec je prázdný. Klepnutím na název soutěže seznam soutěží mizí a přechází se v pravé části okna do funkce pro zobrazování výsledků.
Tlačítka dostupná v horním rámci jsou
- Základní výsledky
- Seznam vítězů
- Export
V prvých dvou případech jde v podstatě o sestavy, ve třetím případě o volání funkce pro export dat dle výběru kritérií.

Sestava Základní výsledky vypisuje:
- Celkový počet soutěžících
- Počet soutěžících, kteří odpověděli správně na všechny otázky
- Seznam otázek, u každé otázky sumu správných a nesprávných odpovědí od všech uživatelů.

Sestava Seznam vítězů vypisuje:
- Celkový počet otázek
- Nejvyšší počet správných odpovědí
- Seznam uživatelů, kteří dosáhli tohoto nejvyššího počtu správných odpovědí.
Pomocí funkce pro export lze exportovat výsledky soutěže.

V první záložce je třeba zvolit, která pole se exportují a nastavit jim případný filtr, např. pro jednu soutěž je třeba nastavit podmínku QUIZID = ID soutěže.
Sloupce Q1..Qn reprezentují otázky soutěže, hodnotou je pak zde pořadové číslo odpovědi v rámci soutěže.
V druhé záložce se vybírá soubor, do kterého se exportuje a formát.

Veřejné skripty
Prezentační skript a jeho možné parametry
Modul má pouze jeden prezentační skript /scripts/modules/quiz/default.php. Hlavním parametrem skriptu je id soutěže, v závislosti na časové platnosti pak skript zobrazuje:
- Stránku soutěže v aktivním stavu v případě, že soutěž je časově platná
- Stránku s potvrzením uložení v případě, že uživatel vyplnil formulář a data byla uložena do databáze
- Stránku soutěže v uzavřeném stavu v případě, že soutěži již vypršela časová platnost
- Skript přesměruje na stránku zobrazení soutěže před začátkem platnosti v případě, že počáteční datum soutěže ještě nenastalo.
Pokud se zobrazuje stránka v aktivním stavu soutěže a uživatel se pokusí odeslat formulář, postupuje se tak, že:
- Pokud je zjištěno, že formulář není správně vyplněn, aktivuje se jedna z příslušných událostí typu WTD_IF a zobrazuje se opět stránka v aktivním stavu (s formulářem vyplněným tak, jak jej uživatel zadal).
- Pokud je formulář ověřen, provede se zápis do databáze a zobrazí se (stejným skriptem) potvrzovací stránka.
Skript podporuje vynucení předlohy pomocí parametru tmplid i vynucení předpisu pomocí patternid. Jazyk je součástí definice soutěže, podle něj se volí jazykové nastavení v rámci daného předpisu.
Klíčová slova modulu
Pro formátování seznamu otázek a odpovědí se používají následující klíčová slova.
| Klíčová slova použitelná ve stylu pro seznam otázek a odpovědí | ||
| Klíčové slovo | Význam | Poznámka |
| <!--WTD_QUIZ(QUESTION)--> | Text otázky | |
| <!--WTD_QUIZ(QUESTIONID)--> | ID otázky | |
| <!--WTD_QUIZ(QUESTIONORDERID)--> | Pořadové číslo otázky v dané soutěži | |
| <!--WTD_QUIZ(QUESTIONIDENT)--> | Identifikátor otázky | Generuje se ve tvaru q_ + ID otázky, používá se jako hodnota atributu name radiopřepínač ve formuláři |
| <!--WTD_QUIZ(ANSWER)--> | Text odpovědi | |
| <!--WTD_QUIZ(ANSWERID)--> | ID odpovědi | |
| <!--WTD_QUIZ(ANSWERORDERID)--> | Pořadové číslo odpovědi v rámci otázky | |
| <!--WTD_QUIZ(CHECKED)--> | Označení vybrané odpovědi | Dosazuje řetězec checked="checked" |
Typicky se klíčová slova pro otázky použijí v polích začátek či konec sekce stylu a klíčová slova pro odpovědi v těle stylu.
Při zobrazování stránky soutěže v uzavřeném stavu lze navíc použít v těle stylu podmíněnou konstrukci, jejíž kód se vkládá v případě, že se právě vkládá do stránky správná odpověď:
<!--WTD_IF(CORRECTANSWER,"…")-->
Typická definice stylu pro formátování otázek a odpovědí v soutěži v aktivním stavu vypadá následovně:
Začátek sekce:
<strong><!--WTD_QUIZ(QUESTIONORDERID)-->. <!--WTD_QUIZ(QUESTION)--><br /><br/></strong>
Tělo stylu:
<input type="radio" name="<!--WTD_QUIZ(QUESTIONIDENT)-->" value="<!--WTD_QUIZ(ANSWERID)-->" <!--WTD_QUIZ(CHECKED)-->/>
<!--WTD_QUIZ(ANSWERORDERID)-->) <!--WTD_QUIZ(ANSWER)-->
<br />
Konec sekce:
<br /><br/>
Výsledkem pak může být následující HTML kód:
<strong>1. Co je to ryakuga:<br /><br/></strong>
<input type="radio" name="q_433" value="712" />
1) zkratkovitá rychlomalba
<br />
<input type="radio" name="q_433" value="713" />
2) často malovaná mořská ryba
<br />
<input type="radio" name="q_433" value="714" />
3) špičatý štětec
<br />
<br /><br/>
<strong>2. Japonští mistři malovali také na:<br /><br/></strong>
<input type="radio" name="q_434" value="715" />
1) zlaté destičky
<br />
<input type="radio" name="q_434" value="716" />
2) hedvábí
<br />
<input type="radio" name="q_434" value="717" />
3) těla nahých žen
<br />
<br /><br/>
Vizuálně pak takový kód zobrazuje následující část formuláře:

Typická definice stylu pro formátování otázek a odpovědí v soutěži v uzavřeném stavu vypadá následovně:
Začátek sekce:
<strong><!--WTD_QUIZ(QUESTIONORDERID)-->. <!--WTD_QUIZ(QUESTION)--><br /><br/></strong>
Tělo stylu:
<!--WTD_IF(CORRECTANSWER,"<strong>")-->
<!--WTD_QUIZ(ANSWERORDERID)-->) <!--WTD_QUIZ(ANSWER)-->
<!--WTD_IF(CORRECTANSWER,"</strong>")-->
<br />
Konec sekce:
<br /><br/>
Výše uvedené tělo stylu se použije v případě, že je v předpisu nastavena volba zobrazení všech odpovědí. Pokud je nastaveno zobrazení pouze správných odpovědí, použije se pouze kód typu
Správná odpověď: <!--WTD_QUIZ(ANSWER)-->
<br />
V předloze a hlavičce či patičce stylu lze použít následující klíčová slova pro informační texty o soutěži.
| Klíčová slova použitelná v předloze či hlavičce a patičce stylu (informační část) | ||
| Klíčové slovo | Význam | Poznámka |
| <!--WTD_QUIZ(NAME)--> | Název soutěže | |
| <!--WTD_QUIZ(DESCRIPTION)--> | Popis | |
| <!--WTD_QUIZ(ID)--> | ID soutěže | |
| <!--WTD_QUIZ(QUESTIONCOUNT)--> | Počet otázek v soutěži | |
| <!--WTD_QUIZ(DATEFROM)--> | Počáteční datum platnosti soutěže | |
| <!--WTD_QUIZ(TIMEFROM)--> | Počáteční čas platnosti soutěže | |
| <!--WTD_QUIZ(DATETO)--> | Koncové datum platnosti soutěže | |
| <!--WTD_QUIZ(TIMETO)--> | Koncový čas platnosti soutěže | |
V poli pro popis lze pak použít klíčové slovo <!--WTD_NEWS(xxx)-->, jak je popsáno v kapitole Data.
V předloze lze použít následující klíčová slov pro část formuláře pro personální údaje.
| Klíčová slova použitelná ve formuláři soutěže | ||
| Klíčové slovo | Význam | Poznámka |
| <!--WTD_QUIZ(FIRSTNAME)--> | Jméno | |
| <!--WTD_QUIZ(LASTNAME)--> | Příjmení | |
| <!--WTD_QUIZ(EMAIL)--> | ||
| <!--WTD_QUIZ(GSM)--> | Mobilní telefon | |
| <!--WTD_QUIZ(GSM_PREFIX)--> | Mobilní telefon - předvolba | |
| <!--WTD_QUIZ(PHONENUMBER)--> | Telefonní číslo | |
| <!--WTD_QUIZ(ADDRESS)--> | Adresa | |
| <!--WTD_QUIZ(CITY)--> | Město | |
| <!--WTD_QUIZ(COUNTRY)--> | Země | |
| <!--WTD_QUIZ(ZIP)--> | PSČ | |
| <!--WTD_QUIZ(REGCODE)--> | Registrační kód | |
| <!--WTD_QUIZ(USERNOTE)--> | Poznámka | |
Tato část formuláře pak může vypadat např. následovně:
<table>
<tr>
<td align="right">
<label for="firstname">Jméno</label>
</td>
<td>
<input type="text" name="firstname" id="firstname" value="<!--WTD_QUIZ(FIRSTNAME)-->" maxlength="40" />
</td>
</tr>
<tr>
<td align="right">
<label for="lastname">Příjmení</label>
</td>
<td>
<input type="text" name="lastname" id="lastname" value="<!--WTD_QUIZ(LASTNAME)-->" maxlength="40" />
</td>
</tr>
<tr>
<td align="right">
<label for="email">E-mail</label>
</td>
<td>
<input type="text" name="email" id="email" value="<!--WTD_QUIZ(EMAIL)-->" maxlength="60" />
</td>
</tr>
<tr>
<td align="right">
<label for="gsm_prefix">Mobil</label>
</td>
<td>
<input type="text" name="gsm_prefix" id="gsm_prefix" value="<!--WTD_QUIZ(GSM_PREFIX)-->" maxlength="4" size="3" />
<input type="text" name="gsm" id="gsm" value="<!--WTD_QUIZ(GSM)-->" maxlength="6" size="6" />
</td>
</tr>
<tr>
<td align="right">
<label for="phonenumber">Tel.</label>
</td>
<td>
<input type="text" name="phonenumber" id="phonenumber" value="<!--WTD_QUIZ(PHONENUMBER)-->" maxlength="20" />
</td>
</tr>
<tr>
<td align="right">
<label for="address">Adresa</label>
</td>
<td>
<input type="text" name="address" id="address" value="<!--WTD_QUIZ(ADDRESS)-->" maxlength="60" />
</td>
</tr>
<tr>
<td align="right">
<label for="city">Město</label>
</td>
<td>
<input type="text" name="city" id="city" value="<!--WTD_QUIZ(CITY)-->" maxlength="60" />
</td>
</tr>
<tr>
<td align="right">
<label for="country">Stát</label>
</td>
<td>
<input type="text" name="country" id="country" value="<!--WTD_QUIZ(COUNTRY)-->" maxlength="40" />
</td>
</tr>
<tr>
<td align="right">
<label for="zip">PSČ</label>
</td>
<td>
<input type="text" name="zip" id="zip" value="<!--WTD_QUIZ(ZIP)-->" maxlength="60" />
</td>
</tr>
<tr>
<td align="right">
<label for="regcode">Registrační kód</label>
</td>
<td>
<input type="text" name="regcode" id="regcode" value="<!--WTD_QUIZ(REGCODE)-->" maxlength="60" />
</td>
</tr>
<tr>
<td align="right">
<label for="usernote">Poznámka</label>
</td>
<td>
<input type="text" name="usernote" id="usernote" value="<!--WTD_QUIZ(USERNOTE)-->" size="60">
</td>
</tr>
</table>
Dále se v předloze používají:
<!--WTD_QUIZ(LIST)--> - seznam otázek a odpovědí je v předloze reprezentován tímto klíčovým slovem
<!--WTD_QUIZ(ADDURL)--> - URL pro uložení dat, používá se jako hodnota atributu action formuláře.
V předloze pro zobrazení soutěže v aktivním stavu lze použít následující výrazy pro chybová hlášení:
<!--WTD_IF(QUIZINCOMPLETE, "U všech otázek musí být zvolena odpověď.")--> - kód se vloží v případě, že uživatel nevybral odpověď na všechny otázky.
<!--WTD_IF(MANDATORYERROR,"Některé povinné pole formuláře není vyplněno.")--> - vloží se v případě, že některé pole označené jako povinné v tabulce QUIZCONTITEMS není vyplněno.
V předloze pro potvrzení uložení lze použít všechna klíčová slova pro informační texty o soutěži (název soutěže, počet otázek apod.) a všechna klíčová slova pro personální údaje (jméno, příjmení apod.). Dále lze použít podmíněné výrazy
<!--WTD_IF(GENERALERROR,"Obsah formuláře nelze zapsat.")--> - vloží se v případě, že do databáze nebylo z nějakého důvodu možné data zapsat.
<!--WTD_IF(SUCCESS,"Vaše odpovědi byly uloženy.")--> - vloží se v případě, že data byla úspěšně uložena.
Jednoduchý formulář pro předlohu soutěže v aktivním stavu může tedy vypadat např. následovně:
<form action="<!--WTD_QUIZ(ADDURL)--> " method="post">
<h3><!--WTD_QUIZ(NAME)--></h3>
Soutěž probíhá od <!--WTD_QUIZ(DATEFROM)--> do <!--WTD_QUIZ(DATETO)-->. Odpovězte prosím na všech <!--WTD_QUIZ(QUESTIONCOUNT)--> otázek soutěže.<br />
<!--WTD_IF(QUIZINCOMPLETE, "U všech otázek musí být zvolena odpověď.")-->
<!--WTD_IF(MANDATORYERROR,"Některé povinné pole formuláře není vyplněno.")-->
<div><strong>Soutěžní otázky:</strong><br/><!--WTD_QUIZ(LIST)--></div>
<hr />
Jméno: <input type="text" name="firstname" value="<!--WTD_QUIZ(FIRSTNAME)-->" maxlength="40" /><br />
Příjmení: <input type="text" name="lastname" value="<!--WTD_QUIZ(LASTNAME)-->" maxlength="40" /><br />
Ulice: <input type="text" name="address" value="<!--WTD_QUIZ(ADDRESS)-->" maxlength="60" /><br />
Město: <input type="text" name="city" value="<!--WTD_QUIZ(CITY)-->" maxlength="60" /><br />
E-mail: <input type="text" name="email" value="<!--WTD_QUIZ(EMAIL)-->" maxlength="60" /><br />
<input type="submit" value="Odeslat">
</form>
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.
Formulářová pole a další možné parametry prezentačních skriptů
Skript používá následující parametry z URL nebo formuláře pro soutěž.
| Parametr | Význam |
| id | ID soutěže |
| tmplid | ID předlohy |
| patternid | ID předpisu |
| q_... | Identifikátor zvolené odpovědi |
| firstname | Jméno |
| lastname | Příjmení |
| gsm_prefix | GSM předvolba |
| gsm | GSM číslo |
| phonenumber | Telefon |
| address | Adresa |
| city | Město |
| country | Země |
| regcode | Registrační kód |
| usernote | Poznámka |
| ev | Vyznačení volání v náhledovém režimu |