Changeset 52 for trunk


Ignore:
Timestamp:
May 1, 2011, 12:20:19 AM (13 years ago)
Author:
george
Message:
  • Upraveno: Stránky přepracovány z metod na komponenty.
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/CGI.lpi

    r51 r52  
    5050      </Item3>
    5151    </RequiredPackages>
    52     <Units Count="85">
     52    <Units Count="86">
    5353      <Unit0>
    5454        <Filename Value="CGI.lpr"/>
    5555        <IsPartOfProject Value="True"/>
    5656        <UnitName Value="CGI"/>
     57        <IsVisibleTab Value="True"/>
    5758        <EditorIndex Value="1"/>
    5859        <WindowIndex Value="0"/>
    5960        <TopLine Value="1"/>
    60         <CursorPos X="13" Y="15"/>
     61        <CursorPos X="5" Y="23"/>
    6162        <UsageCount Value="203"/>
    6263        <Loaded Value="True"/>
     
    6970        <EditorIndex Value="0"/>
    7071        <WindowIndex Value="0"/>
    71         <TopLine Value="417"/>
    72         <CursorPos X="47" Y="432"/>
     72        <TopLine Value="1"/>
     73        <CursorPos X="1" Y="11"/>
    7374        <UsageCount Value="200"/>
    7475        <Loaded Value="True"/>
     
    9394        <IsPartOfProject Value="True"/>
    9495        <UnitName Value="UCore"/>
    95         <EditorIndex Value="12"/>
     96        <EditorIndex Value="14"/>
    9697        <WindowIndex Value="0"/>
    9798        <TopLine Value="1"/>
     
    166167        <IsPartOfProject Value="True"/>
    167168        <UnitName Value="UConfig"/>
    168         <EditorIndex Value="10"/>
     169        <EditorIndex Value="12"/>
    169170        <WindowIndex Value="0"/>
    170171        <TopLine Value="7"/>
     
    535536        <WindowIndex Value="0"/>
    536537        <TopLine Value="1"/>
    537         <CursorPos X="32" Y="10"/>
     538        <CursorPos X="33" Y="18"/>
    538539        <UsageCount Value="12"/>
    539540        <Loaded Value="True"/>
     
    558559        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Common/UXmlClasses.pas"/>
    559560        <UnitName Value="UXmlClasses"/>
    560         <EditorIndex Value="13"/>
    561         <WindowIndex Value="0"/>
    562         <TopLine Value="144"/>
    563         <CursorPos X="2" Y="26"/>
     561        <EditorIndex Value="15"/>
     562        <WindowIndex Value="0"/>
     563        <TopLine Value="16"/>
     564        <CursorPos X="1" Y="25"/>
    564565        <UsageCount Value="21"/>
    565566        <Loaded Value="True"/>
     
    568569        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Common/UHtmlClasses.pas"/>
    569570        <UnitName Value="UHtmlClasses"/>
    570         <EditorIndex Value="14"/>
     571        <EditorIndex Value="16"/>
    571572        <WindowIndex Value="0"/>
    572573        <TopLine Value="731"/>
     
    579580        <IsPartOfProject Value="True"/>
    580581        <UnitName Value="UWebObjects"/>
    581         <EditorIndex Value="8"/>
     582        <EditorIndex Value="10"/>
    582583        <WindowIndex Value="0"/>
    583584        <TopLine Value="1"/>
    584585        <CursorPos X="1" Y="1"/>
    585         <UsageCount Value="41"/>
     586        <UsageCount Value="42"/>
    586587        <Loaded Value="True"/>
    587588        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    606607        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPServer.pas"/>
    607608        <UnitName Value="UHTTPServer"/>
    608         <EditorIndex Value="15"/>
     609        <EditorIndex Value="17"/>
    609610        <WindowIndex Value="0"/>
    610611        <TopLine Value="82"/>
     
    654655      <Unit68>
    655656        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericListObject.inc"/>
    656         <WindowIndex Value="0"/>
    657         <TopLine Value="22"/>
    658         <CursorPos X="16" Y="22"/>
     657        <EditorIndex Value="7"/>
     658        <WindowIndex Value="0"/>
     659        <TopLine Value="2"/>
     660        <CursorPos X="14" Y="19"/>
    659661        <UsageCount Value="11"/>
     662        <Loaded Value="True"/>
    660663      </Unit68>
    661664      <Unit69>
     
    703706        <Filename Value="../../PascalClassLibrary/Docking/CoolDocking/UCDClient.pas"/>
    704707        <UnitName Value="UCDClient"/>
    705         <EditorIndex Value="9"/>
     708        <EditorIndex Value="11"/>
    706709        <WindowIndex Value="0"/>
    707710        <TopLine Value="1"/>
     
    713716        <Filename Value="../../PascalClassLibrary/Docking/CoolDocking/CoolDocking.pas"/>
    714717        <UnitName Value="CoolDocking"/>
    715         <EditorIndex Value="11"/>
     718        <EditorIndex Value="13"/>
    716719        <WindowIndex Value="0"/>
    717720        <TopLine Value="1"/>
     
    726729        <ResourceBaseClass Value="DataModule"/>
    727730        <UnitName Value="UMainModule"/>
    728         <IsVisibleTab Value="True"/>
    729         <EditorIndex Value="5"/>
    730         <WindowIndex Value="0"/>
    731         <TopLine Value="163"/>
    732         <CursorPos X="1" Y="177"/>
    733         <UsageCount Value="23"/>
     731        <EditorIndex Value="6"/>
     732        <WindowIndex Value="0"/>
     733        <TopLine Value="100"/>
     734        <CursorPos X="46" Y="117"/>
     735        <UsageCount Value="24"/>
    734736        <Loaded Value="True"/>
    735737        <LoadedDesigner Value="True"/>
     
    762764        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPServerTCP.pas"/>
    763765        <UnitName Value="UHTTPServerTCP"/>
    764         <EditorIndex Value="4"/>
     766        <EditorIndex Value="5"/>
    765767        <WindowIndex Value="0"/>
    766768        <TopLine Value="10"/>
     
    780782        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPSessionMySQL.pas"/>
    781783        <UnitName Value="UHTTPSessionMySQL"/>
    782         <EditorIndex Value="6"/>
     784        <EditorIndex Value="8"/>
    783785        <WindowIndex Value="0"/>
    784786        <TopLine Value="2"/>
     
    793795        <WindowIndex Value="0"/>
    794796        <TopLine Value="1"/>
    795         <CursorPos X="28" Y="10"/>
     797        <CursorPos X="33" Y="8"/>
    796798        <UsageCount Value="11"/>
    797799        <Loaded Value="True"/>
     
    800802        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    801803        <UnitName Value="USqlDatabase"/>
    802         <EditorIndex Value="7"/>
    803         <WindowIndex Value="0"/>
    804         <TopLine Value="215"/>
    805         <CursorPos X="69" Y="223"/>
     804        <EditorIndex Value="9"/>
     805        <WindowIndex Value="0"/>
     806        <TopLine Value="95"/>
     807        <CursorPos X="1" Y="110"/>
    806808        <UsageCount Value="11"/>
    807809        <Loaded Value="True"/>
    808810      </Unit84>
     811      <Unit85>
     812        <Filename Value="Modules/UPagesModule.pas"/>
     813        <IsPartOfProject Value="True"/>
     814        <ComponentName Value="PagesModule"/>
     815        <ResourceBaseClass Value="DataModule"/>
     816        <UnitName Value="UPagesModule"/>
     817        <EditorIndex Value="4"/>
     818        <WindowIndex Value="0"/>
     819        <TopLine Value="1"/>
     820        <CursorPos X="70" Y="442"/>
     821        <UsageCount Value="21"/>
     822        <Loaded Value="True"/>
     823        <LoadedDesigner Value="True"/>
     824        <DefaultSyntaxHighlighter Value="Delphi"/>
     825      </Unit85>
    809826    </Units>
    810827    <JumpHistory Count="30" HistoryIndex="29">
    811828      <Position1>
    812         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    813         <Caret Line="55" Column="28" TopLine="38"/>
     829        <Filename Value="Modules/UPagesModule.pas"/>
     830        <Caret Line="165" Column="37" TopLine="157"/>
    814831      </Position1>
    815832      <Position2>
    816         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    817         <Caret Line="56" Column="28" TopLine="38"/>
     833        <Filename Value="Pages/UMainPage.pas"/>
     834        <Caret Line="106" Column="1" TopLine="105"/>
    818835      </Position2>
    819836      <Position3>
    820         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    821         <Caret Line="57" Column="28" TopLine="38"/>
     837        <Filename Value="Modules/UPagesModule.pas"/>
     838        <Caret Line="207" Column="18" TopLine="189"/>
    822839      </Position3>
    823840      <Position4>
    824         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    825         <Caret Line="58" Column="29" TopLine="38"/>
     841        <Filename Value="Modules/UPagesModule.pas"/>
     842        <Caret Line="214" Column="18" TopLine="196"/>
    826843      </Position4>
    827844      <Position5>
    828         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    829         <Caret Line="89" Column="63" TopLine="61"/>
     845        <Filename Value="Pages/UMainPage.pas"/>
     846        <Caret Line="109" Column="55" TopLine="1"/>
    830847      </Position5>
    831848      <Position6>
    832         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    833         <Caret Line="179" Column="37" TopLine="151"/>
     849        <Filename Value="Modules/UPagesModule.pas"/>
     850        <Caret Line="67" Column="19" TopLine="47"/>
    834851      </Position6>
    835852      <Position7>
    836         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    837         <Caret Line="187" Column="18" TopLine="159"/>
     853        <Filename Value="Modules/UPagesModule.pas"/>
     854        <Caret Line="99" Column="19" TopLine="66"/>
    838855      </Position7>
    839856      <Position8>
    840         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    841         <Caret Line="201" Column="45" TopLine="173"/>
     857        <Filename Value="Pages/UMainPage.pas"/>
     858        <Caret Line="119" Column="1" TopLine="119"/>
    842859      </Position8>
    843860      <Position9>
    844         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    845         <Caret Line="238" Column="38" TopLine="210"/>
     861        <Filename Value="Modules/UPagesModule.pas"/>
     862        <Caret Line="202" Column="18" TopLine="200"/>
    846863      </Position9>
    847864      <Position10>
    848         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    849         <Caret Line="246" Column="18" TopLine="218"/>
     865        <Filename Value="CGI.lpr"/>
     866        <Caret Line="19" Column="44" TopLine="1"/>
    850867      </Position10>
    851868      <Position11>
    852         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    853         <Caret Line="260" Column="46" TopLine="232"/>
     869        <Filename Value="CGI.lpr"/>
     870        <Caret Line="23" Column="7" TopLine="1"/>
    854871      </Position11>
    855872      <Position12>
    856         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    857         <Caret Line="266" Column="54" TopLine="238"/>
     873        <Filename Value="Modules/UPagesModule.pas"/>
     874        <Caret Line="90" Column="62" TopLine="82"/>
    858875      </Position12>
    859876      <Position13>
    860         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    861         <Caret Line="268" Column="18" TopLine="240"/>
     877        <Filename Value="Modules/UPagesModule.pas"/>
     878        <Caret Line="92" Column="62" TopLine="84"/>
    862879      </Position13>
    863880      <Position14>
    864         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    865         <Caret Line="269" Column="56" TopLine="241"/>
     881        <Filename Value="Pages/UMainPage.pas"/>
     882        <Caret Line="129" Column="60" TopLine="123"/>
    866883      </Position14>
    867884      <Position15>
    868         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    869         <Caret Line="272" Column="37" TopLine="244"/>
     885        <Filename Value="Modules/UPagesModule.pas"/>
     886        <Caret Line="267" Column="36" TopLine="264"/>
    870887      </Position15>
    871888      <Position16>
    872         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    873         <Caret Line="279" Column="18" TopLine="251"/>
     889        <Filename Value="Modules/UPagesModule.pas"/>
     890        <Caret Line="269" Column="36" TopLine="266"/>
    874891      </Position16>
    875892      <Position17>
    876         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    877         <Caret Line="290" Column="40" TopLine="262"/>
     893        <Filename Value="Modules/UPagesModule.pas"/>
     894        <Caret Line="323" Column="62" TopLine="319"/>
    878895      </Position17>
    879896      <Position18>
    880         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    881         <Caret Line="301" Column="37" TopLine="273"/>
     897        <Filename Value="Modules/UPagesModule.pas"/>
     898        <Caret Line="330" Column="62" TopLine="326"/>
    882899      </Position18>
    883900      <Position19>
    884         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    885         <Caret Line="305" Column="18" TopLine="277"/>
     901        <Filename Value="Pages/UMainPage.pas"/>
     902        <Caret Line="57" Column="1" TopLine="47"/>
    886903      </Position19>
    887904      <Position20>
    888         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    889         <Caret Line="308" Column="45" TopLine="280"/>
     905        <Filename Value="Pages/UMainPage.pas"/>
     906        <Caret Line="11" Column="1" TopLine="1"/>
    890907      </Position20>
    891908      <Position21>
    892         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    893         <Caret Line="365" Column="35" TopLine="337"/>
     909        <Filename Value="Modules/UPagesModule.pas"/>
     910        <Caret Line="291" Column="33" TopLine="287"/>
    894911      </Position21>
    895912      <Position22>
    896         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    897         <Caret Line="371" Column="32" TopLine="343"/>
     913        <Filename Value="Modules/UPagesModule.pas"/>
     914        <Caret Line="293" Column="33" TopLine="289"/>
    898915      </Position22>
    899916      <Position23>
    900         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    901         <Caret Line="378" Column="42" TopLine="350"/>
     917        <Filename Value="Pages/UMainPage.pas"/>
     918        <Caret Line="56" Column="1" TopLine="25"/>
    902919      </Position23>
    903920      <Position24>
    904         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    905         <Caret Line="63" Column="41" TopLine="37"/>
     921        <Filename Value="Modules/UPagesModule.pas"/>
     922        <Caret Line="309" Column="1" TopLine="301"/>
    906923      </Position24>
    907924      <Position25>
    908         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    909         <Caret Line="60" Column="46" TopLine="37"/>
     925        <Filename Value="Modules/UPagesModule.pas"/>
     926        <Caret Line="316" Column="1" TopLine="303"/>
    910927      </Position25>
    911928      <Position26>
    912         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    913         <Caret Line="71" Column="70" TopLine="43"/>
     929        <Filename Value="Modules/UPagesModule.pas"/>
     930        <Caret Line="303" Column="31" TopLine="291"/>
    914931      </Position26>
    915932      <Position27>
    916         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/Persistence/USqlDatabase.pas"/>
    917         <Caret Line="51" Column="7" TopLine="48"/>
     933        <Filename Value="Modules/UPagesModule.pas"/>
     934        <Caret Line="295" Column="18" TopLine="278"/>
    918935      </Position27>
    919936      <Position28>
    920         <Filename Value="Modules/UMainModule.pas"/>
    921         <Caret Line="166" Column="39" TopLine="149"/>
     937        <Filename Value="Modules/UPagesModule.pas"/>
     938        <Caret Line="309" Column="18" TopLine="292"/>
    922939      </Position28>
    923940      <Position29>
    924         <Filename Value="../../PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPSessionMySQL.pas"/>
    925         <Caret Line="31" Column="44" TopLine="14"/>
     941        <Filename Value="Modules/UPagesModule.pas"/>
     942        <Caret Line="357" Column="12" TopLine="340"/>
    926943      </Position29>
    927944      <Position30>
    928         <Filename Value="Modules/UMainModule.pas"/>
    929         <Caret Line="54" Column="1" TopLine="22"/>
     945        <Filename Value="Modules/UPagesModule.pas"/>
     946        <Caret Line="416" Column="18" TopLine="399"/>
    930947      </Position30>
    931948    </JumpHistory>
  • trunk/CGI.lpr

    r50 r52  
    55uses
    66  UCore, USqlDatabase, SysUtils, Contnrs,
    7   UMainPage, UUser, UHTTPSessionMySQL, UHTTPSessionFile,
     7  UMainPage, UUser, UHTTPSessionMySQL, UHTTPSessionFile, UPagesModule,
    88  UCommon, UHTTPServer, UHTTPServerTCP, UHTTPServerCGI, UTCPServer, UPool,
    99  UMemoryStreamEx, UMIMEType, UPageList, Interfaces, UMainModule;
     
    1111begin
    1212  MainModule := TMainModule.Create(nil);
    13   with MainModule do
     13  PagesModule := TPagesModule.Create(nil);
     14  with MainModule, PagesModule do
    1415  try
    15     RegisterPage('internet', Internet);
    16     RegisterPage('hosting', Hosting);
    17     RegisterPage('historie', History);
    18     RegisterPage('dokumenty', Documents);
    19     RegisterPage('voip', VoIP);
    20     RegisterPage('odkazy', Links);
    21     RegisterPage('kontakt', Contact);
    22     RegisterPage('serverinfo', ServerInfo);
    23     RegisterPage('kamery', WebCam);
    24     RegisterPage('uzivatel', UserControl);
    25     RegisterPage('plany', Plans);
    26     RegisterPage('sit', Network);
    27     RegisterPage('', About);
     16    RegisterPage('internet', PageInternet);
     17    RegisterPage('hosting', PageHosting);
     18    RegisterPage('historie', PageHistory);
     19    RegisterPage('dokumenty', PageDocuments);
     20    RegisterPage('voip', PageVoIP);
     21    RegisterPage('odkazy', PageLinks);
     22    RegisterPage('kontakt', PageContact);
     23    RegisterPage('serverinfo', PageServerInfo);
     24    RegisterPage('kamery', PageWebCam);
     25    RegisterPage('uzivatel', PageUserControl);
     26    RegisterPage('plany', PagePlans);
     27    RegisterPage('sit', PageNetwork);
     28    RegisterPage('', PageAbout);
    2829    Run;
    2930  finally
    30     Free;
     31    MainModule.Free;
     32    PagesModule.Free;
    3133  end;
    3234end.
  • trunk/Modules/UMainModule.pas

    r51 r52  
    1414  TMainModule = class;
    1515
    16   TPageProducer = procedure(App: TMainModule; HandlerData: THTTPHandlerData);
    17 
    1816  TRegistredPage = class
    1917    Name: string;
    20     Producer: TPageProducer;
     18    Page: TWebPage;
    2119  end;
    2220
     
    6058    constructor Create(AOwner: TComponent); override;
    6159    destructor Destroy; override;
    62     procedure RegisterPage(Name: string; Producer: TPageProducer);
     60    procedure RegisterPage(Name: string; Page: TWebPage);
    6361  end;
    6462
     
    116114      HtmlDocument.Body.SubItems.Add(TitleTag);
    117115      TopMenu;
    118       Page.Producer(Self, HandlerData);
     116      Page.Page.OnProduce(HandlerData);
     117      HtmlDocument.Title := Page.Page.Caption;
    119118      TitleTag.Text := '<div class="TitlePanel"><span class="GlobalTitle">' + GlobalTitle +
    120119        '</span> - ' + HtmlDocument.Title + '</div>';
     
    131130end;
    132131
    133 procedure TMainModule.RegisterPage(Name: string; Producer: TPageProducer);
     132procedure TMainModule.RegisterPage(Name: string; Page: TWebPage);
    134133var
    135134  NewRegistredPage: TRegistredPage;
     
    137136  NewRegistredPage := TRegistredPage.Create;
    138137  NewRegistredPage.Name := Name;
    139   NewRegistredPage.Producer := Producer;
     138  NewRegistredPage.Page := Page;
    140139  Pages.Add(NewRegistredPage);
    141140end;
  • trunk/Pages/UMainPage.pas

    r50 r52  
    99  UHTTPServer, UWebObjects;
    1010
    11 procedure Links(App: TMainModule; HandlerData: THTTPHandlerData);
    12 procedure History(App: TMainModule; HandlerData: THTTPHandlerData);
    13 procedure Internet(App: TMainModule; HandlerData: THTTPHandlerData);
    14 procedure VoIP(App: TMainModule; HandlerData: THTTPHandlerData);
    15 procedure Hosting(App: TMainModule; HandlerData: THTTPHandlerData);
    16 procedure About(App: TMainModule; HandlerData: THTTPHandlerData);
    17 procedure Documents(App: TMainModule; HandlerData: THTTPHandlerData);
    18 procedure Contact(App: TMainModule; HandlerData: THTTPHandlerData);
    19 procedure ServerInfo(App: TMainModule; HandlerData: THTTPHandlerData);
    20 procedure WebCam(App: TMainModule; HandlerData: THTTPHandlerData);
    21 procedure UserControl(App: TMainModule; HandlerData: THTTPHandlerData);
    22 procedure Plans(App: TMainModule; HandlerData: THTTPHandlerData);
    23 procedure Network(App: TMainModule; HandlerData: THTTPHandlerData);
     11implementation
    2412
    2513
    26 implementation
    2714
    28 procedure Links(App: TMainModule; HandlerData: THTTPHandlerData);
    29 begin
    30   App.HtmlDocument.Title := 'Odkazy';
    31 
    32   with App.HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    33     Text := '<strong>Odkazy související s obcí:</strong><br/>' +
    34 
    35     '<a href="http://www.zdechov.cz/">Obec Zděchov</a> - oficiální stránky  obce<br/>' +
    36     '<a href="http://zdechovskagrapa.sweb.cz/">Zděchovská grapa</a> - místní motokrosové závody<br/>' +
    37     '<a href="http://www.snbzdechov.com/zavod.htm">Zděchovská třicítka</a> - tradiční běžkařský závod<br/>' +
    38     '<a href="http://www.snbzdechov.com/">Snowpark Zděchov</a> - areál se sjezdovkou pro lyžaře i snowboardisty<br/>' +
    39     '<a href="http://sdh.zdechov.net/">SDH Zděchov</a> - Sbor Dobrovolných Hasičů Zděchov<br/>' +
    40     '<a href="http://fotbal.zdechov.net/">TJ Sokol Zděchov</a> - stránky věnované Zděchovskému fotbalovému týmu<br/>' +
    41     '<a href="http://farnost.zdechov.net/">Farnost Zděchov</a> - informace k místní farnosti<br/>' +
    42     '<br/>' +
    43 
    44     '<strong>Odkazy související s okolím:</strong><br/>' +
    45     '<a href="http://www.valassko-hornovsacko.cz/">Valašsko - Horní Vsacko</a> - informační stránky oblasti<br/>' +
    46     '<br/>' +
    47 
    48     '<a HREF="http://www.toplist.cz/cgi-bin/stat.asp&amp;menu=4096&amp;menu=2048&amp;menu=64&amp;menu=1024&amp;menu=512&amp;menu=32&amp;menu=256&amp;menu=4&amp;menu=128&amp;menu=8&amp;menu=16&amp;menu=8192&amp;' +
    49     'menu=2&amp;menu=16384&amp;menu=1&amp;kdy=dnes&amp;n=90148"><script language="JavaSc&amp;ript" type="text/javascript">' +
    50     '<!--' +
    51     'document.write (\''<img align="right" src="http://toplist.cz/count.asp?id=90148&amp;logo=mc&amp;http=\''+escape(document.referrer)+\''&amp;wi=\''+escape(window.screen.width)+\''&he=\''+escape(window.screen.height)' +
    52     '+\''&amp;cd=\''+escape(window.screen.colorDepth)+\''&amp;t=\''+escape(document.title)+\''" width=88 height=60 border=0 alt="TOPlist"/>'';' +
    53     '//--></script></a>' +
    54 
    55     '<strong>Komunitní sítě v okolí:</strong><br/>' +
    56     '<a href="http://www.hovnet.cz/">Hovnet</a> - síť v Hovězí, Janové, Huslenkách a dalších obcích<br/>' +
    57     //'<a href="http://czvk3.net/">czvk3net</a> - síť ve Valašských Kloboucích<br/>' +
    58     '<a href="http://hvfree.net/">HvFree.net</a> - síť v Tylovicích, Hážovicích, Viganticích a Hutisku<br/>' +
    59     '<a href="http://www.ustinet.cz/">Ústí.Net</a> - síť v Ústí u Vsetína<br/>' +
    60     '<br/>';
    61   end;
    62 end;
    63 
    64 procedure History(App: TMainModule; HandlerData: THTTPHandlerData);
    65 var
    66   DbRows: TDbRows;
    67   I: Integer;
    68 begin
    69   with App do begin
    70     HtmlDocument.Title := 'Historie sítě';
    71 
    72     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    73       Text := '<table>';
    74       try
    75         DbRows := TDbRows.Create;
    76         Database.Query(DbRows, 'SELECT * FROM History ORDER BY Date DESC');
    77         for I := 0 to DbRows.Count - 1 do begin
    78           Text := Text + '<tr><td style="text-align: right; vertical-align: top;">' +
    79             HumanDate(SQLToDateTime(DbRows[I].Values['Date'])) + '&nbsp;- </td><td>' +
    80             DbRows[I].Values['Text'] + '</td></tr>';
    81         end;
    82       finally
    83         DbRows.Free;
    84       end;
    85       Text := Text + '</table>';
    86     end;
    87   end;
    88 end;
    89 
    90 procedure Plans(App: TMainModule; HandlerData: THTTPHandlerData);
    91 var
    92   DbRows: TDbRows;
    93   I: Integer;
    94 begin
    95   with App do begin
    96     HtmlDocument.Title := 'Plánované projekty';
    97 
    98     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    99       Text := '<table>';
    100       try
    101         DbRows := TDbRows.Create;
    102         Text := '<br/><strong>Plánované úkoly:</strong><br />' +
    103           '<div><ul>';
    104         Database.Query(DbRows, 'SELECT * FROM `Plans` WHERE `TimeFinished` IS NULL ORDER BY `TimeCreate`');
    105         for I := 0 to DbRows.Count - 1 do begin
    106           Text := Text + '<li>' + DbRows[I].Values['Description'] + '</li>';
    107         end;
    108         Text := Text + '</ul></div><br/>';
    109 
    110         Text := Text + '<br/><strong>Hotové úkoly:</strong><br />' +
    111           '<div><ul>';
    112         Database.Query(DbRows, 'SELECT * FROM `Plans` WHERE `TimeFinished` IS NOT NULL ORDER BY `TimeCreate`');
    113         for I := 0 to DbRows.Count - 1 do begin
    114           Text := Text + '<li>' + DbRows[I].Values['Description'] + '<br/>' +
    115             '<i style="padding-left: 30px;">' + DbRows[I].Values['Conclusion'] + '</i></li>';
    116         end;
    117         Text := Text + '</ul></div><br/>';
    118 
    119       finally
    120         DbRows.Free;
    121       end;
    122       Text := Text + '</table>';
    123     end;
    124   end;
    125 end;
    126 
    127 procedure Internet(App: TMainModule; HandlerData: THTTPHandlerData);
    128 begin
    129   with App do begin
    130     HtmlDocument.Title := 'Internet';
    131 
    132     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    133       Text := Text + 'Hlavní náplní činnosti sítě je poskytovat výhodné připojení k internetu pro občany.<br/><br/>' +
    134       '<strong>Nabídka tarifů:</strong><br/>' +
    135 
    136       '<table class="WideTable">' +
    137       '<tr><th>Označení</th><th>Rychlost</th><th>Agregace</th><th>Cena [Kč/měsíc]</th></tr>' +
    138       '<tr><td>Zdarma</td><td align="center">128 kbit/s</td><td align="center"></td><td align="center">0</td></tr>' +
    139       '<tr><td>Pomalejší</td><td align="center">2 Mbit/s</td><td align="center">1:20</td><td align="center">190</td></tr>' +
    140       '<tr><td>Pomalý</td><td align="center">4 Mbit/s</td><td align="center">1:20</td><td align="center">260</td></tr>' +
    141       '<tr><td>Střední</td><td align="center">8 Mbit/s</td><td align="center">1:20</td><td align="center">360</td></tr>' +
    142       '<tr><td>Rychlý</td><td align="center">16 Mbit/s</td><td align="center">1:20</td><td align="center">520</td></tr>' +
    143       '<tr><td>Rychlejší</td><td align="center">32 Mbit/s</td><td align="center">1:20</td><td align="center">750</td></tr>' +
    144       '</table>' +
    145       '<br/>' +
    146       'Rychlost všech tarifů je symetrická, není omezován objem přenášených dat, ceny včetně DPH.<br/>' +
    147       '<br/>' +
    148       '<i>Aktualizováno: 1.7.2010</i>';
    149     end;
    150   end;
    151 end;
    152 
    153 procedure WebCam(App: TMainModule; HandlerData: THTTPHandlerData);
    154 const
    155   WebCamImage = 'images/webcam/webcam.jpg';
    156   RefreshInterval = 1;
    157 begin
    158   with App do begin
    159     HtmlDocument.Title := 'Webové kamery';
    160 
    161     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    162       Text := '<table style="width: 100%"><tr><td style="width: 20%">' +
    163         '<strong>Kamery v okolí:</strong><br />' +
    164         '<a href="http://www.mestovsetin.cz/vismo/dokumenty2.asp?id_org=18676&id=480245">Vsetínské kamery</a><br />' +
    165         '<a href="http://www.huslenky.cz/?page=kamery&I=2">Kamery v Huslenkách</a><br/>' +
    166         '<a href="http://kamery.hovnet.cz/">Kamery v Hovnetu</a><br/>' +
    167         '</td><td style="width: 80%">';
    168 
    169       if FileExists(WebCamImage) then begin
    170         Text := Text + '<script language="JavaScript">' + #13#10 +
    171         '  var ImageURL = "' + NavigationLink('/' + WebCamImage) + '";' + #13#10 +
    172         '' + #13#10 +
    173         '// Force an immediate image load' + #13#10 +
    174         'var theTimer = setTimeout("reloadImage()", 1);' + #13#10 +
    175         '' + #13#10 +
    176         'function reloadImage()' + #13#10 +
    177         '{' + #13#10 +
    178         '  theDate = new Date();' + #13#10 +
    179         '  var url = ImageURL;' + #13#10 +
    180         '  url += "?dummy=";' + #13#10 +
    181         '  url += theDate.getTime().toString(10);' + #13#10 +
    182         '  // The above dummy cgi-parameter enforce a bypass of the browser image cache.' + #13#10 +
    183         '  // Here we actually load the image' + #13#10 +
    184         '  document.theImage.src = url;' + #13#10 +
    185         '' + #13#10 +
    186         '  // Reload the image every defined period' + #13#10 +
    187         '  theTimer = setTimeout("reloadImage()", ' + IntToStr(RefreshInterval * 1000) + ');' + #13#10 +
    188         '}' + #13#10 +
    189         '</script>' + #13#10 +
    190 
    191         '<br /><div align="center"><img name="theImage" src="" idth="640" height="480" alt="Webcam image"><br>Poslední aktualizace: ' +
    192           DateTimeToStr(FileDateToDateTime(FileAge(WebCamImage))) + '<br>Obnovování po ' + IntToStr(RefreshInterval) + ' sekundách</div><br />';
    193       end else Text := Text + '<br />Obrázek nenalezen.<br /><br />';
    194       Text := Text + '</td></tr></table>';
    195     end;
    196   end;
    197 end;
    198 
    199 procedure VoIP(App: TMainModule; HandlerData: THTTPHandlerData);
    200 begin
    201   with App do begin
    202     HtmlDocument.Title := 'VoIP';
    203 
    204     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    205       Text := 'Volejte levněji do pevných a mobilních sítí s sekundovou tarifikací a bez měsíčního paušálu.<br/>' +
    206       '<br/>' +
    207       'Doporučujueme: <a href="http://voip.mikrotech.cz/">VoIP Mikrotech</a>' +
    208     '<ul><li>Zřízení zdarma</li>' +
    209     '<li>Měsíční paušál: 0 Kč</li>' +
    210     '<li>Tarifikace: 1+1 (sekundová)</li>' +
    211     '<li>V sítí Mikrotech: 0 Kč/minutu</li>' +
    212     '<li>Volání do pevných sítí: 0,5 Kč/minutu</li>' +
    213     '<li>Volání do mobilních sítí: 1,95 Kč/minutu</li>' +
    214     '<li>Přenesení vašeho čísla: 1200 Kč</li>' +
    215     '</ul><br/>' +
    216 
    217     '<strong>10 výhod volání s VoIP Mikrotech</strong>' +
    218     '<ol><li>Začnete ihned šetřit - volání v síti zdarma</li>' +
    219     '<li>Registrace, zřízení VoIP zdarma</li>' +
    220     '<li>0,- Kč měsíční paušál, pouze 1 Kč pronájem čísla</li>' +
    221     '<li>Žádný závazek, kredit bez časového omezení</li>' +
    222     '<li>Nejnižší ceny hovorů na trhu</li>' +
    223     '<li>Online výpis hovorů zdarma</li>' +
    224     '<li>Běžné tel. číslo, možnost přenosu stávajícího čísla</li>' +
    225     '<li>Za příchozí hovory Vám zaplatíme</li>' +
    226     '<li>Bez počátečních investic - softwarový telefon</li>' +
    227     '<li>Pro telefonování nepotřebujete počítač - hardwarový VoIP telefon</li>' +
    228     '</ol>';
    229     end;
    230   end;
    231 end;
    232 
    233 procedure Hosting(App: TMainModule; HandlerData: THTTPHandlerData);
    234 var
    235   I: Integer;
    236   DbRows: TDbRows;
    237 begin
    238   with App do begin
    239     HtmlDocument.Title := 'Hosting';
    240 
    241     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    242       Text := 'V nabídce je provoz virtualizovaných Linuxových serverů dle dohodnutých parameterů.<br/><br/>' +
    243       '<strong>Standardní varianty:</strong><br/>' +
    244       '<table class="WideTable">' +
    245       '<tr><th>Označení</th><th>Rychlost</th><th>Vyhrazená paměť</th><th>Pevný disk</th><th>Procesor</th><th>Cena [Kč/měsíc]</th></tr>';
    246       try
    247         DbRows := TDbRows.Create;
    248         Database.Query(DbRows, 'SELECT * FROM VPSHosting ORDER BY Price DESC');
    249         for I := 0 to DbRows.Count - 1 do
    250           Text := Text + '<tr><td>' + DbRows[I].Values['Name'] + '</td><td align="center">' +
    251             DbRows[I].Values['Internet'] + '</td><td align="center">' + DbRows[I].Values['Memory'] +
    252             '</td><td align="center">' + DbRows[I].Values['Space'] + '</td><td align="center">' +
    253             DbRows[I].Values['CPU'] + '</td><td align="center">' + DbRows[I].Values['Price'] + '</td></tr>';
    254       finally
    255         DbRows.Free;
    256       end;
    257       Text := Text + '</table>' +
    258       '<br/>' +
    259       'Prvních 7 dní zdarma, denní zálohování disků, ceny včetně DPH<br/>' +
    260       'Použité technologie: <a href="http://www.linux.cz/">GNU/Linux</a>, <a href="http://openvz.org/">OpenVZ</a>, <a href="http://pve.proxmox.com/">Proxmox VE</a>, <a href="http://backuppc.sourceforge.net/">BackupPC</a><br/>' +
    261       '<br/>' +
    262       '<i>Aktualizováno: 3.4.2010</i><br/><br/>';
    263 
    264       Text := Text + '<p>Hosting je využíván především pro provoz herních serverů MMORPG her jako např. World of Warcraft (WoW), Lineage II, Aion, aj.</p>';
    265       Text := Text + '<p>Instalovat lze mnoho různých linuxových distribucí. Seznam některých OpenVZ šablon <a href="http://download.openvz.org/template/precreated/">zde</a> nebo '
    266       + '<a href="http://download.openvz.org/contrib/template/precreated/">zde</a></p>';
    267 
    268       Text := Text + '<strong>Projekty využívající VPS hosting</strong><br/><ul>';
    269       try
    270         DbRows := TDbRows.Create;
    271         Database.Query(DbRows, 'SELECT * FROM `HostedProject` WHERE `Active`=1 AND `WebHosting`=0');
    272         for I := 0 to DbRows.Count - 1 do
    273           if DbRows[I].Values['Homepage'] <> '' then
    274           Text := Text + '<li><a href="' + DbRows[I].Values['Homepage'] + '">' +
    275             DbRows[I].Values['Name'] + '</a></li>'
    276             else Text := Text + '<li>' + DbRows[I].Values['Name'] + '</li>';
    277         Text := Text + '</ul>';
    278       finally
    279         DbRows.Free;
    280       end;
    281 
    282       Text := Text + '<br/><strong>Projekty využívající web hosting</strong><br/><ul>';
    283       try
    284         DbRows := TDbRows.Create;
    285         Database.Query(DbRows, 'SELECT * FROM `HostedProject` WHERE `Active`=1 AND `WebHosting`=1');
    286         for I := 0 to DbRows.Count - 1 do
    287           Text := Text + '<li><a href="' + DbRows[I].Values['Homepage'] + '">' +
    288             DbRows[I].Values['Name'] + '</a></li>';
    289         Text := Text + '</ul>';
    290       finally
    291         DbRows.Free;
    292       end;
    293     end;
    294   end;
    295 end;
    296 
    297 procedure Network(App: TMainModule; HandlerData: THTTPHandlerData);
    298 var
    299   TextBlock: THtmlString;
    300 begin
    301   with App do begin
    302     HtmlDocument.Title := 'Síť';
    303 
    304     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    305       Text := MakeLink('Historie', NavigationLink('/historie/')) + '<br/>' +
    306         MakeLink('Dokumenty', NavigationLink('/dokumenty/')) + '<br/>' +
    307         MakeLink('Plánované projekty', NavigationLink('/plany/')) + '<br/>';
    308     end;
    309   end;
    310 end;
    311 
    312 procedure About(App: TMainModule; HandlerData: THTTPHandlerData);
    313 var
    314   TextBlock: THtmlString;
    315 begin
    316   with App do begin
    317     HtmlDocument.Title := 'Úvod';
    318 
    319     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    320     Text := '<img align="left" src="' + NavigationLink('/images/umisteni.gif') + '" alt="Umístění obce"/>' +
    321       '<a href="' + NavigationLink('/images/pokryti.jpg') + '">' +
    322       '<img align="right" src="' + NavigationLink('/images/pokryti_nahled.jpg') + '" width="170" height="334" alt="Pokrytí obce signálem"/></a>' +
    323       '<strong>Informace o obci:</strong><br/>' +
    324       'Vesnice Zděchov se nachází pár kilometrů od obce Huslenky, jihovýchodním směrem od Vsetína. ' +
    325       'Je zasazena do typicky valašské krajiny roztroušených usedlostí a jalovcových pasek. Stojí zde dochovalé stavby lidové architektury, klasicistní kostel Proměnění Páně a kamenný kříž z roku 1778.<br/>' +
    326       'Zděchov poskytuje ideální podmínky pro celeroční rekreaci. Najdete zde koupaliště, lyžařský vlek a motokrosovou trať. Prochází tudy modrá turistická značka, odsud také vede žlutá značka, která tvoří spojnici se zelenou.<br/>' +
    327       '<br/>' +
    328       '<strong>Informace o síti:</strong><br/>' +
    329       'Počítačová síť postupně vznikla jako přirozená reakce na tehdejší situaci v informačních technologiích a jako reakce na nedostupnost vhodného internetového připojení pro domácnosti v obci. ' +
    330       'Členové komunity jsou mezi sebou propojeni pomocí kabelu nebo bezdrátové technologie Wi-Fi. K internetu jsou připojeni přes hlavní směrovač. ' +
    331       'Připojení je negarantované, avšak prvořadým cílem je maximální spolehlivost, stabilita, rychlost a dostupnost připojení. ' +
    332       'Jelikož je obec odlehlá a obklopena vysokými kopci, jsou zde možnosti jiného kabelového či bezdrátového připojení značně omezené. Síť vedená místními aktivisty také přináší řadu nadstandardních komunitních služeb.<br/>' +
    333       '<br/>' +
    334       '<i>Důvody ke vzniku sítě:</i><br/>' +
    335       '<ul>' +
    336       '<li>Možnost komunikace mezi členy formou textu, zvuku či videa</li>' +
    337       '<li>Dosažení rychlejšího a levnějšího nepřetržitého sdíleného internetového připojení bez omezení dat</li>' +
    338       '<li>Možnost šíření aktuálních informací z dění v obce</li>' +
    339       '<li>Sdílení společných dat</li>' +
    340       '<li>Společné hraní síťových her</li>' +
    341       '<li>Zprovoznění užitečných služeb (chat, aktuality, bazar, menu v jídelně, web kamery, aj.)</li>' +
    342       '</ul><br/>';
    343 
    344     Text := Text + '<br/>' +
    345       '<a href="' + NavigationLink('/images/pohlednice_stara.jpg') + '">' +
    346       '<img align="right" src="' + NavigationLink('/images/pohlednice_stara_mala.jpg') + '" alt="Stará pohlednice" /></a>';
    347 
    348     Text := Text + '<strong>Počty zákazníků:</strong><br/>' +
    349       'Připojených domácností v obci: 99<br/>' +
    350       'Připojených institucí: 1<br/>' +
    351       'Hosting serverů: 4<br/>' +
    352       'Celkem: 104<br/>' +
    353       '<br/>' +
    354       '<strong>Technické parametry sítě</strong><br/>' +
    355       'Internetové připojení: 40/40 Mbit/s, vyhrazené, symetrické, bez agregace, bez omezení přenesených dat, přes společnost <a href="http://www.inext.cz/">Internext 2000</a><br/>' +
    356       'Pokrytí obce signálem: asi 80%<br/>' +
    357       'V připojených domácnostech celkem 327 občanů ze všech 600 (55 %)<br/>' +
    358       '<br/>' +
    359       '<i>Aktualizováno: 3.7.2010</i>';
    360     end;
    361   end;
    362 end;
    363 
    364 procedure Documents(App: TMainModule; HandlerData: THTTPHandlerData);
    365 begin
    366   with App do begin
    367     HtmlDocument.Title := 'Dokumenty';
    368 
    369     with HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    370       Text := '<strong>O obci:</strong><br/>' +
    371 
    372       IconedLink(NavigationLink('/docs/Zdechovska_historie_a_soucasnost.pdf'), 'Zděchovská historie a současnost') + ' (1,6 MB)<br/>' +
    373       '<img src="' + NavigationLink('/images/icons/pdf.gif') + '" alt=""> Zděchov - klíč od hřebene Javorníků - propagační publikace obce (kvalita ' +
    374 '<a href="' + NavigationLink('/docs/Zděchov - klíč od hřebene Javorníků (nízká kvalita).pdf') + '">nízká (1,8 MB)</a> ' +
    375 '<a href="' + NavigationLink('/docs/Zděchov - klíč od hřebene Javorníků (střední kvalita).pdf') + '">střední (3,7 MB)</a> ' +
    376 '<a href="' + NavigationLink('/docs/Zděchov - klíč od hřebene Javorníků (vysoká kvalita).pdf') + '">vysoká (7,2 MB)</a>)' +
    377 '<br/><br/>' +
    378     '<strong>Propagace sítě v obci:</strong><br/>' +
    379 
    380       IconedLink(NavigationLink('/docs/info_na_infokanal_1.6.2006.pdf'), 'Aktualita na infokanálu (1.6.2006)') + '<br/>' +
    381       IconedLink(NavigationLink('/docs/info_na_infokanal_4.3.2005.pdf'), 'Aktualita na infokanálu (4.3.2005)') + '<br/>' +
    382       IconedLink(NavigationLink('/docs/info_na_infokanal_24.9.2004.pdf'), 'Aktualita na infokanálu (24.9.2004)') + '<br/>' +
    383       IconedLink(NavigationLink('/docs/vyzva_do_infokanalu_15.8.2004.pdf'), 'Výzva do infokanálu (15.8.2004)') + '<br/>';
    384     end;
    385   end;
    386 end;
    387 
    388 procedure Contact(App: TMainModule; HandlerData: THTTPHandlerData);
    389 begin
    390   App.HtmlDocument.Title := 'Kontakt';
    391 
    392   with App.HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    393     Text := '<strong>Kontaktní informace</strong><br/>' +
    394     'Provozovatel: Ing. Jiří Hajda<br/>' +
    395     'Adresa: Zděchov 208, 75607<br/>' +
    396     'Telefon: 737785792<br/>' +
    397     'E-mail: <a href="mailto: robie@centrum.cz">robie@centrum.cz</a><br/>' +
    398     'Jabber: chronos@jabbim.cz<br/>' +
    399     'ICQ: <a href="http://www.icq.com/people/277158770">277158770</a><br/>' +
    400     'IČ: 75904535<br/>' +
    401     'DIČ: CZ8303255884<br/>' +
    402     'Bankovní účet: 218098370 / 0300<br/>';
    403   end;
    404 end;
    405 
    406 procedure UserControl(App: TMainModule; HandlerData: THTTPHandlerData);
    407 var
    408   PageName: string;
    409   NewForm: TQueryForm;
    410   NewGroup: TQueryFormGroup;
    411   NewItem: TQueryFormItem;
    412 begin
    413   App.HtmlDocument.Title := 'Uživatel';
    414 
    415   if HandlerData.Request.QueryParts.Count > 1 then PageName := HandlerData.Request.QueryParts[1]
    416     else PageName := '';
    417   with App.HtmlDocument.Body, THtmlString(SubItems.AddNew(THtmlString.Create)) do begin
    418     if PageName = 'prihlaseni' then begin
    419       Text := 'Login';
    420       with App.HtmlDocument.Body, TQueryForm(SubItems.AddNew(TQueryForm.Create)) do begin
    421         Title := 'Přihlášení';
    422         ClassId := 'Form';
    423         with TQueryFormGroup(Groups.AddNew(TQueryFormGroup.Create)) do begin
    424           Title := 'Základní údaje';
    425           with TQueryFormItem(Rows.AddNew(TQueryFormItem.Create)) do begin
    426             Caption := 'Jméno';
    427             Hint := 'Zadejte vaše přihlašovací jméno';
    428             Required := True;
    429           end;
    430           with TQueryFormItem(Rows.AddNew(TQueryFormItem.Create)) do begin
    431             Caption := 'Heslo';
    432             Hint := 'Zadejte vaše heslo';
    433             Required := True;
    434             ItemType := fitPassword;
    435           end;
    436         end;
    437       end;
    438     end else Text := '';
    439   end;
    440 end;
    441 
    442 
    443 procedure ServerInfo(App: TMainModule; HandlerData: THTTPHandlerData);
    444 begin
    445   HandlerData.Session.Values['Test'] := 'Tst';
    446   MainModule.HTTPServer.ServerInfo(HandlerData);
    447 end;
    44815
    44916end.
Note: See TracChangeset for help on using the changeset viewer.