Ignore:
Timestamp:
Oct 10, 2012, 9:29:20 AM (12 years ago)
Author:
chronos
Message:
  • Upraveno: Modulární systém přepracován tak, že základní modul System je zodpovědný za udržování stavu instalování modulů v databázi a je instalován samostatně jako první modul. Následně lze instalovat moduly dle závislostí.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/Modular/Install.php

    r403 r424  
    22
    33include_once('Common/Global.php');
     4/* @var $System System */
     5$System = NULL;
    46GlobalInit();
     7
     8function ModuleTable()
     9{
     10  global $System;
     11 
     12  $Output = '<table border="1" style="border: 1px" class="WideTable">'.
     13  '<tr><th>Name</th><th>Installed</th><th>Version</th><th>Dependency</th><th>Actions</th></tr>';
     14  foreach($System->Modules as $Module)
     15  {
     16    if($Module->Installed) $Actions = '<a href="?a=uninstall&m='.$Module->Name.'">Odinstalovat</td>';
     17      else $Actions = '<a href="?a=install&m='.$Module->Name.'">Instalovat</td>';
     18    if($Module->Installed) $Installed = 'Ano';
     19      else $Installed = 'Ne';
     20    $Deps = implode(', ', $Module->Dependencies);
     21    if($Deps == '') $Deps = '&nbsp;';
     22    $Output .= '<tr><td>'.$Module->Name.'</td><td>'.$Installed.'</td><td>'.
     23      $Module->Version.'</td><td>'.$Deps.'</td><td>'.$Actions.'</td></tr>';
     24  }
     25  $Output .= '</table>';
     26  return($Output);
     27}
    528
    629function ShowDefault()
     
    831  global $System;
    932 
    10   if($System->IsInstalled())
    11   {
    12     echo('System je již nainstalován.<br/>');
    13     echo('<a href="?a=uninstall">Odinstalovat systém</a>');
     33  if($System->Modules['System']->IsInstalled())
     34  {   
     35    $Output = ModuleTable();
     36    $Output .= '<a href="?a=uninstall">Odinstalovat systém</a>';
     37    $Output .= ' <a href="?a=reload">Aktualizovat seznam z disku</a>';
    1438  } else
    1539  {
    16     echo('System ještě není instalován.<br/>');
    17     echo('<a href="?a=install">Instalovat systém</a>');
    18   }
     40    $Output = 'System ještě není instalován.<br/>';
     41    $Output .= '<a href="?a=install">Instalovat systém</a>';
     42  }   
     43  echo($Output);
    1944}
    2045
     46if($System->Modules['System']->IsInstalled())
     47  $System->Modules['System']->LoadFromDatabase();
     48
     49if($Config['Web']['SystemAdministration'] == true)
     50{
    2151if(array_key_exists('a', $_GET))
    2252{
    2353  if($_GET['a'] == 'install')
    2454  {     
    25     $System->Install();
    26     $System->Init(); 
     55    if(array_key_exists('m', $_GET))
     56    {
     57      $Module = $System->Modules[$_GET['m']];
     58      $Module->Install();
     59    } else
     60    {
     61      $System->Modules['System']->Install();
     62      $System->ReloadFromDisk();
     63      $System->Modules['System']->SaveToDatabase();
     64    }
    2765    ShowDefault();
    2866  }
    2967  else if($_GET['a'] == 'uninstall')
    3068  {
    31     $System->Init(); 
    32     $System->Uninstall();
     69    if(array_key_exists('m', $_GET))
     70    {
     71      $Module = $System->Modules[$_GET['m']];
     72      $Module->Uninstall();
     73      //$System->Modules['System']->SaveToDatabase();
     74    } else
     75    {
     76      $System->Modules['System']->Uninstall();
     77    }
     78    ShowDefault();
     79  } else if($_GET['a'] == 'reload')
     80  {
     81    $System->ReloadFromDisk();
     82    $System->Modules['System']->SaveToDatabase();
    3383    ShowDefault();
    3484  }
    3585  else ShowDefault();
    3686} else ShowDefault();
     87} else echo('Access denied');
    3788
    3889?>
Note: See TracChangeset for help on using the changeset viewer.