Changeset 49


Ignore:
Timestamp:
Mar 28, 2011, 9:40:06 AM (13 years ago)
Author:
george
Message:
  • Upraveno: Seznam registrovaných stránek předělán na samostatnou třídu s funkcí FindByName.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Application/UCustomApplication.pas

    r48 r49  
    1818    Name: string;
    1919    Producer: TPageProducer;
     20  end;
     21
     22  { TRegistredPageList }
     23
     24  TRegistredPageList = class(TListObject)
     25    function FindByName(Name: string): TRegistredPage;
    2026  end;
    2127
     
    4147    Keywords: string;
    4248    HtmlDocument: THtmlDocument;
    43     Pages: TListObject; // TListObject<TRegistredPage>
     49    Pages: TRegistredPageList;
    4450    Database: TSqlDatabase;
    4551    PageName: string;
     
    6167  SPageNotFound = 'Page not found';
    6268
     69{ TRegistredPageList }
     70
     71function TRegistredPageList.FindByName(Name: string): TRegistredPage;
     72var
     73  I: Integer;
     74begin
     75  I := 0;
     76  while (I < Count) and (TRegistredPage(Items[I]).Name <> Name) do Inc(I);
     77  if I < Count then Result := TRegistredPage(Items[I])
     78    else Result := nil;
     79end;
     80
    6381{ TCustomApplication }
    6482
     
    97115  I: Integer;
    98116  TitleTag: THtmlString;
     117  Page: TRegistredPage;
    99118begin
    100119  User.HandlerData := HandlerData;
     
    102121  UserOnline.Update;
    103122  with HandlerData do begin
    104   Style := Config.Style;
    105   BaseURL := Config.BaseURL;
    106 
    107   HtmlDocument.ContentLanguage := 'cs';
    108   GlobalTitle := 'ZděchovNET';
    109   HtmlDocument.Styles.Add(NavigationLink('/Style/' + Style + '/Style.css'));
    110   HtmlDocument.Scripts.Add(NavigationLink('/Style/' + Style + '/Global.js'));
    111   HtmlDocument.Scripts.Add(NavigationLink('/Style/' + Style + '/jquery.js'));
    112 
    113   Request.QueryParts.Count := 2;
    114   Request.QueryParts[0] := 'uzivatel';
    115   Request.QueryParts[1] := 'prihlaseni';
    116 
    117   if Request.QueryParts.Count > 0 then PageName := Request.QueryParts[0]
    118     else PageName := '';
    119   I := 0;
    120   while (I < Pages.Count) and (TRegistredPage(Pages[I]).Name <> PageName) do Inc(I);
    121   if (I < Pages.Count) then begin
    122     TitleTag := THtmlString.Create;
    123     HtmlDocument.Body.SubItems.Add(TitleTag);
    124     TopMenu;
    125     TRegistredPage(Pages[I]).Producer(Self, HandlerData);
    126     TitleTag.Text := '<div class="TitlePanel"><span class="GlobalTitle">' + GlobalTitle +
    127     '</span> - ' + HtmlDocument.Title + '</div>';
    128     HtmlDocument.Title := GlobalTitle + ' - ' + HtmlDocument.Title;
    129     with HtmlDocument.AsXmlDocument do try
    130       Formated := Config.FormatHTML;
    131       Response.Stream.WriteString(AsString);
    132     finally
    133       Free;
    134     end;
    135   end else Response.Stream.WriteString(SPageNotFound);
     123    Style := Config.Style;
     124    BaseURL := Config.BaseURL;
     125
     126    HtmlDocument.ContentLanguage := 'cs';
     127    GlobalTitle := 'ZděchovNET';
     128    HtmlDocument.Styles.Add(NavigationLink('/Style/' + Style + '/Style.css'));
     129    HtmlDocument.Scripts.Add(NavigationLink('/Style/' + Style + '/Global.js'));
     130    HtmlDocument.Scripts.Add(NavigationLink('/Style/' + Style + '/jquery.js'));
     131
     132    Request.QueryParts.Count := 2;
     133    Request.QueryParts[0] := 'uzivatel';
     134    Request.QueryParts[1] := 'prihlaseni';
     135
     136    if Request.QueryParts.Count > 0 then PageName := Request.QueryParts[0]
     137      else PageName := '';
     138    Page := Pages.FindByName(PageName);
     139    if Assigned(Page) then begin
     140      TitleTag := THtmlString.Create;
     141      HtmlDocument.Body.SubItems.Add(TitleTag);
     142      TopMenu;
     143      Page.Producer(Self, HandlerData);
     144      TitleTag.Text := '<div class="TitlePanel"><span class="GlobalTitle">' + GlobalTitle +
     145        '</span> - ' + HtmlDocument.Title + '</div>';
     146      HtmlDocument.Title := GlobalTitle + ' - ' + HtmlDocument.Title;
     147      with HtmlDocument.AsXmlDocument do
     148      try
     149        Formated := Config.FormatHTML;
     150        Response.Stream.WriteString(AsString);
     151      finally
     152        Free;
     153      end;
     154    end else Response.Stream.WriteString(SPageNotFound);
    136155  end;
    137156end;
     
    141160  inherited;
    142161  Database := TSqlDatabase.Create;
    143   Pages := TListObject.Create;
     162  Pages := TRegistredPageList.Create;
    144163  HtmlDocument := THtmlDocument.Create;
    145164  User := TWebUser.Create;
  • trunk/CGI.lpi

    r48 r49  
    474474        <EditorIndex Value="1"/>
    475475        <WindowIndex Value="0"/>
    476         <TopLine Value="174"/>
    477         <CursorPos X="38" Y="187"/>
     476        <TopLine Value="129"/>
     477        <CursorPos X="5" Y="155"/>
    478478        <UsageCount Value="339"/>
    479479        <Loaded Value="True"/>
     
    556556        <EditorIndex Value="7"/>
    557557        <WindowIndex Value="0"/>
    558         <TopLine Value="18"/>
    559         <CursorPos X="1" Y="25"/>
     558        <TopLine Value="144"/>
     559        <CursorPos X="2" Y="26"/>
    560560        <UsageCount Value="20"/>
    561561        <Loaded Value="True"/>
     
    566566        <EditorIndex Value="8"/>
    567567        <WindowIndex Value="0"/>
    568         <TopLine Value="92"/>
    569         <CursorPos X="5" Y="106"/>
     568        <TopLine Value="744"/>
     569        <CursorPos X="38" Y="434"/>
    570570        <UsageCount Value="21"/>
    571571        <Loaded Value="True"/>
     
    602602        <Filename Value="../../PascalClassLibrary/Network/CoolWeb/WebServer/UHTTPServer.pas"/>
    603603        <UnitName Value="UHTTPServer"/>
    604         <WindowIndex Value="0"/>
    605         <TopLine Value="14"/>
     604        <EditorIndex Value="9"/>
     605        <WindowIndex Value="0"/>
     606        <TopLine Value="410"/>
    606607        <CursorPos X="5" Y="31"/>
    607         <UsageCount Value="9"/>
     608        <UsageCount Value="10"/>
     609        <Loaded Value="True"/>
    608610      </Unit62>
    609611      <Unit63>
     
    682684      <Position1>
    683685        <Filename Value="Pages/UMainPage.pas"/>
    684         <Caret Line="318" Column="56" TopLine="294"/>
     686        <Caret Line="368" Column="52" TopLine="344"/>
    685687      </Position1>
    686688      <Position2>
    687689        <Filename Value="Pages/UMainPage.pas"/>
    688         <Caret Line="368" Column="52" TopLine="344"/>
     690        <Caret Line="391" Column="55" TopLine="367"/>
    689691      </Position2>
    690692      <Position3>
    691693        <Filename Value="Pages/UMainPage.pas"/>
    692         <Caret Line="391" Column="55" TopLine="367"/>
     694        <Caret Line="416" Column="55" TopLine="392"/>
    693695      </Position3>
    694696      <Position4>
    695697        <Filename Value="Pages/UMainPage.pas"/>
    696         <Caret Line="416" Column="55" TopLine="392"/>
     698        <Caret Line="419" Column="58" TopLine="395"/>
    697699      </Position4>
    698700      <Position5>
    699701        <Filename Value="Pages/UMainPage.pas"/>
    700         <Caret Line="419" Column="58" TopLine="395"/>
     702        <Caret Line="422" Column="40" TopLine="398"/>
    701703      </Position5>
    702704      <Position6>
    703705        <Filename Value="Pages/UMainPage.pas"/>
    704         <Caret Line="422" Column="40" TopLine="398"/>
     706        <Caret Line="424" Column="39" TopLine="400"/>
    705707      </Position6>
    706708      <Position7>
    707         <Filename Value="Pages/UMainPage.pas"/>
    708         <Caret Line="424" Column="39" TopLine="400"/>
     709        <Filename Value="Application/UCustomApplication.pas"/>
     710        <Caret Line="7" Column="62" TopLine="1"/>
    709711      </Position7>
    710712      <Position8>
    711713        <Filename Value="Application/UCustomApplication.pas"/>
    712         <Caret Line="7" Column="62" TopLine="1"/>
     714        <Caret Line="72" Column="12" TopLine="48"/>
    713715      </Position8>
    714716      <Position9>
    715717        <Filename Value="Application/UCustomApplication.pas"/>
    716         <Caret Line="72" Column="12" TopLine="48"/>
     718        <Caret Line="109" Column="26" TopLine="85"/>
    717719      </Position9>
    718720      <Position10>
    719721        <Filename Value="Application/UCustomApplication.pas"/>
    720         <Caret Line="109" Column="26" TopLine="85"/>
     722        <Caret Line="110" Column="27" TopLine="86"/>
    721723      </Position10>
    722724      <Position11>
    723725        <Filename Value="Application/UCustomApplication.pas"/>
    724         <Caret Line="110" Column="27" TopLine="86"/>
     726        <Caret Line="109" Column="26" TopLine="87"/>
    725727      </Position11>
    726728      <Position12>
    727729        <Filename Value="Application/UCustomApplication.pas"/>
    728         <Caret Line="109" Column="26" TopLine="87"/>
     730        <Caret Line="110" Column="27" TopLine="87"/>
    729731      </Position12>
    730732      <Position13>
    731733        <Filename Value="Application/UCustomApplication.pas"/>
    732         <Caret Line="110" Column="27" TopLine="87"/>
     734        <Caret Line="111" Column="27" TopLine="87"/>
    733735      </Position13>
    734736      <Position14>
    735737        <Filename Value="Application/UCustomApplication.pas"/>
    736         <Caret Line="111" Column="27" TopLine="87"/>
     738        <Caret Line="123" Column="35" TopLine="99"/>
    737739      </Position14>
    738740      <Position15>
    739741        <Filename Value="Application/UCustomApplication.pas"/>
    740         <Caret Line="123" Column="35" TopLine="99"/>
     742        <Caret Line="171" Column="65" TopLine="147"/>
    741743      </Position15>
    742744      <Position16>
    743745        <Filename Value="Application/UCustomApplication.pas"/>
    744         <Caret Line="171" Column="65" TopLine="147"/>
     746        <Caret Line="176" Column="57" TopLine="150"/>
    745747      </Position16>
    746748      <Position17>
    747749        <Filename Value="Application/UCustomApplication.pas"/>
    748         <Caret Line="176" Column="57" TopLine="150"/>
     750        <Caret Line="180" Column="49" TopLine="156"/>
    749751      </Position17>
    750752      <Position18>
    751753        <Filename Value="Application/UCustomApplication.pas"/>
    752         <Caret Line="180" Column="49" TopLine="156"/>
     754        <Caret Line="182" Column="57" TopLine="158"/>
    753755      </Position18>
    754756      <Position19>
    755757        <Filename Value="Application/UCustomApplication.pas"/>
    756         <Caret Line="182" Column="57" TopLine="158"/>
     758        <Caret Line="187" Column="51" TopLine="163"/>
    757759      </Position19>
    758760      <Position20>
    759761        <Filename Value="Application/UCustomApplication.pas"/>
    760         <Caret Line="187" Column="51" TopLine="163"/>
     762        <Caret Line="189" Column="59" TopLine="165"/>
    761763      </Position20>
    762764      <Position21>
    763765        <Filename Value="Application/UCustomApplication.pas"/>
    764         <Caret Line="189" Column="59" TopLine="165"/>
     766        <Caret Line="194" Column="51" TopLine="170"/>
    765767      </Position21>
    766768      <Position22>
    767769        <Filename Value="Application/UCustomApplication.pas"/>
    768         <Caret Line="194" Column="51" TopLine="170"/>
     770        <Caret Line="196" Column="59" TopLine="172"/>
    769771      </Position22>
    770772      <Position23>
    771773        <Filename Value="Application/UCustomApplication.pas"/>
    772         <Caret Line="196" Column="59" TopLine="172"/>
     774        <Caret Line="197" Column="73" TopLine="173"/>
    773775      </Position23>
    774776      <Position24>
    775777        <Filename Value="Application/UCustomApplication.pas"/>
    776         <Caret Line="197" Column="73" TopLine="173"/>
     778        <Caret Line="224" Column="35" TopLine="200"/>
    777779      </Position24>
    778780      <Position25>
    779781        <Filename Value="Application/UCustomApplication.pas"/>
    780         <Caret Line="224" Column="35" TopLine="200"/>
     782        <Caret Line="123" Column="27" TopLine="104"/>
    781783      </Position25>
    782784      <Position26>
    783785        <Filename Value="Application/UCustomApplication.pas"/>
    784         <Caret Line="123" Column="27" TopLine="104"/>
     786        <Caret Line="125" Column="5" TopLine="104"/>
    785787      </Position26>
    786788      <Position27>
    787789        <Filename Value="Application/UCustomApplication.pas"/>
    788         <Caret Line="125" Column="5" TopLine="104"/>
     790        <Caret Line="120" Column="17" TopLine="109"/>
    789791      </Position27>
    790792      <Position28>
    791         <Filename Value="Application/UCustomApplication.pas"/>
    792         <Caret Line="120" Column="17" TopLine="109"/>
     793        <Filename Value="CGI.lpr"/>
     794        <Caret Line="18" Column="15" TopLine="9"/>
    793795      </Position28>
    794796      <Position29>
    795         <Filename Value="CGI.lpr"/>
    796         <Caret Line="18" Column="15" TopLine="9"/>
     797        <Filename Value="Pages/UMainPage.pas"/>
     798        <Caret Line="419" Column="42" TopLine="417"/>
    797799      </Position29>
    798800      <Position30>
    799         <Filename Value="Pages/UMainPage.pas"/>
    800         <Caret Line="419" Column="42" TopLine="417"/>
     801        <Filename Value="Application/UCustomApplication.pas"/>
     802        <Caret Line="25" Column="55" TopLine="10"/>
    801803      </Position30>
    802804    </JumpHistory>
Note: See TracChangeset for help on using the changeset viewer.