WebToDate/Veřejné zakázky/Reference: Porovnání verzí

Z WebToDate
Skočit na navigaciSkočit na vyhledávání
Bajkvl (diskuse | příspěvky)
 
(Není zobrazeno 10 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
[[Category:WebToDate 4.1 Veřejné zakázky]]
[[Category:WebToDate Veřejné zakázky]]
[[Category:Veřejné zakázky]]
[[Category:Veřejné zakázky]]
== Administrační rozhraní ==
== Administrační rozhraní ==
Řádek 316: Řádek 316:
Všechny položky v této záložce jsou pouze pro čtení.
Všechny položky v této záložce jsou pouze pro čtení.


Tlačítko '''Rozeslat e-maily''' je ve formuláři pouze v případě, že je v předvolbách nastaveno ''Odesílat e-mail při zodpovězení dotazu''. Tlačítko otevírá v novém okně funkci pro odeslání e-mailů:
Tlačítko '''Rozeslat e-maily''' je ve formuláři pouze v případě, že je v předvolbách nastaveno ''Odesílat e-mail při zodpovězení dotazu''. Tlačítko otevírá v novém okně funkci pro odeslání e-mailů:


[[Image:verejnezakazky-reference-img018.png|center]]
[[Image:verejnezakazky-reference-img018.png|center]]
Řádek 323: Řádek 323:


V databázi se zároveň poznamenává, že na daný dotaz již byly rozeslány e-maily a tato skutečnost se zobrazuje ve sloupci ''Odesláno'' seznamu dotazů. Modul nebrání odeslat e-maily k jednomu dotazu opakovaně, pak se již tento příznak nemění a zůstává ''Odesláno''.
V databázi se zároveň poznamenává, že na daný dotaz již byly rozeslány e-maily a tato skutečnost se zobrazuje ve sloupci ''Odesláno'' seznamu dotazů. Modul nebrání odeslat e-maily k jednomu dotazu opakovaně, pak se již tento příznak nemění a zůstává ''Odesláno''.


====Audit====
====Audit====
Řádek 339: Řádek 338:


<code>
<code>
  <nowiki>'''Zakázka: jméno zakázky'''</nowiki>
  '''Zakázka: jméno zakázky'''
  <nowiki>'''URL: URL zprávy se zakázkou'''</nowiki>
  '''URL: URL zprávy se zakázkou'''
  <nowiki>'''Informace o zakázce'''</nowiki>
  '''Informace o zakázce'''
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>'''Informace o přílohách k&nbsp;zakázce'''</nowiki>
  '''Informace o přílohách k&nbsp;zakázce'''
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>'''Informace o dotazech'''</nowiki>
  '''Informace o dotazech'''
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
  <nowiki>Datum a čas Jméno uživatele Popis</nowiki>
Řádek 357: Řádek 356:


Pomocí tlačítka '''Vytiskout''' se vyvolá systémový dialog pro tisk, sestava se pak tiskne ve formátu vhodném pro tisk.
Pomocí tlačítka '''Vytiskout''' se vyvolá systémový dialog pro tisk, sestava se pak tiskne ve formátu vhodném pro tisk.


====Export====
====Export====
Řádek 389: Řádek 387:


{| class="prettytable"
{| class="prettytable"
| DBF
| rowspan="2"| DBF
 
| Maximální délka názvu sloupce je 10 znaků. Pokud má v&nbsp;SQL databázi daný sloupec název s&nbsp;větší délkou, je název pole v&nbsp;exportovaném souboru oříznut na 10 znaků.
| Maximální délka názvu sloupce je 10 znaků. Pokud má v&nbsp;SQL databázi daný sloupec název s&nbsp;větší délkou, je název pole v&nbsp;exportovaném souboru oříznut na 10 znaků.


Řádek 397: Řádek 395:


|-
|-
| XML
|rowspan="2"|XML
 
| Konvence ohledně pojmenování XML elementů v&nbsp;exportovaném souboru je následující:
| Konvence ohledně pojmenování XML elementů v&nbsp;exportovaném souboru je následující:
Název kořenového elementu je stejný jako název exportované datové tabulky (tedy XREGISTR)
*Název kořenového elementu je stejný jako název exportované datové tabulky (tedy XREGISTR)
Elementy oddělující jednotlivé řádky (původní záznamy v&nbsp;SQL tabulce) se vždy jmenují <nowiki><row>
*Elementy oddělující jednotlivé řádky (původní záznamy v&nbsp;SQL tabulce) se vždy jmenují <nowiki><row></nowiki>
Elementy pro jednotlivá pole jsou pojmenována stejně jako názvy sloupců v&nbsp;datové tabulce, tedy např. <JOBTITLE></nowiki> apod., názvy nemají délkový limit jak je tomu u DBF souborů.
*Elementy pro jednotlivá pole jsou pojmenována stejně jako názvy sloupců v&nbsp;datové tabulce, tedy např. <JOBTITLE></nowiki> apod., názvy nemají délkový limit jak je tomu u DBF souborů.


|-
|-
Řádek 408: Řádek 406:


|-
|-
| CSV
| rowspan="4"|CSV
 
 
 
| Lze zvolit jako oddělovač polí čárku nebo středník, záznamy jsou vždy odděleny znakem pro konec řádky.
| Lze zvolit jako oddělovač polí čárku nebo středník, záznamy jsou vždy odděleny znakem pro konec řádky.


Řádek 449: Řádek 447:
* ''questionlist.php'' - seznam dotazů
* ''questionlist.php'' - seznam dotazů


=== Skripty pro registraci ===
=== Skripty pro registraci===


Uživatel zpravidla nejprve vidí stránku se zprávou na adrese ''/scripts/detail.php?id=xxx''. Ve stránce má informaci o tom, že stahovat přílohy mohou pouze registrovaní uživatelé a odkaz na registraci ''/scripts/modules/tender/registr1.php?tid=xxx'' (''tid'' je ID zakázky'').''
Uživatel zpravidla nejprve vidí stránku se zprávou na adrese ''/scripts/detail.php?id=xxx''. Ve stránce má informaci o tom, že stahovat přílohy mohou pouze registrovaní uživatelé a odkaz na registraci ''/scripts/modules/tender/registr1.php?tid=xxx'' (''tid'' je ID zakázky'').''
Řádek 605: Řádek 603:
  <nowiki><input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" /></nowiki>
  <nowiki><input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" /></nowiki>
  <nowiki>Pokud jste se již k nějaké zakázce registroval(a), zadejte svoje jméno a heslo.<br></nowiki>
  <nowiki>Pokud jste se již k nějaké zakázce registroval(a), zadejte svoje jméno a heslo.<br></nowiki>
  <nowiki><input type="radio" id="existing_user" name="userchoice" value="existing" <!--WTD_TENDER(EXISTINGUSER)--> /> <label for="existing_user">Již jsem se k nějaké zakázce registroval</label><br /></nowiki>
  <nowiki><input type="radio" id="existing_user" name="userchoice" value="existing" <!--WTD_TENDER(EXISTINGUSER)--> />  
<label for="existing_user">Již jsem se k nějaké zakázce registroval</label><br /></nowiki>
  <nowiki><table></nowiki>
  <nowiki><table></nowiki>
  <nowiki><tr></nowiki>
  <nowiki><tr></nowiki>
Řádek 958: Řádek 957:


<code>
<code>
  <nowiki>Potvrzujeme, že jste se registroval k zakázce <!--WTD_TENDER(NAME)--> dne <!--WTD_TENDER(REGDATE)--> v <!--WTD_TENDER(REGTIME)--> hodin pod uživatelským jménem <!--WTD_TENDER(USERNAME)--> a heslem <!--WTD_TENDER(PASSWORD)-->.</nowiki>
  <nowiki>Potvrzujeme, že jste se registroval k zakázce <!--WTD_TENDER(NAME)--> dne <!--WTD_TENDER(REGDATE)--> v  
<!--WTD_TENDER(REGTIME)--> hodin pod uživatelským jménem <!--WTD_TENDER(USERNAME)--> a heslem <!--WTD_TENDER(PASSWORD)-->.</nowiki>
  <nowiki><!--WTD_IF(ACTEMAIL,"Odesílání e-mailů s novými dotazy k zakázce lze aktivovat pomocí této stránky: <!--WTD_TENDER(ACTURL)--> ")--></nowiki>
  <nowiki><!--WTD_IF(ACTEMAIL,"Odesílání e-mailů s novými dotazy k zakázce lze aktivovat pomocí této stránky: <!--WTD_TENDER(ACTURL)--> ")--></nowiki>
</code>
</code>
Řádek 1 405: Řádek 1 405:
|}
|}


<div class="note">Poznámka: Text dotazu a odpovědi se formátuje pomocí konstant DYNAMIC_LINE_BREAK_BEGIN a DYNAMIC_LINE_BREAK_END z konfiguračního souboru global.php WebToDate.</div>
<div class="note">Poznámka: Text dotazu a odpovědi se formátuje pomocí konstant DYNAMIC_LINE_BREAK_BEGIN a DYNAMIC_LINE_BREAK_END z konfiguračního souboru ''[[../../Referenční/Konfigurace WebToDate#Globální konfigurace WebToDate|global.php]]'' WebToDate.</div>




Řádek 1 416: Řádek 1 416:


* '''''registr1.php'' - první krok registrace'''
* '''''registr1.php'' - první krok registrace'''
* tid - ID zakázky
** tid - ID zakázky
* userchoice - výběr zda se jedná o nového či existujícího uživatele
** userchoice - výběr zda se jedná o nového či existujícího uživatele
* username - už. jméno
** username - už. jméno
* password - heslo
** password - heslo
* '''''registr2.php'' - druhý krok registrace'''
* '''''registr2.php'' - druhý krok registrace'''
* tid - ID zakázky
** tid - ID zakázky
* username - už. jméno
** username - už. jméno
* password - heslo
** password - heslo
* firstname
** firstname
* lastname
** lastname
* companyname
** companyname
* email
** email
* address
** address
* city
** city
* country
** country
* zip
** zip
* '''''confirm.php'' - potvrzovací stránka (registrace, vložení dotazu)'''
* '''''confirm.php'' - potvrzovací stránka (registrace, vložení dotazu)'''
* tid - ID zakázky
** tid - ID zakázky
* from - zda se jedná o potvrzení registrace nebo dotazu
** from - zda se jedná o potvrzení registrace nebo dotazu
* '''''activate.php'' - aktivace zasílání e-mailů'''
* '''''activate.php'' - aktivace zasílání e-mailů'''
* tid - ID zakázky
** tid - ID zakázky
* id - ID uživatele z&nbsp;tabulky '''TENDERREGISTR'''
** id - ID uživatele z&nbsp;tabulky '''TENDERREGISTR'''
* regcode - vygenerovaný aktivační kód
** regcode - vygenerovaný aktivační kód
* '''''login.php'' - přihlášení k&nbsp;zakázce'''
* '''''login.php'' - přihlášení k&nbsp;zakázce'''
* tid - ID zakázky
** tid - ID zakázky
* username - už. jméno
** username - už. jméno
* password - heslo
** password - heslo
* '''''newquestion.php'' - vložení nového dotazu'''
* '''''newquestion.php'' - vložení nového dotazu'''
* tid - ID zakázky
** tid - ID zakázky
* '''''questionlist.php'' - seznam dotazů'''
* '''''questionlist.php'' - seznam dotazů'''
* tid - ID zakázky
** tid - ID zakázky
* pg - číslo stránky v&nbsp;rámci stránkování
** pg - číslo stránky v&nbsp;rámci stránkování

Aktuální verze z 15. 6. 2011, 14:44

Administrační rozhraní

Nabídka modulu

Nabídka modulu vypadá následovně:

Nastavení

Globální
Registrace
Dotazy
E-maily
Navigační lišta

Administrace

Předvolby
Údaje
Práva

Data

Zakázky
Dotazy
Audit
Export

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.

Administrace

Předvolby

Ve formuláři Předvolby se nastavují zejména události, při kterých se odesílají e-maily.

Formulář obsahuje následující položky:

  • Výchozí skupina - rozevírací nabídka se seznamem skupin modulu Registrace a personalizace. Vybírá se, do jaké skupiny modulu Registrace a personalizace jsou vkládáni uživatelé, kteří se poprvé registrují k nějaké zakázce.
  • Druh seznamu příloh - rozevírací nabídka s druhy seznamů příloh WebToDate. Vybírá se, k jakému druhu seznamu se připojují u zpráv soubory ke stažení k zakázce.
  • Odesílat e-maily potvrzující registraci - zaškrtávací okénko vyznačující, zda odesílat e-maily potvrzující registraci k zakázce. Pokud je zaškrtnuto, je uživateli, který se registroval, odeslán e-mail potvrzující tuto skutečnost. Aby mohl být e-mail odeslán, musí být rovněž nastavena předloha NastaveníGlobálníE-maily - E-mail s potvrzením registrace.
  • E-maily odesílat pouze na ověřené adresy - zaškrtávací okénko vyznačující, zda následně odesílat e-maily jen těm, kteří z e-mailu potvrdili svoji adresu. E-mail s potvrzením registrace může obsahovat aktivační odkaz, po jeho vyvolání se v databázi vyznačí, že uživatel si tuto možnost aktivoval (a zároveň je tak ověřena jeho e-mailová adresa).
  • Odesílat e-maily potvrzující vložení dotazu - zaškrtávací okénko vyznačující, zda odesílat uživatelům e-maily potvrzující vložení dotazu. Aby mohl být e-mail odeslán, musí být rovněž nastavena předloha NastaveníGlobálníE-maily - E-mail s potvrzením vložení dotazu.
  • Odesílat nové dotazy správci zakázky - zaškrtávací okénko vyznačující, zda odesílat e-maily moderátorovi informující o vložení nového dotazu. Tato e-mailová adresa se pak nachází ve formuláři pro úpravu zakázky. Aby mohl být e-mail odeslán, musí být rovněž nastavena předloha NastaveníGlobálníE-maily - E-mail s novým dotazem správci.
  • Odesílat e-mail při zodpovězení dotazu - zaškrtávací okénko vyznačující, zda je ve formuláři pro úpravu dotazu k dispozici tlačítko Rozeslat e-maily, který se odesílají e-maily s dotazem všem uživatelům registrovaným k zakázce. Aby mohl být takový e-mail odeslán, musí být rovněž nastavena předloha NastaveníGlobálníE-maily - E-mail se zodpovězeným dotazem.


Údaje

Ve formuláři Údaje se nastavuje, které údaje budou používány v registračním formuláři a které z nich jsou povinné.

V tabulce jsou údaje organizovány do 4 sloupců:

  • Název pole (nelze změnit) – označuje interní název příslušného pole (název pak odpovídá klíčovému slovu, které lze použít v šabloně).
  • Popis (předvyplněný) – obsahuje popisek pole.
  • Zaškrtávací okénko Použít definuje, zda bude příslušné pole zobrazeno v registračním formuláři.
  • Zaškrtávací okénko Vyžadovat určuje, zda bude vyplnění pole pro uživatele povinné.

Chování této funkce vůči registračnímu formuláři v příslušné předloze je následující:

  • Pokud se přidá dodatečně další pole do struktury ve sloupci Použít, pole se do registračního formuláře automaticky nepřidá. Pokud se toto pole ve sloupci Použít dodatečně vypne, změna se v registračním formuláři 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 Vyžadovat, změna se ihned aplikuje. Pokud např. některé pole bylo ve formuláři, nebylo vyžadováno jeho vyplnění a v nastavení Údaje toto změníte, vyplnění pole začne být ihned ve formuláři vyžadováno.


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 zakázky, zodpovídat dotazy apod. Seznam oprávněných týmů se spravuje způsobem obvyklým v modulech WebToDate.

Nastavení

Registrace

V nastavení Registrace se volí všechny předlohy související s registračním procesem. Registrační proces, který modul podporuje, je znázorněn na následujícím diagramu.

Po klepnutí na odkaz na registraci se nejprve objeví stránka obsahující zhruba následující formulář.

Pokud uživatel zadá jméno a heslo, hledá se v databázi v modulu Registrace a personalizace v aktivních uživatelích. Pokud je uživatel nalezen, zobrazí se registrační formulář, ve kterém se zadávají jen kontaktní údaje (a formulář je předvyplněn).

Dochází zde tedy k větvení na následující možnosti:

  1. uživatel zadal jméno a heslo, ale nebyl nalezen - vrací se zpět na tuto stránku
  2. uživatel zadal jméno a heslo a byl nalezen - zobrazí se registrační formulář k dané zakázce, který obsahuje kontaktní údaje, které jsou předvyplněny. Po odeslání tohoto registračního formuláře je přihlášen k dané zakázce.
  3. uživatel zvolí možnost, že se ještě neregistroval. Pak se mu zobrazí prázdný registrační formulář, kde vyplňuje jak kontaktní údaje, tak jméno a heslo. Po odeslání formuláře je automaticky přihlášen k dané zakázce.

V případě 2. se zobrazí registrační formulář pro zadání registračních údajů, které jsou předvyplnění z databáze modulu Registrace a personalizace. Uživatel je identifikován a formulář slouží k tomu, aby mohl pro danou konkrétní zakázku změnit některé své údaje (např. e-mailovou adresu, na kterou chce dostávat e-maily vztahující se k této zakázce).

Při pokusu o odeslání formuláře se kontroluje povinné vyplnění polí, pokud nejsou vyplněna všechna pole, uživatel je vrácen zpět na tuto stránku a upozorněn, který údaj chybí nebo je špatně vyplněn (např. email). Pokud proběhnou kontroly v pořádku, dojde k následujícímu:

  • Zobrazí se potvrzovací stránka
  • Je proveden zápis do databáze modulu (do modulu Registrace a personalizace se v tomto případě nezapisuje).
  • Uživatel je automaticky přihlášen k zakázce, ke které se právě registroval
  • Volitelně je odeslán e-mail s potvrzením registrace k zakázce.

V případě 3. se zobrazí kompletní registrační formulář (tj. včetně uživatelského jména, hesla apod.). Uživatel vyplní formulář, při odeslání se kontrolují povinná pole, pokud nejsou vyplněny, vrací se zpět a dle upozornění doplní chybějící nebo opraví špatně vyplněné údaje (např. e-mail). Pokud proběhnou kontroly v pořádku, dojde k následujícímu:


  • Zobrazí se potvrzovací stránka
  • Je proveden zápis do databáze modulu Registrace a personalizace (všechny údaje) a do modulu Veřejné zakázky (údaje bez uživatelského jména a hesla)
  • Uživatel je automaticky přihlášen k zakázce, ke které se právě registroval.
  • Volitelně je odeslán e-mail s potvrzením registrace k zakázce.

Změna existující registrace v tomto modulu není podporována.

Ve formuláři Registrace se tedy nastavují následující předlohy:

  • První stránka registrace – jde o stránku, obsahující volbu, zda se jedná o nového nebo existujícího uživatele
  • Registrace stávajícího uživatele – jde o stránku s formulářem, kde uživatel zadává údaje specifické pro danou zakázku, nikoli ale třeba uživatelské jméno nebo heslo.
  • Registrace nového uživatele – stránka je určena pro uživatele, kteří se ještě neregistrovali k žádné zakázce, obsahuje kompletní registrační formulář.
  • Potvrzení uložení registrace – stránka se zobrazí v případě, že uživatel se úspěšně k dané zakázce zaregistroval
  • Přihlašovací stránka – stránka se zobrazí v případě, že uživatel klepnul na nějaký odkaz vyžadující přihlášení k dané zakázce (seznam dotazů apod.)
  • Potvrzení aktivace odesílání e-mailů – stránka se zobrazí v případě, že uživatel klepnul v e-mailu potvrzujícím registraci na odkaz, kterým se aktivuje zasílání e-mailů na jeho adresu.
  • Ukončená platnost registrace – pokud již registrace k zakázce nejsou možné (ve formuláři pro úpravy zakázky není zaškrtnuto Povolit nové registrace po ukončení platnosti a zároveň čas ukončení platnosti již vypršel), použije se při pokusu o novou registraci tato předloha, která by měla informovat o nastalé skutečnosti.


Dotazy

Formulář Dotazy specifikuje nastavení zobrazování stránek pro vkládání dotazů a zobrazování seznamů dotazů.

Jsou zde následující volby:

  • Nový dotaz - vybírá se předloha pro zobrazení stránky s formulářem pro vložení nového dotazu
  • Potvrzení vložení dotazu – je-li úspěšně vložen nový dotaz, zobrazí se stránka pomocí této předlohy
  • Stránka seznamu dotazů - vybírá se předloha, která se použije pro seznam dotazů a odpovědí
  • Styl seznamu dotazů - vybírá se styl seznamu dotazů a odpovědí a počet záznamů na stránku


E-maily

Formulář E-maily obsahuje nastavení pro všechny typy e-mailů odesílaných modulem.

Formulář tedy obsahuje následující údaje:

  • E-mail od


  • E-mail s potvrzením registrace – tento typ e-mailu se odesílá registrujícímu se uživateli ve chvíli uložení registrace do databáze
  • Formát e-mailu s potvrzením registrace
  • Předmět e-mailu s potvrzením registrace


  • E-mail s potvrzením vložení dotazu - tento typ e-mailu se odesílá uživateli, který právě vložil nový dotaz k zakázce
  • Formát e-mailu s potvrzením dotazu
  • Předmět e-mailu s potvrzením dotazu


  • E-mail s novým dotazem správci - tento typ e-mailu se odesílá na e-mailovou adresu správce zakázky ve chvíli, kdy někdo vložil nový dotaz k zakázce
  • Formát e-mailu s dotazem
  • Předmět e-mailu s dotazem


  • E-mail se zodpovězeným dotazem – tento typ e-mailu je možno rozeslat všem uživatelům registrovaným k dané zakázce ve chvíli, kdy je zodpovězen nějaký dotaz
  • Formát e-mailu se zodpovězeným dotazem
  • Předmět e-mailu se zodpovězeným dotazem

Pole E-mail od je textové pole, kde je společná adresa, ze které se odesílá. Každá trojice nastavení pak obsahuje

  • Volbu předlohy e-mailu
  • Volbu formátu (text / HTML)
  • Předmět (subject) daného typu e-mailu


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ů dotazů.

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 reprezentována klíčovým slovem <!--WTD_TENDER(NAVIG)-->.

Data

Zakázky

Funkce Zakázky slouží ke správě zakázek. Po klepnutí na položku Zakázky v hlavní nabídce modulu se zobrazí v pravém horním rámci okna prohlížeče seznam zakázek setříděný podle data vložení sestupně, seznam obsahuje následující položky:

  • ID zakázky
  • Název zakázky
  • Datum vytvoření

Klepnutím na název zakázky se přechází na formulář pro úpravu zakázky. V horní liště seznamu zakázek je rovněž odkaz Vyhledat, pomocí kterého se přechází na vyhledávací formulář. Hledat lze podle:

  • ID zakázky
  • Názvu zakázky (část obsahu pole s názvem)
  • Čísla jednacího (část obsahu pole)
  • Platnosti od a do

Kritéria zadaná ve vyhledávacím formuláři se spojují logickou spojkou "a zároveň".

Formulář pro úpravu zakázky má dvě záložky, Základní a Soubory.

V záložce Základní jsou následující pole:

  • Název – povinně se vyplňuje název zakázky
  • Číslo jednací – nepovinně se zadává číslo jednací
  • Vytvořeno - zobrazuje datum a čas vytvoření záznamu bez možnosti editace
  • Platnost od – nepovinné zadání data a času zahájení platnosti zakázky
  • Platnost do - nepovinné zadání data a času ukončení platnosti zakázky
  • Povolit nové registrace po ukončení platnosti – pokud je zaškrtnuto, je registrace k zakázce funkční i po ukončení platnosti, v opačném případě je uživatel při pokusu o registraci přesměrován na stránku informující o nemožnosti se již registrovat
  • Povolit nové dotazy po ukončení platnosti – pokud je zaškrtnuto, lze nové dotazy vkládat i po ukončení platnosti, v opačném případě je uživatel přesměrován na stránku informující o nemožnosti vkládat dotazy
  • E-mail - do pole lze zadat jednu nebo více adres oddělených středníkem, na které se eventuálně zasílají nové dotazy k dané zakázce
  • Poznámka – libovolný text

V druhé záložce Soubory se zadává, jaká zpráva WebToDate se vztahuje k zakázce a jaké soubory z databáze zdrojů se k zakázce vztahují. Záložka se zobrazuje až po prvním uložení záznamu.

V horní části se zadává ID zprávy, ke které se zakázka váže. Lze zadat vypsáním ID zprávy nebo výběrem pomocí tlačítka Vybrat (viz níže). Při uložení se kontroluje, že se jedná o existující zprávu, nekontroluje se stav (zpráva nemusí být publikovaná). Dále je zde k dispozici tlačítko Náhled, kterým se zobrazuje náhled této zprávy (identická funkce jako náhled zprávy ve WebToDate).

Ve formuláři následuje seznam souborů a relevantní funkce. Do seznamu lze vložit soubory dvěma způsoby:

  • Pomocí tlačítka Připojit výběr souborů - vkládá do seznamu soubory z výběru souborů z databáze zdrojů WebToDate. Pokud je daný soubor již k zakázce připojen, znovu se nepřipojuje, i když ve výběru je.
  • Pomocí tlačítka Připojit přílohy zprávy - vkládá do seznamu soubory, které jsou aktuálně připojeny k vybrané zprávě k druhu seznamu, který je vybrán v předvolbách modulu. Opět se připojují jen ty, které ještě nejsou k zakázce připojeny.

Vlastní seznam souborů k zakázce zobrazuje následující položky:

  • Název zdroje, ze kterého soubor pochází
  • Název souboru
  • Velikost souboru
  • Ikonu pro zobrazení souboru
  • Ikonu pro odstranění souboru ze seznamu souborů k zakázce

Tlačítko Vybrat umožňuje jednoduchý výběr hledané zprávy z databáze zpráv místo zadávání ID. Zobrazuje dialog na následujícím otisku obrazovky.

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á ID zvolené zprávy do pole ID zprávy formuláře pro úpravu zakázky.


Dotazy

Pomocí funkce Dotazy se zodpovídají dotazy a spravuje obsah celé databáze dotazů k zakázkám. Po klepnutí na nabídku Dotazy se zobrazuje v pravém horním rámci prohlížeče seznam dotazů. Seznam je tříděn od nejnovějších k nejstarším a obsahuje ve výchozím stavu dotazy ke všem zakázkám.

V seznamu se nacházejí následující položky:

  • ID dotazu
  • Název výběrového řízení plus datum a čas vložení dotazu
  • Zodpovězeno (ano / ne) – zobrazuje stav dotazu
  • Odesláno (ano / ne) – zobrazuje, zda byl dotaz alespoň jednou rozeslán e-mailem registrovaným uživatelům.

V horní liště seznamu dotazů je odkaz Vyhledat, pomocí kterého se přechází na vyhledávací formulář. Vyhledávat lze podle:


  • ID dotazu
  • ID zakázky
  • Vloženo od - do
  • Stav (rozevírací nabídka Všechny / Vloženo / Zodpovězeno)

Vyhledávací podmínky se kombinují logickou spojkou "a zároveň".

Po klepnutí na položku ve sloupci s názvem výběrového řízení se zobrazí ve spodním rámci vstupní formulář pro editaci dotazu. Horní část formuláře s tlačítky obsahuje následující položky:

  • Uložit – tlačítko ukládá změny provedené ve formuláři
  • Smazat – tlačítko maže záznam daného dotazu. Pro mazání dotazů nejsou žádná omezení.
  • Nový – pomocí tlačítka se zakládá nový dotaz z administračního rozhraní, což lze využít např. pro oznámení uživatelům registrovaným k zakázce. Rozdíl oproti případu, kdy je dotaz zadán nějakým registrovaným uživatelem, je ten, že ve formuláři je nutné zadat ID zakázky (a vyplnit alespoň pole Dotaz) a že v záložce Vlastnosti formuláře nejsou žádné osobní údaje.
  • Rozeslat e-maily – tlačítko slouží k rozesílání e-mailů s dotazem (viz níže)
  • Stav – rozevírací nabídka obsahu možnost Vloženo / Zodpovězeno. Po vložení nového dotazu je tento stav nastaven na Vloženo, dotaz se objevuje v prezentační části v seznamu zodpovězených dotazů až když je zde stav změněn na Zodpovězeno.

Formulář má tři záložky – Dotaz, Odpověď a Vlastnosti.

Záložka Dotaz obsahuje následující pole:

  • Dotaz – text dotazu
  • Datum vložení – datum a čas vložení dotazu, doplňuje se automaticky

Záložka Odpověď obsahuje následující pole:

  • Odpověď – text odpovědi
  • Autor odpovědi – předvyplňuje se zde jméno a příjmení přihlášeného uživatele WebToDate, pole je ale volně editovatelné

Třetí záložka Vlastnosti obsahuje pod sebou následující pole:

  • Datum zodpovězení
  • Postupně všechna pole z formuláře Administrace - Údaje, která mají nastaveno příznak Používat. Uživatel tak vidí personální údaje tazatele.

Všechny položky v této záložce jsou pouze pro čtení.

Tlačítko Rozeslat e-maily je ve formuláři pouze v případě, že je v předvolbách nastaveno Odesílat e-mail při zodpovězení dotazu. Tlačítko otevírá v novém okně funkci pro odeslání e-mailů:

V dialogu je uvedeno, na kolik adres bude e-mail odeslán a seznam prvních 50 adres (toto číslo je dáno konfigurační konstantou WebToDate pro délku seznamů položek), resp. řádků se jménem, příjmením, firmou a e-mailovou adresou. Tlačítko Rozeslat spouští vlastní rozesílání, kromě registrovaných uživatelů e-mail směřuje i na adresy, které jsou zadány v záznamu zakázky jako správci zakázky.

V databázi se zároveň poznamenává, že na daný dotaz již byly rozeslány e-maily a tato skutečnost se zobrazuje ve sloupci Odesláno seznamu dotazů. Modul nebrání odeslat e-maily k jednomu dotazu opakovaně, pak se již tento příznak nemění a zůstává Odesláno.

Audit

Funkce Audit slouží k vygenerování sestavy, která zobrazuje informace o všech změnách týkajících se dané zakázky za zadané časové období.

V horní části je formulář s následujícími položkami:

  • Období od - do - dvě pole pro zadání data, obě data se musí vyplnit.
  • Radiopřepínač Všechny zakázky / Vybraná zakázka – lze vytvořit sestavu, která za dané období generuje sestavu buď k jedné konkrétní zakázce, nebo ke všem zakázkám z databáze
  • U pole Vybraná zakázka pole ID zakázky, které se musí vyplnit, pokud je zvoleno Vybraná zakázka.

Tlačítkem Spustit ve formuláři spouští generování sestavy. Sestava čerpá údaje z protokolů WebToDate a tohoto modulu. Tvar sestavy je následující:

Zakázka: jméno zakázky
URL: URL zprávy se zakázkou
Informace o zakázce
Datum a čas	Jméno uživatele	Popis
Datum a čas	Jméno uživatele	Popis
Informace o přílohách k zakázce
Datum a čas	Jméno uživatele	Popis
Datum a čas	Jméno uživatele	Popis
Informace o dotazech
Datum a čas	Jméno uživatele	Popis
Datum a čas	Jméno uživatele	Popis

Jedná se tedy o řádky, kde v každém řádku je nejprve datum a čas a jménu uživatele, který akci provedl a následuje textový popis události. Vypisují se všechny změny ve vlastním záznamu zakázky, ve zprávě patřící k zakázce, v přiložených souborech, dotazy k zakázce apod.

Poznámka: podle toho, jak byl vybrán časový interval a kolik se zpracovává zakázek, může příprava sestavy trvat delší dobu, v případě většího množství dat i několik minut.

Pomocí tlačítka Vytiskout se vyvolá systémový dialog pro tisk, sestava se pak tiskne ve formátu vhodném pro tisk.

Export

Pomocí funkce Export lze exportovat seznamy registrovaných uživatelů. Formulář je rozdělen na dvě záložky. První záložka exportního formuláře se nazývá Tabulka. Lze v ní specifikovat:

  • Které sloupce vybrané SQL tabulky se exportují
  • Které záznamy tabulky se exportují
  • V jakém pořadí se exportují

V prvé řadě se ve sloupci Vybrat pomocí zaškrtávacích políček vyznačí sloupce, které se mají exportovat.

Výchozí stav formuláře je takový, že není vybrán žádný sloupec. Přinejmenším je proto třeba použít tlačítko Vše a tím vybrat všechny sloupce tabulky.

Dále lze specifikovat kritéria pro export, v podstatě vyhledávací podmínku, která vybere určitou množinu záznamů tabulky. V příslušném řádku formuláře se ve sloupci Splňující podmínku vybere operátor (tj. např. =, >, < apod.) a ve stejném řádku ve sloupci Vzhledem k se zadá příslušná hodnota. Těchto omezujících podmínek lze zadat několik, ve spodní části formuláře je radiopřepínač specifikující, zda se více zadaných podmínek spojuje logickou spojkou "a zároveň" nebo logickou spojkou "nebo". Operátor LIKE znamená, že zadaný řetězec se vyskytuje kdekoliv v textu. Pokud není zadaná žádná omezující podmínka, exportují se všechny záznamy.

Je-li žádoucí exportovat seznam uživatelů registrovaných k jedné konkrétní zakázce, je třeba pro sloupec MAINID vybrat operátor = a zadat v tomto kritériu ID zakázky.

Další možností je specifikovat řazení záznamů do exportovaného souboru. Lze vybrat dva sloupečky, podle kterých se řadí (ve formuláři sloupce Primárně a Sekundárně), v posledním sloupci formuláře lze pak specifikovat, zda se jedná o vzestupné nebo sestupné řazení. Není-li žádné řazení vybráno, záznamy se exportují v pořadí, v jakém se nacházejí v SQL tabulce.

Ve druhé záložce Soubor se specifikuje formát exportovaného souboru, jeho název a volba, zda soubor v případě jeho existence kompletně přepsat nebo připojit data na konec souboru.

Název výstupního souboru zadávejte včetně přípony, vytváří se soubor podle přesně zadaného jména. Pomocí tlačítka Test lze ověřit, zda soubor se zadaným jménem již existuje a export se jej pokusí přepsat nebo takový soubor neexistuje a bude se zakládat nový.

Exportovaný soubor je exportní funkcí uložen do adresáře pro export (wwwroot/data/katalogy/export/).

Zvolit lze jeden z podporovaných formátů exportovaného souboru, poznámky k jednotlivým formátům jsou v následující tabulce.

DBF Maximální délka názvu sloupce je 10 znaků. Pokud má v SQL databázi daný sloupec název s větší délkou, je název pole v exportovaném souboru oříznut na 10 znaků.
Texty jsou v exportovaném DBF souboru v takovém kódování, v jakém jsou uloženy v SQL databázi.
XML Konvence ohledně pojmenování XML elementů v exportovaném souboru je následující:
  • Název kořenového elementu je stejný jako název exportované datové tabulky (tedy XREGISTR)
  • Elementy oddělující jednotlivé řádky (původní záznamy v SQL tabulce) se vždy jmenují <row>
  • Elementy pro jednotlivá pole jsou pojmenována stejně jako názvy sloupců v datové tabulce, tedy např. <JOBTITLE></nowiki> apod., názvy nemají délkový limit jak je tomu u DBF souborů.
Výstupní kódování je vždy utf-8.
CSV


Lze zvolit jako oddělovač polí čárku nebo středník, záznamy jsou vždy odděleny znakem pro konec řádky.
Do exportovaného CSV souboru se ve výchozím nastavení negenerují názvy sloupců, ale pouze vlastní data. V exportním formuláři je ale k dispozici volba umožňující zahrnout názvy sloupců do exportovaného souboru.
Texty jsou v CSV souboru v takovém kódování, v jakém jsou uloženy v SQL databázi.
Data se exportují ve formátu 2005-05-04 11:41:00 (stejně jako v XML formátu).

Veřejné skripty

Prezentační skripty - přehled

Návštěvníkovi webu se při práci se zakázkou mohou zobrazit následující typy stránek:

  • Stránka s textovou informací o zakázce (běžná zpráva WebToDate prezentovaná přes skript /scripts/detail.php)
  • Příloha ke stažení (dokument stahovaný přes skript /scripts/file.php s ověřením registrace)
  • Registrační formulář ve dvou stavech - plný registrační formulář a registrační formulář po zadání uživatelského jména a hesla, který obsahuje předvyplněné údaje; navíc v prvním kroku registrace se zobrazuje jednoduchý formulář, kde se volí, zda se jedná o nového nebo existujícího uživatele
  • Potvrzení registrace
  • Login pro přístup určený pouze registrovaným uživatelům
  • Formulář pro vložení dotazu
  • Potvrzení vložení dotazu
  • Stránka se seznamem zodpovězených dotazů

Modul má veřejné skripty v adresáři /scripts/modules/tender/. Jedná se o následující skripty:

  • registr1.php - první krok registrace
  • registr2.php - druhý krok registrace
  • confirm.php - potvrzovací stránka (registrace, vložení dotazu)
  • activate.php - aktivace zasílání e-mailů
  • login.php - přihlášení k zakázce
  • newquestion.php - vložení nového dotazu
  • questionlist.php - seznam dotazů

Skripty pro registraci

Uživatel zpravidla nejprve vidí stránku se zprávou na adrese /scripts/detail.php?id=xxx. Ve stránce má informaci o tom, že stahovat přílohy mohou pouze registrovaní uživatelé a odkaz na registraci /scripts/modules/tender/registr1.php?tid=xxx (tid je ID zakázky).

Na této stránce s registrací má k dispozici kromě informačních textů radiopřepínač s volbou rozhodující o tom, zda je k nějaké zakázce registrován nebo ne a přihlašovací dialog. Pokud zvolí, že je k nějaké zakázce registrován, zadává jméno a heslo. V tomto případě pro skript registr1.php platí:

  • pokud zvolil možnost, že je registrován, musí vyplnit jméno i heslo, pokud nejsou oba údaje vyplněny, vrací se na stejnou stránku.
  • Při vyplnění obou údajů se hledá uživatel v modulu Registrace a personalizace, který má daný login a je aktivní.
  • Pokud je nalezen, je uživatel přesměrován na skript /scripts/modules/tender/registr2.php?tid=xxx, který zobrazí předlohu pro existující uživatele, ve které jsou předvyplněna nalezená pole dle záznamu v tabulce registrovaných uživatelů modulu Registrace a personalizace.
  • Pokud není nalezen, vrací se zpět na stránku registr1.php.
  • Pokud zvolí druhou možnost (nikdy se neregistroval), je přesměrován na stránku /scripts/modules/tender/registr2.php?tid=xxx, ve které se zobrazí předloha pro nové uživatele (čili včetně už. jména a hesla).

Speciálním případem je pokus o registraci k zakázce, která má nastaveno Povolit nové registrace po ukončení platnosti na hodnotu nepovolit. Pak je uživatel přesměrován na stránku /scripts/modules/tender/confirm.php?tid=xxx&from=reg, kde je aktivováno hlášení o tom, že registrace k zakázce již nejsou možné.

Druhou speciální možností je, že uživatel vyznačil, že se již k nějaké jiné zakázce registroval, přitom v databázi ale je záznam vyznačující, že uživatel se pod tímto uživatelským jménem a heslem registroval k zakázce, ke které se snaží registrovat znovu. V takovém případě je přesměrován na stránku /scripts/modules/tender/confirm.php?tid=xxx&from=reg, kde je aktivováno hlášení o tom, že k zakázce je již registrován. Zároveň proběhne přihlášení k této zakázce, aby uživatel měl rovnou přístup ke stránkám zakázky.

Skript /scripts/modules/tender/registr2.php?tid=xxx může zobrazit jednu ze dvou předloh v závislosti na stavu procesu registrace. Pokud je uživatel přihlášen k modulu Registrace a personalizace, zobrazuje redukovaný formulář pro existující uživatel, pokud není přihlášen, zobrazuje plný formulář pro nové uživatele. Pokud uživatel nevyplnil všechny požadované údaje, je vrácen na stejnou stránku.

Pokud uživatel vyplnil všechny potřebné údaje, provádí se následující:

  • Pokud byl použit formulář pro nové uživatele, zakládá se záznam v tabulce registrovaných uživatelů modulu Registrace a personalizace. Jako skupina se použije skupina nastavená v předvolbách tohoto modulu, záznam je okamžitě aktivní, ostatní údaje se vyplní dle obsahu formuláře pro registraci.
  • Vytváří se nový záznam v tabulce registrací k zakázce. Pokud je v předvolbách modulu nastaveno E-maily odesílat pouze na ověřené adresy, je v registračním záznamu nastaveno, že účet nebyl z tohoto hlediska ověřen, v opačném případě je považován za ověřený a rovnou lze na něj posílat e-maily.
  • Uživatel je přihlášen k dané zakázce.
  • Pokud je v předvolbách modulu nastaveno Odesílat e-maily potvrzující registraci a v registraci je zadána e-mailová adresa, je uživateli odeslán potvrzující e-mail.
  • Uživatel je přesměrován na stránku /scripts/modules/tender/confirm.php?tid=xxx&from=reg, která zobrazí předlohu pro potvrzení registrace.

Součástí stránky zobrazené přes skript confirm.php může být odkaz na zprávu, která se týká dané zakázky, pomocí kterého se uživatel dostane zpět na stránku se zakázkou, je už ale zaregistrován a přihlášen, takže může stahovat přílohy apod.

Pokud je stránka /scripts/modules/tender/registr2.php?tid=xxx vyvolána přímo (bez průchodu uživatele prvním krokem registrace), zobrazí formulář pro nového uživatele, ale jen v případě, že pro zakázku není nastaveno Povolit nové registrace po ukončení platnosti na hodnotu nepovolit. V takovém případě se postupuje jako u prvního kroku, uživatel tedy dostane stránku /scripts/modules/tender/confirm.php?tid=xxx&from=reg s hlášením o nemožnosti registrace.

Skript pro přihlášení

Na skript /scripts/modules/tender/login.php?tid=xxx je uživatel přesměrován, kdykoli se zjistí, že se pokouší přistupovat ke stránce (příloze, seznamu dotazů, vložení nového dotazu), ke které není přihlášen. Stránka obsahuje formulář s uživatelským jménem a heslem. Pokud uživatel vyplní údaje špatně, zobrazí se opět login, pokud je úspěšně přihlášen, je přesměrován zpět na původně žádanou stránku. V případě, že původně žádanou stránku nelze zjistit, je přesměrován na stránku se zprávou, která patří k dané zakázce.

Podmínkou úspěšného přihlášení je:

  • Ověření vůči databázi registrovaných uživatelů modulu Registrace a personalizace (jméno a heslo a účet musí být aktivní)
  • Nalezení odpovídajícího záznamu seznamu uživatelů registrovaných k dané zakázce.

Uživatel je na přihlašovací stránku přesměrován i v případě, že je již přihlášen, ale k jiné zakázce. V takovém případě po přihlášení je přihlášení k původní zakázce zapomenuto a v případě pokusu o zobrazení nějaké stránky původní zakázky se opět musí přihlásit.

Skripty pro dotazy k zakázkám

Skript /scripts/modules/tender/newquestion.php?tid=xxx zobrazuje stránku s formulářem pro vložení nového dotazu. Formulář obsahuje pouze jedno pole s textem dotazu. Kontroluje se jeho vyplnění, pokud je vyplněn, provádí se následující:

  • Je uložen nový záznam dotazu.
  • Pokud je v předvolbách modulu nastaveno Odesílat nové dotazy správci zakázky a ve formuláři pro úpravu zakázky byla zadána alespoň jedna adresa, odesílá se e-mail o novém dotazu na zde uvedené adresy.
  • Pokud je v předvolbách modulu nastaveno Odesílat e-maily potvrzující vložení dotazu, odesílá se e-mail potvrzující dotaz. Zde zároveň platí, že pokud je v předvolbách nastaveno E-maily odesílat pouze na ověřené adresy, odesílá se e-mail jen uživateli, který má nastaven příznak ověření adresy.
  • Uživatel je přesměrován na skript /scripts/modules/tender/confirm.php?tid=xxx&from=q, který zobrazuje stránku s potvrzením vložení dotazu.

Při ukládání dotazu se pracuje s nastavením Povolit nové dotazy po ukončení platnosti v zakázce. Pokud je toto nastaveno na hodnotu nepovolit a nastal čas ukončení platnosti, nové dotazy nelze vkládat a skript confirm.php vypíše odpovídající chybovou hlášku. Pokud je toto nastaveno na hodnotu povolit a nastal čas ukončení platnosti, lze nové dotazy vkládat, ale v předloze může být hlášení informující o tom, že platnost je již ukončena a provozovatel nemá povinnost dotaz zodpovědět.

Stránka /scripts/modules/tender/questionlist.php?tid=xxx, zobrazuje přihlášeným uživatelům seznam zodpovězených dotazů, seznam je vždy setříděn od nejnovějších k nejstarším. Zodpovězený dotaz se identifikuje tak, že jeho stav je Zodpovězeno.

Klíčová slova modulu

V předloze pro zprávu lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro zprávu
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(QCOUNT)--> Počet zodpovězených dotazů Počet existujících zodpovězených dotazů k zakázce, ke které patří zpráva

Dále lze využít podmíněnou konstrukci

<!--WTD_IF(HASTENDER,"…")-->

Kód v uvozovkách se vkládá v případě, že ke zprávě je přiřazena nějaká zakázka.

Ve předloze pro zprávy se zakázkami se tedy může nacházet zhruba následující kód:

<div>
<p>Chcete-li k z zakázce stahovat soubory, klást dotazy nebo prohlížet seznam dotazů, musíte se k této zakázce zaregistrovat.</p>
<a href="/scripts/modules/tender/registr1.php?tid=<!--WTD_TENDER(ID)-->">Registrace k zakázce</a><br />
<a href="/scripts/modules/tender/newquestion.php?tid=<!--WTD_TENDER(ID)-->">Vložení novéhé dotazu</a><br />
<a href="/scripts/modules/tender/questionlist.php?tid=<!--WTD_TENDER(ID)-->">Seznam dotazů</a> (k zakázce je v tuto chvíli <!--WTD_TENDER(QCOUNT)--> zodpovězených dotazů)<br />
</div>


V předloze pro první krok registrace (skript registr1.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro první krok registrace
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(EXISTINGUSER)--> Existující uživatel Hodnota radiopřepínače
<!--WTD_TENDER(NEWUSER)--> Nový uživatel Hodnota radiopřepínače
<!--WTD_TENDER(USERNAME)--> Uživatelské jméno
<!--WTD_TENDER(PASSWORD)--> Heslo

Pro radiopřepínač se za hodnotu dosazuje výraz checked="checked", jako výchozí se ve formuláři aktivuje volba <!--WTD_TENDER(NEWUSER)-->.

Dále lze pro oznámení toho, že uživatel nezadal správný login, použít konstrukci

<!--WTD_IF(BADUSERNAME,"Uživatel nenalezen.")-->

Kód formuláře tedy může být zhruba následující:

<form action="/scripts/modules/tender/registr1.php" method="post">
<input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" />
Pokud jste se již k nějaké zakázce registroval(a), zadejte svoje jméno a heslo.<br>
<input type="radio" id="existing_user" name="userchoice" value="existing" <!--WTD_TENDER(EXISTINGUSER)--> /> 
<label for="existing_user">Již jsem se k nějaké zakázce registroval</label><br />
<table>
<tr>
<td align="right"><label for="username">Uživatelské jméno</label></td>
<td><input type="text" name="username" id="username" value="<!--WTD_TENDER(USERNAME)-->" maxlength="20" /></td>
</tr>
<tr>
<td align="right"><label for="password">Heslo</label></td>
<td><input type="password" name="password" id="password" value="<!--WTD_TENDER(PASSWORD)-->" maxlength="20" /></td>
</tr>
</table>
<!--WTD_IF(BADUSERNAME,"Chybné uživatelské jméno nebo heslo.")-->
<input type="radio" id="new_user" name="userchoice" value="new" <!--WTD_TENDER(NEWUSER)--> /> <label for="new_user">Ještě jsem se k žádné zakázce neregistroval</label><br/>
<input type="submit" name="send" id="send" value="Pokračovat" />
</form>


V předloze pro druhý krok registrace (skript registr2.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro druhý krok registrace
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(USERNAME)--> Uživatelské jméno Hodnota radiopřepínače
<!--WTD_TENDER(PASSWORD)--> Heslo Hodnota radiopřepínače
<!--WTD_TENDER(FIRSTNAME)--> Jméno
<!--WTD_TENDER(LASTNAME)--> Příjmení
<!--WTD_TENDER(COMPANYNAME)--> Firma
<!--WTD_TENDER(EMAIL)--> E-mailová adresa
<!--WTD_TENDER(ADDRESS)--> Adresa
<!--WTD_TENDER(CITY)--> Město
<!--WTD_TENDER(COUNTRY)--> Země
<!--WTD_TENDER(ZIP)--> PSČ
<!--WTD_TENDER(REQUIREDITEMS)--> Seznam povinných údajů, které nebyly vyplněny Dosadí seznam popisků údajů, které jsou označeny jako povinné, ale nebyly vyplněny. Názvy údajů se načítají z nastavení Údaje a oddělují se čárkou a mezerou.

Dále jsou podporována chybová hlášení

<!--WTD_IF(REQUIRED,"Vyplňte prosím všechny povinné údaje. Nebyly vyplněny tyto povinné údaje: <!--WTD_TENDER(REQUIREDITEMS)-->.")--> - vkládá se ve chvíli, kdy uživatel nevyplnil všechna povinná pole.

<!--WTD_IF(DUPUSERNAME,"Toto uživatelské jméno je již použito. Zadejte prosím jiné.")--> - vkládá se ve chvíli, kdy uživatel pod stejným jménem v modulu Registrace a personalizace již existuje.

<!--WTD_IF(WRONGEMAIL,"E-mailová adresa je zadaná ve špatném formátu.")--> - vkládá se ve chvíli, kdy zadaná e-mailová adresa neprojde kontrolou na standardní tvar e-mailové adresy.

<!--WTD_IF(WRONGZIP,"PSČ je zadáno ve špatném formátu.")--> - vkládá se ve chvíli, kdy zadané PSČ neprojde kontrolou na požadovaný tvar (je požadováno 5 číslic).

Registrační formulář pro nového uživatele může vypadat např. následovně. Registrační formulář pro existujícího uživatele neobsahuje první dvě pole pro uživatelské jméno a heslo, jinak může být stejný.

<form action="/scripts/modules/tender/registr2.php" method="post">
<input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" />
<!--WTD_IF(REQUIRED,"Vyplňte prosím všechny povinné údaje.")-->
<!--WTD_IF(DUPUSERNAME,"Toto uživatelské jméno je již registrováno. Zadejte prosím jiné.")-->
<table>
<tr>
 <td align="right">
  <label for="username">Uživatelské jméno</label>
 </td>
 <td>
  <input type="text" name="username" id="username" value="<!--WTD_TENDER(USERNAME)-->" maxlength="20" />
 </td>
</tr>
<tr>
 <td align="right">
  <label for="password">Heslo</label>
 </td>
 <td>
  <input type="password" name="password" id="password" value="<!--WTD_TENDER(PASSWORD)-->" maxlength="20" />
 </td>
</tr>
<tr>
 <td align="right">
  <label for="firstname">Jméno</label>
 </td>
 <td>
  <input type="text" name="firstname" id="firstname" value="<!--WTD_TENDER(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_TENDER(LASTNAME)-->" maxlength="40" />
 </td>
</tr>
<tr> 
 <td align="right">
  <label for="companyname">Společnost</label>
 </td>
 <td>
  <input type="text" name="companyname" id="companyname" value="<!--WTD_TENDER(COMPANYNAME)-->" maxlength="80" />
 </td>
</tr>
<tr>
 <td align="right">
  <label for="email">E-mail</label>
 </td>
 <td>
  <input type="text" name="email" id="email" value="<!--WTD_TENDER(EMAIL)-->" maxlength="60" />
 </td>
</tr>
<tr>
 <td align="right">
  <label for="address">Adresa</label>
 </td>
 <td>
  <input type="text" name="address" id="address" value="<!--WTD_TENDER(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_TENDER(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_TENDER(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_TENDER(ZIP)-->" maxlength="60" />
 </td>
</tr>
<tr>
 <td align="right" colspan="2">
  <input type="submit" name="send" id="send" value="Odeslat" />
 </td>
</tr>
</form>


Pro informaci o zakázce jsou na stránce pro potvrzení registrace (skript confirm.php?tid=xxx&from=reg) podporována následující klíčová slova.

Klíčová slova použitelná v předloze pro potvrzení registrace
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(NEWSLINK)--> Odkaz na zprávu, ke které zakázka patří

Dále je podporováno vkládání následujících podmíněných hlášení:

<!--WTD_IF(REGISTERED,"…")--> - vloží se v případě, že registrace proběhla úspěšně

<!--WTD_IF(ALREADYREGISTERED,"…")--> - vloží se v případě, že uživatel se v prvním kroku přihlásil a zjistilo se, že už je k zakázce registrován

<!--WTD_IF(TENDERCLOSED,"…")--> - vloží se v případě, že v zakázce je Povolit nové registrace po ukončení platnosti na hodnotě nepovolit a již nastal datum ukončení platnosti zakázky.

Kód v předloze pro potvrzení registrace tedy může vypadat zhruba následovně:

<!--WTD_IF(REGISTERED,"Registrace k zakázce <!--WTD_TENDER(NAME)--> proběhla úspěšně. Na stránku zakázky se můžete navrátit <a href="<!--WTD_TENDER(NEWSLINK)-->">zde</a>.")-->
<!--WTD_IF(ALREADYREGISTERED,"K této zakázce jste již registrován. Na stránku zakázky se můžete navrátit <a href="<!--WTD_TENDER(NEWSLINK)-->">zde</a>.")-->
<!--WTD_IF(TENDERCLOSED,"Toto výběrové řízení je již uzavřeno a nelze se k němu registrovat.")-->


V předloze pro e-mail s potvrzením registrace lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro e-mail s potvrzením registrace
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(REGDATE)--> Datum registrace
<!--WTD_TENDER(REGTIME)--> Čas registrace
<!--WTD_TENDER(USERNAME)--> Uživatelské jméno
<!--WTD_TENDER(PASSWORD)--> Heslo
<!--WTD_TENDER(FIRSTNAME)--> Jméno
<!--WTD_TENDER(LASTNAME)--> Příjmení
<!--WTD_TENDER(COMPANYNAME)--> Firma
<!--WTD_TENDER(EMAIL)--> E-mailová adresa
<!--WTD_TENDER(ADDRESS)--> Adresa
<!--WTD_TENDER(CITY)--> Město
<!--WTD_TENDER(COUNTRY)--> Země
<!--WTD_TENDER(ZIP)--> PSČ

Dále lze použít pro vložení odkazu, který aktivuje odesílání e-mailů s dotazy následující konstrukci:

<!--WTD_IF(ACTEMAIL,"Odesílání e-mailů s novými dotazy k zakázce lze aktivovat pomocí této stránky: <!--WTD_TENDER(ACTURL)--> ")-->

Předloha pro e-mail může tedy vypadat např. takto:

Potvrzujeme, že jste se registroval k zakázce <!--WTD_TENDER(NAME)--> dne <!--WTD_TENDER(REGDATE)--> v 
<!--WTD_TENDER(REGTIME)--> hodin pod uživatelským jménem <!--WTD_TENDER(USERNAME)--> a heslem <!--WTD_TENDER(PASSWORD)-->.
<!--WTD_IF(ACTEMAIL,"Odesílání e-mailů s novými dotazy k zakázce lze aktivovat pomocí této stránky: <!--WTD_TENDER(ACTURL)--> ")-->


V předloze pro přihlašovací skript (skript login.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro přihlašovací stránku
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(USERNAME)--> Uživatelské jméno
<!--WTD_TENDER(PASSWORD)--> Heslo

Pro vyznačení špatně zadaných údajů lze použít konstrukci

<!--WTD_IF(BADUSERNAME,"Chybné uživatelské jméno nebo heslo.")-->

Kód přihlašovacího formuláře může vypadat např. takto:

<form action="/scripts/modules/tender/login.php" method="post">
<input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" />
<strong>Přihlášení k zakázce <!--WTD_TENDER(NAME)--></strong><br />
<!--WTD_IF(BADUSERNAME,"Chybné uživatelské jméno nebo heslo.")-->
<table>
<tr>
	<td align="right">
		<label for="username">Uživatelské jméno</label>
	</td>
	<td>
		<input type="text" name="username" id="username" value="<!--WTD_TENDER(USERNAME)-->" maxlength="20" />
	</td>
</tr>
<tr>
	<td align="right">
		<label for="password">Heslo</label>
	</td>
	<td>
		<input type="password" name="password" id="password" value="<!--WTD_TENDER(PASSWORD)-->" maxlength="20" />
	</td>
</tr>
<tr>
	<td align="right" colspan="2">
		<input type="submit" name="send" id="send" value="Odeslat" />
	</td>
</tr>
</table>
</form>


V předloze pro aktivaci zasílání e-mailů s dotazy (skript activate.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro aktivaci e-mailů
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(NEWSLINK)--> Odkaz na zprávu, ke které zakázka patří
<!--WTD_TENDER(EMAIL)--> E-mail E-mailová adresa, která byla aktivována

Dále lze použít následující podmíněné výrazy:

<!--WTD_IF(BADCODE,"…")--> - vloží se v případě, že parametry v URL aktivačního skriptu jsou chybné

<!--WTD_IF(ACTIVATED,"...")--> - vloží se v případě, že odesílání bylo aktivováno

Kód v předloze je tedy zhruba následující:

<p>
<!--WTD_IF(BADCODE,"Chybné ID uživatele nebo registrační kód.")-->
<!--WTD_IF(ACTIVATED,"Odesílání e-mailů s dotazy na vaši adresu <!--WTD_TENDER(EMAIL)--> bylo aktivováno.")-->
</p>


V předloze pro vložení nového dotazu (skript newquestion.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro vložení nového dotazu
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací

Dále je podporováno chybové hlášení, které se vloží, pokud uživatel nevyplnil text dotazu:

<!--WTD_IF(REQUIRED,"...")-->

V případě, že již nastal čas ukončení platnosti zakázky a v zakázce je nastaveno Povolit nové dotazy po ukončení platnosti na hodnotu povolit, lze do stránky vložit informaci o tom, že dotaz nemusí být zodpovězen, pomocí konstrukce

<!--WTD_IF(TENDERCLOSEDWARNING,"...")-->

Kód formuláře může tedy vypadat následovně:

<!--WTD_IF(TENDERCLOSEDWARNING,"Toto výběrové řízení je již uzavřeno, provozovatel nemá povinnost dotaz zodpovědět.")-->
<form name="formular" id="formular" action="/scripts/modules/tender/newquestion.php" method="post">
<input type="hidden" name="tid" id="tid" value="<!--WTD_TENDER(ID)-->" />
<!--WTD_IF(REQUIRED,"Vyplňte prosím text dotazu.")-->
<label for="question">Dotaz</label><br />
<textarea cols="50" rows="12" name="question"></textarea><br />
<input type="submit" name="send" id="send" value="Odeslat" />
</form>


V předloze pro potvrzení vložení nového dotazu (skript confirm.php?tid=xxx&from=q) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro potvrzení vložení nového dotazu
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(NEWSLINK)--> Odkaz na zprávu, ke které zakázka patří

Dále lze použít následující podmíněné konstrukce:

<!--WTD_IF(INSERTED,"...")--> - dotaz byl úspěšně uložen

<!--WTD_IF(TENDERCLOSED,"...")--> - dotaz nebyl vložen, protože nastal čas ukončení platnosti a není povoleno vkládání nových dotazů po ukončení platnosti

<!--WTD_IF(TENDERCLOSEDWARNING,"...")--> - dotaz byl uložen, ale již nastal čas ukončení platnosti zakázky.

Kód předlohy pak může vypadat např. následovně:

<!--WTD_IF(INSERTED,"Váš dotaz k zakázce <!--WTD_TENDER(NAME)--> byl uložen.")-->
<!--WTD_IF(TENDERCLOSED,"Toto výběrové řízení je již uzavřeno a nelze k němu pokládat další dotazy.")-->
<!--WTD_IF(TENDERCLOSEDWARNING,"Toto výběrové řízení je již uzavřeno, provozovatel nemá povinnost dotaz zodpovědět.")-->


V předloze pro e-maily s dotazy (ať už se jedná o interní e-maily pro správce zakázky nebo o e-maily uživatelům registrovaným k zakázce), lze použít následující klíčová slova. Výjimky pro interní e-maily jsou uvedeny v tabulce (nemá např. smysl vkládat odpověď, protože ta pro e-mail upozorňující na dotaz ještě neexistuje).

Klíčová slova použitelná v předloze pro e-maily s dotazy
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(QDATE)--> Datum vložení dotazu
<!--WTD_TENDER(QTIME)--> Čas vložení dotazu
<!--WTD_TENDER(QUESTION)--> Text dotazu
<!--WTD_TENDER(ADATE)--> Datum vložení odpovědi Nelze použít v e-mailu správci
<!--WTD_TENDER(ATIME)--> Čas vložení odpovědi Nelze použít v e-mailu správci
<!--WTD_TENDER(ANSWER)--> Text odpovědi Nelze použít v e-mailu správci
<!--WTD_TENDER(AUSERNAME)--> Jméno autora odpovědi Nelze použít v e-mailu správci
<!--WTD_TENDER(FIRSTNAME)--> Jméno tazatele
<!--WTD_TENDER(LASTNAME)--> Příjmení tazetele
<!--WTD_TENDER(COMPANYNAME)--> Firma tazatele
<!--WTD_TENDER(EMAIL)--> E-mailová adresa tazatele


V předloze pro seznam dotazů (skript questionlist.php) lze použít následující klíčová slova.

Klíčová slova použitelná v předloze pro seznam dotazů
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(ID)--> ID zakázky ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(NAME)--> Název zakázky
<!--WTD_TENDER(TNUMBER)--> Číslo jednací
<!--WTD_TENDER(NEWSLINK)--> Odkaz na zprávu, ke které zakázka patří
<!--WTD_TENDER(ITEMSLIST)--> Seznam dotazů
<!--WTD_TENDER(NAVIG)--> Navigační lišta

Pokud k zakázce není žádný zodpovězený dotaz, lze toto ve stránce zobrazit pomocí konstrukce

<!--WTD_IF(QNOTFOUND,"...")--> - kód se vloží v případě, že k zakázce není žádný zodpovězený dotaz

Kód předlohy může vypadat zhruba následovně:

<h3>Dotazy k zakázce <!--WTD_TENDER(NAME)--></h3>
<!--WTD_IF(QNOTFOUND,"K zakázce nejsou žádné zodpovězené dotazy.")-->
<div><!--WTD_TENDER(ITEMSLIST)--></div>
<div><!--WTD_TENDER(NAVIG)--></div>

V těle stylu pro seznam dotazů lze použít následující klíčová slova:

Klíčová slova použitelná ve stylu seznamu dotazů
Klíčové slovo Význam Poznámka
<!--WTD_TENDER(QID)--> ID dotazu ID zakázky, ke které je zpráva přiřazena
<!--WTD_TENDER(QDATE)--> Datum vložení dotazu
<!--WTD_TENDER(QTIME)--> Čas vložení dotazu
<!--WTD_TENDER(QUESTION)--> Text dotazu
<!--WTD_TENDER(ADATE)--> Datum vložení odpovědi
<!--WTD_TENDER(ATIME)--> Čas vložení odpovědi
<!--WTD_TENDER(ANSWER)--> Text odpovědi
<!--WTD_TENDER(AUSERNAME)--> Jméno autora odpovědi
<!--WTD_TENDER(FIRSTNAME)--> Jméno tazatele
<!--WTD_TENDER(LASTNAME)--> Příjmení tazetele
<!--WTD_TENDER(COMPANYNAME)--> Firma tazatele
<!--WTD_TENDER(EMAIL)--> E-mailová adresa tazatele
Poznámka: Text dotazu a odpovědi se formátuje pomocí konstant DYNAMIC_LINE_BREAK_BEGIN a DYNAMIC_LINE_BREAK_END z konfiguračního souboru global.php WebToDate.


V definici navigační lišty se používají v modulech WebToDate běžným způsobem klíčová slova <!--WTD_NAVIG(URL)--> a <!--WTD_NAVIG(NUMBER)-->.

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

Všechny skripty mohou používat standardní parametry tmplid (vynucení jiné šablony), lid a locale (volba jazyka). Dále se používají následující parametry skriptů:

  • registr1.php - první krok registrace
    • tid - ID zakázky
    • userchoice - výběr zda se jedná o nového či existujícího uživatele
    • username - už. jméno
    • password - heslo
  • registr2.php - druhý krok registrace
    • tid - ID zakázky
    • username - už. jméno
    • password - heslo
    • firstname
    • lastname
    • companyname
    • email
    • address
    • city
    • country
    • zip
  • confirm.php - potvrzovací stránka (registrace, vložení dotazu)
    • tid - ID zakázky
    • from - zda se jedná o potvrzení registrace nebo dotazu
  • activate.php - aktivace zasílání e-mailů
    • tid - ID zakázky
    • id - ID uživatele z tabulky TENDERREGISTR
    • regcode - vygenerovaný aktivační kód
  • login.php - přihlášení k zakázce
    • tid - ID zakázky
    • username - už. jméno
    • password - heslo
  • newquestion.php - vložení nového dotazu
    • tid - ID zakázky
  • questionlist.php - seznam dotazů
    • tid - ID zakázky
    • pg - číslo stránky v rámci stránkování