Ignore:
Timestamp:
Nov 1, 2013, 4:22:59 PM (11 years ago)
Author:
chronos
Message:
  • Upraveno: Správa instalace webu přetvořena z podadresáře admin do modulu Setup. Modul setup musí být funkční i v případě nenastavené nebo nedostupné databáze, konfiguračního souboru či neinstalované nebo neaktuální databáze.
  • Přidáno: Metody Disconnect a Connected do třídy Database.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Setup/Setup.php

    r588 r589  
    11<?php
     2
     3include_once(dirname(__FILE__).'/Update.php');
     4include_once(dirname(__FILE__).'/DefaultConfig.php');
     5include_once(dirname(__FILE__).'/FullInstall.php');
     6include_once(dirname(__FILE__).'/Updates.php');
    27
    38class PageSetup extends Page
     
    1318        function Show()
    1419        {
    15                 return('');
     20          global $ConfigDefinition, $DatabaseRevision, $Config, $Updates;
     21         
     22          $UpdateInterface = new UpdateInterface();
     23          $DefaultConfig = new DefaultConfig();
     24          $UpdateInterface->Database = $this->Database;
     25          $UpdateInterface->ConfigDefinition = $DefaultConfig->Get();
     26          $UpdateInterface->DatabaseRevision = $DatabaseRevision;
     27          $UpdateInterface->Config = &$Config;
     28          $UpdateInterface->Updates = &$Updates;
     29          return($UpdateInterface->Show());
    1630        }
    1731}
     
    2135        function Show()
    2236        {
    23                 return('Systém není nainstalován. Pokračujte <a href="'.$this->System->Link('/setup/').'">zde</a>');
     37          echo('s');
     38          $Output = '';
     39          if(!$this->Database->Connected()) $Output .= 'Nelze se připojit k databázi.<br>';
     40          else {
     41            if(!$this->System->ModuleManager->Modules['Setup']->UpdateManager->IsInstalled()) $Output .= 'Systém vyžaduje instalaci databáze.<br>';
     42            if(!$this->System->ModuleManager->Modules['Setup']->UpdateManager->IsUpToDate()) $Output .= 'Systém vyžaduje aktualizaci databáze.<br>';
     43          }
     44          $Output .= 'Pokračujte <a href="'.$this->System->Link('/setup/').'">zde</a>';
     45                return($Output);
    2446        }
    2547}
     
    2749class ModuleSetup extends AppModule
    2850{
     51  var $UpdateManager;
     52 
    2953  function __construct($System)
    3054  {
     
    4064  function DoStart()
    4165  {
     66    global $DatabaseRevision;
     67   
    4268    $this->System->RegisterPage('', 'PageSetupRedirect');
    43     $this->System->RegisterPage('setup', 'PageSetup');   
     69    $this->System->RegisterPage('setup', 'PageSetup');
     70
     71    // Check database persistence structure
     72    $this->UpdateManager = new UpdateManager();
     73    $this->UpdateManager->Database = &$this->Database;
     74    $this->UpdateManager->Revision = $DatabaseRevision;
    4475  } 
     76 
     77  function CheckState()
     78  {
     79    return($this->Database->Connected() and $this->UpdateManager->IsInstalled() and
     80        $this->UpdateManager->IsUpToDate());
     81  }
    4582}
Note: See TracChangeset for help on using the changeset viewer.