Changeset 105 for trunk/Modules/Portal


Ignore:
Timestamp:
Oct 9, 2012, 1:58:45 PM (12 years ago)
Author:
chronos
Message:
  • Přidáno: Hlavní modul Base, který slouží jako základní rozhraní k aplikaci pro ostatní moduly. Modul System zajistí udržování seznamu instalovaných modulů v perzistentním úložišti v databázi.
  • Upraveno: Správce modulů ModuleManager je nyní použit pro každé komunikační spojení zvlášť.
Location:
trunk/Modules/Portal
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Portal/UModulePortal.pas

    r104 r105  
    77uses
    88  Classes, SysUtils, UModularSystem, SpecializedDictionary, USqlDatabase,
    9   UUtils, UWebSession, SpecializedList, UUser, UWebPage, UHtmlClasses;
     9  UUtils, UWebSession, SpecializedList, UUser, UWebPage, UHtmlClasses,
     10  UModuleBase, UModuleUser;
    1011
    1112type
     
    1617  private
    1718    Time: TDateTime;
     19    WebPagePortal: TWebPage;
    1820    function ShowFooter(Session: TWebSession): string;
    1921    function ShowHeader(Session: TWebSession): string;
    2022    procedure GeneratePage(ASession: TWebSession; Page: TWebPage);
    2123  public
     24    ModuleBase: TModuleBase;
     25    ModuleUser: TModuleUser;
    2226    constructor Create(Owner: TComponent); override;
    2327    destructor Destroy; override;
     
    4650  Author := 'Chronosoft';
    4751  Dependencies.Add('User');
     52  Dependencies.Add('Finance');
     53  Dependencies.Add('News');
    4854end;
    4955
     
    5561procedure TModulePortal.Start;
    5662begin
    57   Core.GeneratePage := GeneratePage;
    58   Core.Pages.RegisterPage(TWebPagePortal, WebPagePortal, 'portal');
    59   inherited;
     63  BeforeStart;
     64  ModuleBase := TModuleBase(Manager.FindModuleByName('Base'));
     65  ModuleBase.GeneratePage := GeneratePage;
     66  WebPagePortal := TWebPagePortal.Create(nil);
     67  ModuleBase.Pages.RegisterPage(WebPagePortal, '');
     68  TWebPagePortal(WebPagePortal).ModuleUser := TModuleUser(Manager.FindModuleByName('User'));
     69  AfterStart;
    6070end;
    6171
    6272procedure TModulePortal.Stop;
    6373begin
    64   inherited;
    65   Core.Pages.UnregisterPage('portal');
     74  BeforeStop;
     75  ModuleBase.Pages.UnregisterPage(WebPagePortal);
     76  FreeAndNil(WebPagePortal);
     77  ModuleBase := nil;
     78  AfterStop;
    6679end;
    6780
     
    208221    '<div class="Navigation"><span class="MenuItem"><strong>Navigace :: </strong> ';
    209222    Output := Output + Navigation + '</span><div class="MenuItem2">';
    210     if Session.User.Id = UnknownUser then
     223    if ModuleUser.User.Id = UnknownUser then
    211224      Output := Output + '<a href="' + MakeLink('Přihlášení',
    212225        NavigationLink('/?Action=LoginForm')) + ' ' +
    213226        MakeLink('Registrace', NavigationLink('/?Action=UserRegister'))
    214       else Output := Output + Session.User.Name + ' ' + MakeLink('Odhlásit',
     227      else Output := Output + ModuleUser.User.Name + ' ' + MakeLink('Odhlásit',
    215228        NavigationLink('/?Action=Logout'));
    216229// <a href="'.$this->System->Config['Web']['RootFolder'].'/?Action=UserOptions">Nastavení</a>';
  • trunk/Modules/Portal/UPagePortal.pas

    r104 r105  
    88  Classes, SysUtils, FileUtil, UWebPage, UHTTPServer, USqlDatabase, UUtils,
    99  SpecializedDictionary, UWebSession, SpecializedList, UHtmlClasses,
    10   UModularSystem;
     10  UModularSystem, UModuleUser, UModuleNews;
    1111
    1212type
     
    2626    function WebcamPanel: string;
    2727  public
    28     { public declarations }
     28    ModuleUser: TModuleUser;
     29    ModuleNews: TModuleNews;
    2930  end;
    3031
     
    3738
    3839uses
    39   UCore, UModuleUser, UWebObjects, UUser;
     40  UCore, UWebObjects, UUser;
    4041
    4142function TWebPagePortal.SystemMessage(Title, Text: string): string;
     
    7677        if ((HyperLink.Values['PermissionModule'] = '') or
    7778        ((HyperLink.Values['PermissionModule'] <> '') and
    78         Session.User.CheckPermission(HyperLink.Values['PermissionModule'], HyperLink.Values['PermissionOperation']))) then
     79        ModuleUser.User.CheckPermission(HyperLink.Values['PermissionModule'], HyperLink.Values['PermissionOperation']))) then
    7980        Result := Result + '<img alt="' + HyperLink.Values['Name'] + '" src="images/favicons/' + HyperLink.Values['IconFile'] + '" width="16" height="16" /> <a href="' + HyperLink.Values['URL'] + '">' + HyperLink.Values['Name'] + '</a><br />';
    8081    end;
     
    118119      Form := TQueryForm.Create; // UserLogin
    119120      Form.Load(Session.Request.Post);
    120       Session.UserOnline.Login(
    121         Session.User.GetIdByNamePassword(
     121      ModuleUser.UserOnline.Login(
     122        ModuleUser.User.GetIdByNamePassword(
    122123      TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Username').Value.Value,
    123124        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value));
    124125      Output := Output + SystemMessage('Přihlášení', 'Přihlášení provedeno');
    125       if Session.User.Id <> UnknownUser then begin
     126      if ModuleUser.User.Id <> UnknownUser then begin
    126127        //Form.LoadValuesFromForm;
    127128        TQueryFormGroup(Form.Groups[0]).Rows.FindByName('Password').Value.Value := '';
     
    132133    end else
    133134    if Query.Values['Action'] = 'Logout' then begin
    134       Session.UserOnline.Logout;
     135      ModuleUser.UserOnline.Logout;
    135136      Output := Output + SystemMessage('Odhlášení', 'Uživatel odhlášen');
    136137    end else
     
    249250        else if Panel.Values['Module'] = 'UserOptions' then
    250251        begin
    251           if Session.User.Id <> UnknownUser then
     252          if ModuleUser.User.Id <> UnknownUser then
    252253            Output := Output + ShowPanel('Přihlášený uživatel', UserPanel);
    253254        end else
     
    255256          Output := Output + ShowPanel('Kamery', WebcamPanel)
    256257        else if Panel.Values['Module'] = 'NewsGroupList' then
    257 //          Output := Output + Panel('Aktuality', $this->System->Modules['News']->Show(), array('<a href="?Action=CustomizeNews">Upravit</a>'));
     258          //Output := Output + ShowPanel('Aktuality',
     259          //ModuleNews.Show,
     260          //['<a href="?Action=CustomizeNews">Upravit</a>']);
    258261      end;
    259262      Output := Output + '</td>';
Note: See TracChangeset for help on using the changeset viewer.