Ignore:
Timestamp:
Dec 30, 2012, 9:13:55 PM (12 years ago)
Author:
chronos
Message:
  • Upraveno: Hlavní stránka přetvořena jako aplikační modul.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/AppModule.php

    r467 r469  
    1818  /** @var ModularSystem */
    1919  var $Manager;
     20  var $OnChange;
    2021 
    21   function __construct($Database, $System)
     22  function __construct($System)
    2223  {
    2324    $this->System = &$System;
    24     $this->Database = &$Database;
     25    $this->Database = &$System->Database;
    2526  }
    2627 
     
    3940  function Stop()
    4041  {
     42  }
     43}
     44
     45class AppModuleManager
     46{
     47  var $Modules;
     48 
     49  function __construct()
     50  {
     51    $this->Modules = array();     
    4152  }
    4253 
     54  function StartAll()
     55  {
     56    foreach($this->Modules as $Index => $Module)
     57    {
     58      //DebugLog('Init module '.$Module->Name);
     59      $this->Modules[$Index]->Start();
     60    }
     61  }
     62
     63  function StopAll()
     64  {
     65    foreach($this->Modules as $Index => $Module)
     66    {
     67      //DebugLog('Init module '.$Module->Name);
     68      $this->Modules[$Index]->Stop();
     69    }
     70  }
     71 
     72  function ModulePresent($Name)
     73  {
     74    return(array_key_exists($Name, $this->Modules));
     75  }
     76 
     77  function RegisterModule(AppModule $Module)
     78  {
     79    $this->Modules[$Module->Name] = &$Module; 
     80    $Module->Manager = &$this;
     81    $Module->OnChange = &$this->OnModuleChange;
     82  }
     83 
     84  function UnregisterModule($Module)
     85  {
     86    unset($this->Modules[array_search($Module, $this->Modules)]); 
     87  }
    4388}
    4489
Note: See TracChangeset for help on using the changeset viewer.