Changeset 589


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.
Location:
trunk
Files:
1 deleted
5 edited
3 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Common/Database.php

    r571 r589  
    2828{
    2929  var $Prefix = '';
    30   var $Functions = array('NOW()', 'CURDATE()', 'CURTIME()', 'UUID()');
    31   var $Type = 'mysql';  // mysql, pgsql
     30  var $Functions;
     31  var $Type;
    3232  var $PDO;
    3333  var $Error = '';
    3434  var $insert_id;
    3535  var $LastQuery = '';
    36   var $ShowSQLError = false;
    37   var $ShowSQLQuery = false;
     36  var $ShowSQLError;
     37  var $ShowSQLQuery;
    3838 
    3939  function __construct()
    40   {   
     40  {
     41    $this->Type = 'mysql';  // mysql, pgsql
     42    $this->ShowSQLError = false;
     43    $this->ShowSQLQuery = false;
     44    $this->Functions = array('NOW()', 'CURDATE()', 'CURTIME()', 'UUID()');
    4145  }
    4246 
     
    4650      else if($this->Type == 'pgsql') $ConnectionString = 'pgsql:dbname='.$Database.';host='.$Host;
    4751      else $ConnectionString = '';
    48     $this->PDO = new PDO($ConnectionString, $User, $Password);
     52    try {
     53      $this->PDO = new PDO($ConnectionString, $User, $Password);
     54
     55    } catch (Exception $E)
     56    {
     57      unset($this->PDO);
     58      throw new Exception($E->getMessage());
     59    }
     60  }
     61 
     62  function Disconnect()
     63  {
     64    unset($this->PDO);
     65  }
     66 
     67  function Connected()
     68  {
     69    return(isset($this->PDO));
    4970  }
    5071 
  • trunk/Common/Global.php

    r582 r589  
    99if(file_exists($ConfigFileName)) include_once($ConfigFileName);
    1010include_once(dirname(__FILE__).'/Version.php');
    11 include_once(dirname(__FILE__).'/Update.php');
    1211include_once(dirname(__FILE__).'/VarDumper.php');
    1312include_once(dirname(__FILE__).'/Base.php');
  • trunk/Common/System.php

    r583 r589  
    119119    $this->Config = &$Config;
    120120   
    121     $this->Database->Connect($this->Config['Database']['Host'], $this->Config['Database']['User'],
    122       $this->Config['Database']['Password'], $this->Config['Database']['Database']);
    123     $this->Database->Prefix = $this->Config['Database']['Prefix'];
    124     $this->Database->charset($this->Config['Database']['Charset']);
    125     $this->Database->ShowSQLError = $this->Config['Web']['ShowSQLError'];
    126     $this->Database->ShowSQLQuery = $this->Config['Web']['ShowSQLQuery'];
     121    try {
     122      $this->Database->Connect($this->Config['Database']['Host'], $this->Config['Database']['User'],
     123        $this->Config['Database']['Password'], $this->Config['Database']['Database']);
     124      $this->Database->Prefix = $this->Config['Database']['Prefix'];
     125      $this->Database->charset($this->Config['Database']['Charset']);
     126      $this->Database->ShowSQLError = $this->Config['Web']['ShowSQLError'];
     127      $this->Database->ShowSQLQuery = $this->Config['Web']['ShowSQLQuery'];
     128    } catch (Exception $E) {
     129      //$Output .= 'Nelze se připojit k databázi.';
     130    }
    127131    $this->RootURLFolder = $this->Config['Web']['RootFolder'];
    128132    $this->FormManager->Root = $this->Config['Web']['RootFolder'];
    129  
    130     // Check database persistence structure
    131     $UpdateManager = new UpdateManager();
    132     $UpdateManager->Database = &$this->Database;
    133     $UpdateManager->Revision = $DatabaseRevision;
    134     if(!$UpdateManager->IsInstalled()) die('Systém vyžaduje instalaci databáze.');
    135     if(!$UpdateManager->IsUpToDate()) die('Systém vyžaduje aktualizaci databáze.');
    136133 
    137134    $Database = $this->Database;
     
    142139    $this->ModuleManager->RegisterModule(new ModuleSetup($this));
    143140    $this->ModuleManager->Modules['Setup']->Start();
    144     $this->ModuleManager->LoadModules();
    145     $this->ModuleManager->Modules['Setup']->Start();
    146     $this->ModuleManager->StartAll();
     141    if($this->ModuleManager->Modules['Setup']->CheckState())
     142    {
     143      $this->ModuleManager->LoadModules();
     144      $this->ModuleManager->Modules['Setup']->Start();
     145      $this->ModuleManager->StartAll();
     146    }
    147147    if($this->ShowPage)
    148148    {
  • trunk/Common/Version.php

    r588 r589  
    11<?php
    22
    3 $Revision = 588; // Subversion revision
     3$Revision = 589; // Subversion revision
    44$DatabaseRevision = 584; // SQL structure revision
    55$ReleaseTime = '2013-11-01';
  • trunk/Modules/Setup/DefaultConfig.php

    r583 r589  
    11<?php
    22
    3 $IsDeveloper = in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1'));
    4 
    5 $ConfigDefinition = array
    6 (
    7   array('Name' => 'SystemPassword', 'Type' => 'Password', 'Default' => '', 'Title' => 'Systémové heslo'),
    8   array('Name' => 'Database/Host', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Server'),
    9   array('Name' => 'Database/User', 'Type' => 'String', 'Default' => 'root', 'Title' => 'Uživatel'),
    10   array('Name' => 'Database/Password', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo'),
    11   array('Name' => 'Database/Database', 'Type' => 'String', 'Default' => 'centrala', 'Title' => 'Databáze'),
    12   array('Name' => 'Database/Prefix', 'Type' => 'String', 'Default' => '', 'Title' => 'Prefix'),
    13   array('Name' => 'Database/Charset', 'Type' => 'String', 'Default' => 'utf8', 'Title' => 'Znaková sada'),
    14   array('Name' => 'Web/Style', 'Type' => 'String', 'Default' => 'new', 'Title' => 'Styl'),
    15   array('Name' => 'Web/FormatHTML', 'Type' => 'String', 'Default' => '', 'Title' => 'Formátovat HTML'),
    16   array('Name' => 'Web/Charset', 'Type' => 'String', 'Default' => 'utf-8', 'Title' => 'Znaková sada'),
    17   array('Name' => 'Web/RootFolder', 'Type' => 'String', 'Default' => '', 'Title' => 'Kořenová složka'),
    18   array('Name' => 'Web/Host', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Doménové jméno'),
    19   array('Name' => 'Web/Title', 'Type' => 'String', 'Default' => 'Síť', 'Title' => 'Titulek'),
    20   array('Name' => 'Web/Description', 'Type' => 'String', 'Default' => 'Komunitní počítačová síť', 'Title' => 'Popis'),
    21   array('Name' => 'Web/Admin', 'Type' => 'String', 'Default' => 'Admin', 'Title' => 'Jméno správce'),
    22   array('Name' => 'Web/AdminEmail', 'Type' => 'String', 'Default' => 'admin@localhost', 'Title' => 'E-mail správce'),
    23   array('Name' => 'Web/ErrorLogFile', 'Type' => 'String', 'Default' => 'php_script_error.log', 'Title' => 'Soubor záznamu chyb'),
    24   array('Name' => 'Web/WebcamPassword', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo web kamery'),
    25   array('Name' => 'Web/WebcamRefresh', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Interval obnovení'),
    26   array('Name' => 'Web/UserSupport', 'Type' => 'Boolean', 'Default' => '1', 'Title' => 'Podpora uživatelů'),
    27   array('Name' => 'Web/UploadFileFolder', 'Type' => 'String', 'Default' => 'files', 'Title' => 'Složka načtených souborů'),
    28   array('Name' => 'Web/News/DaysAgo', 'Type' => 'Integer', 'Default' => '30', 'Title' => 'Stáří zobrazovaných aktualit'),
    29   array('Name' => 'Web/News/Count', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Počet zobrazovaných aktualit na skupinu'),
    30   array('Name' => 'Web/News/DirectoryId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id adresáře souborů příloh aktualit'),
    31   array('Name' => 'Map/GoogleMapsApiKey', 'Type' => 'String', 'Default' => '', 'Title' => 'API google map'),
    32   array('Name' => 'Map/DefaultLatitude', 'Type' => 'Float', 'Default' => '49.260422', 'Title' => 'Výchozí pozice na mapě'),
    33   array('Name' => 'Map/DefaultLongitude', 'Type' => 'Float', 'Default' => '18.081179', 'Title' => 'Výchozí pozice na mapě'),
    34   array('Name' => 'Map/DefaultZoom', 'Type' => 'Float', 'Default' => '15', 'Title' => 'Výchozí přihlížení mapy'),
    35   array('Name' => 'Web/ItemsPerPage', 'Type' => 'Integer', 'Default' => '50', 'Title' => 'Položek na stránku'),
    36   array('Name' => 'Web/VisiblePagingItems', 'Type' => 'Integer', 'Default' => '20', 'Title' => 'Položek stránkování'),
    37   array('Name' => 'Web/FormatHTML', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Formátovat výsledný kód'),
    38   array('Name' => 'Web/ShowSQLError', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat SQL chyby'),
    39   array('Name' => 'Web/ShowSQLQuery', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat SQL dotazy'),
    40   array('Name' => 'Web/ShowPHPError', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat PHP chyby'),
    41   array('Name' => 'Web/ShowRuntimeInfo', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat běhové informace'),
    42   array('Name' => 'Finance/MainUserId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id hlavního uživatele'),
    43   array('Name' => 'Finance/MainSubjectId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id hlavního subjektu'),
    44   array('Name' => 'Finance/DirectoryId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id adresáře souborů dokladů'),
    45   array('Name' => 'MainRouter/HostName', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Hlavní brána'),
    46   array('Name' => 'MainRouter/UserName', 'Type' => 'String', 'Default' => 'admin', 'Title' => 'Uživatelské jméno'),
    47   array('Name' => 'MainRouter/Password', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo'),
    48   array('Name' => 'MainRouter/InetInterface', 'Type' => 'String', 'Default' => 'ether_wan', 'Title' => 'WAN rozhraní'),
    49   array('Name' => 'MainRouter/LocalInterface', 'Type' => 'String', 'Default' => 'ether_lan', 'Title' => 'LAN rozhraní'),
    50   array('Name' => 'MainRouter/ConnectTimeout', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Vypršení času'),
    51   array('Name' => 'MainRouter/MangleRuleSubgroupMinPrefix', 'Type' => 'Integer', 'Default' => '28', 'Title' => 'Nejmenší prefix podsítě pro mangle pravidla'),
    52 );
     3class DefaultConfig
     4{
     5  function Get()
     6  {
     7    $IsDeveloper = in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1'));
     8    return(array
     9    (
     10        array('Name' => 'SystemPassword', 'Type' => 'Password', 'Default' => '', 'Title' => 'Systémové heslo'),
     11        array('Name' => 'Database/Host', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Server'),
     12        array('Name' => 'Database/User', 'Type' => 'String', 'Default' => 'root', 'Title' => 'Uživatel'),
     13        array('Name' => 'Database/Password', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo'),
     14        array('Name' => 'Database/Database', 'Type' => 'String', 'Default' => 'centrala', 'Title' => 'Databáze'),
     15        array('Name' => 'Database/Prefix', 'Type' => 'String', 'Default' => '', 'Title' => 'Prefix'),
     16        array('Name' => 'Database/Charset', 'Type' => 'String', 'Default' => 'utf8', 'Title' => 'Znaková sada'),
     17        array('Name' => 'Web/Style', 'Type' => 'String', 'Default' => 'new', 'Title' => 'Styl'),
     18        array('Name' => 'Web/FormatHTML', 'Type' => 'String', 'Default' => '', 'Title' => 'Formátovat HTML'),
     19        array('Name' => 'Web/Charset', 'Type' => 'String', 'Default' => 'utf-8', 'Title' => 'Znaková sada'),
     20        array('Name' => 'Web/RootFolder', 'Type' => 'String', 'Default' => '', 'Title' => 'Kořenová složka'),
     21        array('Name' => 'Web/Host', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Doménové jméno'),
     22        array('Name' => 'Web/Title', 'Type' => 'String', 'Default' => 'Síť', 'Title' => 'Titulek'),
     23        array('Name' => 'Web/Description', 'Type' => 'String', 'Default' => 'Komunitní počítačová síť', 'Title' => 'Popis'),
     24        array('Name' => 'Web/Admin', 'Type' => 'String', 'Default' => 'Admin', 'Title' => 'Jméno správce'),
     25        array('Name' => 'Web/AdminEmail', 'Type' => 'String', 'Default' => 'admin@localhost', 'Title' => 'E-mail správce'),
     26        array('Name' => 'Web/ErrorLogFile', 'Type' => 'String', 'Default' => 'php_script_error.log', 'Title' => 'Soubor záznamu chyb'),
     27        array('Name' => 'Web/WebcamPassword', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo web kamery'),
     28        array('Name' => 'Web/WebcamRefresh', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Interval obnovení'),
     29        array('Name' => 'Web/UserSupport', 'Type' => 'Boolean', 'Default' => '1', 'Title' => 'Podpora uživatelů'),
     30        array('Name' => 'Web/UploadFileFolder', 'Type' => 'String', 'Default' => 'files', 'Title' => 'Složka načtených souborů'),
     31        array('Name' => 'Web/News/DaysAgo', 'Type' => 'Integer', 'Default' => '30', 'Title' => 'Stáří zobrazovaných aktualit'),
     32        array('Name' => 'Web/News/Count', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Počet zobrazovaných aktualit na skupinu'),
     33        array('Name' => 'Web/News/DirectoryId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id adresáře souborů příloh aktualit'),
     34        array('Name' => 'Map/GoogleMapsApiKey', 'Type' => 'String', 'Default' => '', 'Title' => 'API google map'),
     35        array('Name' => 'Map/DefaultLatitude', 'Type' => 'Float', 'Default' => '49.260422', 'Title' => 'Výchozí pozice na mapě'),
     36        array('Name' => 'Map/DefaultLongitude', 'Type' => 'Float', 'Default' => '18.081179', 'Title' => 'Výchozí pozice na mapě'),
     37        array('Name' => 'Map/DefaultZoom', 'Type' => 'Float', 'Default' => '15', 'Title' => 'Výchozí přihlížení mapy'),
     38        array('Name' => 'Web/ItemsPerPage', 'Type' => 'Integer', 'Default' => '50', 'Title' => 'Položek na stránku'),
     39        array('Name' => 'Web/VisiblePagingItems', 'Type' => 'Integer', 'Default' => '20', 'Title' => 'Položek stránkování'),
     40        array('Name' => 'Web/FormatHTML', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Formátovat výsledný kód'),
     41        array('Name' => 'Web/ShowSQLError', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat SQL chyby'),
     42        array('Name' => 'Web/ShowSQLQuery', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat SQL dotazy'),
     43        array('Name' => 'Web/ShowPHPError', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat PHP chyby'),
     44        array('Name' => 'Web/ShowRuntimeInfo', 'Type' => 'Boolean', 'Default' => '0', 'Title' => 'Ukazovat běhové informace'),
     45        array('Name' => 'Finance/MainUserId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id hlavního uživatele'),
     46        array('Name' => 'Finance/MainSubjectId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id hlavního subjektu'),
     47        array('Name' => 'Finance/DirectoryId', 'Type' => 'Integer', 'Default' => '1', 'Title' => 'Id adresáře souborů dokladů'),
     48        array('Name' => 'MainRouter/HostName', 'Type' => 'String', 'Default' => 'localhost', 'Title' => 'Hlavní brána'),
     49        array('Name' => 'MainRouter/UserName', 'Type' => 'String', 'Default' => 'admin', 'Title' => 'Uživatelské jméno'),
     50        array('Name' => 'MainRouter/Password', 'Type' => 'Password', 'Default' => '', 'Title' => 'Heslo'),
     51        array('Name' => 'MainRouter/InetInterface', 'Type' => 'String', 'Default' => 'ether_wan', 'Title' => 'WAN rozhraní'),
     52        array('Name' => 'MainRouter/LocalInterface', 'Type' => 'String', 'Default' => 'ether_lan', 'Title' => 'LAN rozhraní'),
     53        array('Name' => 'MainRouter/ConnectTimeout', 'Type' => 'Integer', 'Default' => '5', 'Title' => 'Vypršení času'),
     54        array('Name' => 'MainRouter/MangleRuleSubgroupMinPrefix', 'Type' => 'Integer', 'Default' => '28', 'Title' => 'Nejmenší prefix podsítě pro mangle pravidla'),
     55    ));
     56  }
     57}
  • 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}
  • trunk/Modules/Setup/Update.php

    r583 r589  
    11<?php
    2 
    3 include_once('Database.php');
    42
    53class UpdateManager
     
    3028  function IsInstalled()
    3129  {     
     30    debug_backtrace();
    3231          $DbResult = $this->Database->query('SHOW TABLES LIKE "'.$this->VersionTable.'"');
    3332    return($DbResult->num_rows > 0);   
     
    8887  var $Revision;
    8988  var $Updates;
     89  var $Database;
    9090 
    9191  function __construct()
     
    108108  {
    109109    $YesNo = array(false => 'Ne', true => 'Ano');
    110     $Output = '<h3>Správa instance</h3>'.
    111       'Je instalováno: '.$YesNo[$this->UpdateManager->IsInstalled()].'<br/>';
    112     if($this->UpdateManager->IsInstalled())
    113       $Output .= 'Je aktuální: '.$YesNo[$this->UpdateManager->IsUpToDate()].'<br/>'.
    114       'Verze databáze: '.$this->UpdateManager->GetDbVersion().'<br/>';
    115     $Output .= 'Verze databáze kódu: '.$this->UpdateManager->Revision.'<br/>'.
    116       '<form action="" method="post">';
    117     if($this->UpdateManager->IsInstalled())
    118     {
    119       if(!$this->UpdateManager->IsUpToDate())
    120         $Output .= '<input type="submit" name="update" value="Aktualizovat"/> ';
    121       $Output .= '<input type="submit" name="insert_sample_data" value="Vložit vzorová data"/> ';
    122       $Output .= '<input type="submit" name="uninstall" value="Odinstalovat"/> ';
    123     } else $Output .= '<input type="submit" name="install" value="Instalovat"/> ';
     110    $Output = '<form action="" method="post">';
     111   
     112    $Output .= 'Je připojení k databázi: '.$YesNo[$this->UpdateManager->Database->Connected()].'<br/>';
     113    if($this->UpdateManager->Database->Connected())
     114    {
     115      $Output .= 'Je instalováno: '.$YesNo[$this->UpdateManager->IsInstalled()].'<br/>';
     116      if($this->UpdateManager->IsInstalled())
     117        $Output .= 'Je aktuální: '.$YesNo[$this->UpdateManager->IsUpToDate()].'<br/>'.
     118        'Verze databáze: '.$this->UpdateManager->GetDbVersion().'<br/>';
     119      $Output .= 'Verze databáze kódu: '.$this->UpdateManager->Revision.'<br/>';
     120      if($this->UpdateManager->IsInstalled())
     121      {
     122        if(!$this->UpdateManager->IsUpToDate())
     123          $Output .= '<input type="submit" name="update" value="Aktualizovat"/> ';
     124        $Output .= '<input type="submit" name="insert_sample_data" value="Vložit vzorová data"/> ';
     125        $Output .= '<input type="submit" name="uninstall" value="Odinstalovat"/> ';
     126      } else $Output .= '<input type="submit" name="install" value="Instalovat"/> ';
     127    }
    124128    $Output .= '<input type="submit" name="configure" value="Nastavit"/> ';
    125129    $Output .= '<input type="submit" name="logout" value="Odhlásit"/> ';
     
    146150      } else
    147151      {
    148         date_default_timezone_set('Europe/Prague');
    149         // SQL injection hack protection
    150         foreach($_POST as $Index => $Item) $_POST[$Index] = addslashes($Item);
    151         foreach($_GET as $Index => $Item) $_GET[$Index] = addslashes($Item);
    152    
    153         if(isset($_SERVER['REMOTE_ADDR'])) session_start();
    154    
    155         $Database = new Database();
    156         $Database->Connect($this->Config['Database']['Host'], $this->Config['Database']['User'],
    157            $this->Config['Database']['Password'], $this->Config['Database']['Database']);
    158         $Database->Prefix = $this->Config['Database']['Prefix'];
    159         $Database->charset($this->Config['Database']['Charset']);
    160         $Database->ShowSQLError = $this->Config['Web']['ShowSQLError'];
    161         $Database->ShowSQLQuery = $this->Config['Web']['ShowSQLQuery'];
    162    
    163152        $this->UpdateManager = new UpdateManager();
    164         $this->UpdateManager->Database = $Database;
     153        $this->UpdateManager->Database = $this->Database;
    165154        $this->UpdateManager->Revision = $this->DatabaseRevision;
    166155        $this->UpdateManager->Trace = $this->Updates;
     
    222211    }
    223212    $Output .= '</body></html>';
    224     echo($Output);
     213    return($Output);
    225214  }
    226215 
Note: See TracChangeset for help on using the changeset viewer.