Ignore:
Timestamp:
Nov 2, 2013, 12:10:42 AM (11 years ago)
Author:
chronos
Message:
  • Opraveno: Chování systému při čisté instalaci bez aktivních modulů.
  • Upraveno: Seznam celkových aktualiací se nyní uchovává jako metoda třídy namísto globální proměnné. Moduly se totiž vkládají ve funkci a proměnná nebyla tedy globální.
  • Přidáno: Implementace metod Install a Uninstall modulů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/AppModule.php

    r587 r590  
    6464  function Install()
    6565  {
     66    if($this->Installed) return;
     67    $List = array();
     68    $this->Manager->EnumDependenciesCascade($this, $List, array(ModuleCondition::NotInstalled));
     69    $this->Manager->Perform($List, array(ModuleAction::Install), array(ModuleCondition::NotInstalled));
     70    $this->DoInstall();
    6671        $this->Installed = true;
    6772  }
     
    6974  function Uninstall()
    7075  {
    71         $this->Installed = false;
     76    if(!$this->Installed) return;
     77    $this->Stop();
     78    $this->Installed = false;
     79    $List = array();
     80    $this->Manager->EnumSuperiorDependenciesCascade($this, $List, array(ModuleCondition::Installed));
     81    $this->Manager->Perform($List, array(ModuleAction::Uninstall), array(ModuleCondition::Installed));
     82    $this->DoUninstall();
     83  }
     84 
     85  function Reinstall()
     86  {
     87    $this->Uninstall();
     88    $this->Install();
    7289  }
    7390 
    7491  function Start()
    7592  {
    76     if($this->Running) return;
     93    if($this->Running) return;
     94    if(!$this->Installed) return;
    7795    $List = array();
    7896    $this->Manager->EnumDependenciesCascade($this, $List, array(ModuleCondition::NotRunning));
     
    119137{
    120138  var $Modules;
     139  var $ModulesAvail;
    121140  var $System;
    122141  var $OnLoadModules;
Note: See TracChangeset for help on using the changeset viewer.