Changeset 28 for trunk/www/index.php


Ignore:
Timestamp:
Jun 13, 2009, 9:01:40 PM (15 years ago)
Author:
george
Message:
  • Přidáno: Zobrazení tabulky fronty úloh. Při akcích s vytvořením nové úlohy zobrazit ihned tuto tabulku.
  • Přidáno: Možnost stáhnout záložní soubory databáze.
  • Opraveno: Ruční zálohování.
  • Přidáno: Podpora pro výchozí nastavení řazení zobrazovaných tabulek.
  • Upraveno: Skript pro cyklické zpracování nových úloh.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/index.php

    r27 r28  
    1111  {
    1212    $Row['NetworkPortRealmd'] = '<a href="realmlist.php?Id='.$Row['Id'].'">'.$Row['NetworkPortRealmd'].'</a>';
    13     $Row['Name'] = '<a href="?Action=ServerShow&amp;Id='.$Row['Id'].'">'.$Row['Name'].'</a>';
     13    if($Row['Homepage'] != '') $Row['Name'] = '<a href="'.$Row['Homepage'].'">'.$Row['Name'].'</a>';
     14    unset($Row['Homepage']);
    1415    return($Row);
    1516  }
     
    2425    $Table = new Table('ServerList');
    2526    $Table->OnRow = array($this, 'ShowServerListOnRow');
     27    $Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => '', 'Default' => '');
    2628    $Table->LoadValuesFromDatabase($this->Database);
     29    $Table->Definition['Items']['Actions'] = array('Type' => 'String', 'Caption' => '', 'Default' => '');
     30    foreach($Table->Values as $Index => $Item)
     31    {
     32     $Table->Values[$Index]['Actions'] = '<a href="?Action=ServerShow&amp;Id='.$Item['Id'].'">Podrobnosti</a>';
     33     unset($Table->Values[$Index]['Id']);
     34    }
    2735    $Output .= $Table->Show();
    2836    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     
    109117  }
    110118 
    111   function ShowBackupList()
    112   {
    113     global $Config;
    114    
    115     $Output = '<h4>Dostupné zálohy</h4>';
    116     $Table = new Table('BackupList');
    117     $Table->OnRow = array($this, 'ShowBackupListOnRow');
    118     $Table->LoadValuesFromDatabase($this->Database);
    119     $Output .= $Table->Show();
    120     if($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR)
    121     {
    122       $Output .= '<br /><div style="text-align: center;"><a href="?Action=BackupAdd">Zálohovat</a></dev>';     
    123     }
     119  function ShowBackupList($ServerId)
     120  {
     121    global $Config;
     122   
     123    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     124    {
     125      $Server = new Server($this->Database, $_GET['Id']);
     126      if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     127      {
     128        $Output = '<h4>Dostupné zálohy</h4>';
     129        $Table = new Table('BackupList');
     130        $Table->OnRow = array($this, 'ShowBackupListOnRow');
     131        $Table->Table = '(SELECT * FROM `Backup` WHERE `Server` = '.$ServerId.')';
     132        $Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => '');
     133        $Table->LoadValuesFromDatabase($this->Database);
     134        $Table->Definition['Items']['Actions'] = array('Type' => 'String', 'Caption' => '', 'Default' => '');
     135        foreach($Table->Values as $Index => $Value)
     136        {
     137          $Table->Values[$Index]['Actions'] = '<a href="?Action=BackupDownload&amp;Id='.$Value['Id'].'">Stáhnout</a>';
     138          unset($Table->Values[$Index]['Id']);
     139        }
     140        $Output .= $Table->Show();
     141        if($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR)
     142        {
     143          $Output .= '<br /><div style="text-align: center;"><a href="?Action=BackupAdd&amp;Id='.$ServerId.'">Zálohovat</a></dev>';     
     144        }
     145      } else $this->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
     146    } else $Output .= USER_BAD_ROLE;   
    124147    return($Output);
    125148  }
     
    127150  function ShowClientListOnRow($Row)
    128151  {
    129     //$Row['Name'] = '<a href="?Action=EmulatorShow&amp;Id='.$Row['Id'].'">'.$Row['Name'].'</a>';
     152    $Row['Version'] = '<a href="http://www.wowwiki.com/Patch_'.$Row['Version'].'">'.$Row['Version'].'</a>';
    130153    return($Row);
    131154  }
     
    144167      //$Output .= '<br /><div style="text-align: center;"><a href="?Action=BackupAdd">Zálohovat</a></dev>';     
    145168    }
     169    return($Output);
     170  }
     171
     172  function ShowTaskList()
     173  {
     174    global $Config;
     175   
     176    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     177    {
     178      $Output = '<h4>Fronta úloh</h4>';
     179      $Table = new Table('TaskList');
     180      $Table->Definition['Table'] = '(SELECT Time, Title, State FROM Task WHERE User='.$this->System->Modules['User']->User['Id'].')';
     181      $Table->LoadValuesFromDatabase($this->Database);
     182      $Output .= $Table->Show();
     183      $Output .= '<br /><div style="text-align: center;"><a href="?Action=TaskList">Obnovit pohled</a></dev>';     
     184    } else $Output .= USER_BAD_ROLE;
    146185    return($Output);
    147186  }
     
    184223        $Output .= '<div><a href="?Action=DebugList&amp;Id='.$Server['Id'].'">Ladící záznamy</a></div>';
    185224        $Output .= '<div><a href="?Action=BackupList&amp;Id='.$Server['Id'].'">Zálohy</a></div>';
     225        $Output .= '<div><a href="?Action=TaskList">Fronta úloh</a></div>';
    186226      } else $Output .= '<div><a href="?Action=ServerAdd">Vytvořit vlastní server</a></div>';
    187227      if($this->System->Modules['User']->User['Role'] == USER_ROLE_ADMINISTRATOR)
     
    409449          {
    410450            $Output .= $this->SystemMessage('Spuštění serveru', $Server->Start());
     451            $Output .= $this->ShowTaskList();
    411452          } else $this->SystemMessage('Spuštění serveru', 'Nemáte oprávnění');
    412453        } else $Output .= USER_BAD_ROLE;
     
    420461          {
    421462            $Output .= $this->SystemMessage('Zastavení serveru', $Server->Stop());
     463            $Output .= $this->ShowTaskList();
    422464          } else $this->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
    423465        } else $Output .= USER_BAD_ROLE;
     
    432474            $Server->ImportDatabase(true);
    433475            $Output .= $this->SystemMessage('Import čisté databáze', 'Úloha zařazena do fronty');
     476            $Output .= $this->ShowTaskList();
    434477          } else $this->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
    435478        } else $Output .= USER_BAD_ROLE;
     
    453496          $Emulator->Compile();       
    454497          $Output .= $this->SystemMessage('Překlad emulátoru', 'Úloha zařazena do fronty');
     498          $Output .= $this->ShowTaskList();
    455499        } else $Output .= $this->SystemMessage('Překlad emulátoru', 'Nebylo zadáno Id');
    456500      } else
     
    458502      {
    459503        if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
    460         {       
    461           $Output .= '<div>Ladící informace serveru</div>';
    462           $DbResult = $this->Database->query('SELECT Id FROM Server WHERE User='.$this->System->Modules['User']->User['Id']);
    463           $Server = $DbResult->fetch_assoc();
    464           $MangosDebug = new MangosDebug($this->Database);
    465           $Output .= $MangosDebug->Show($Server['Id']);
     504        {
     505          $Server = new Server($this->Database, $_GET['Id']);
     506          if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     507          {
     508            $Output .= '<div>Ladící informace serveru</div>';
     509            $MangosDebug = new MangosDebug($this->Database);
     510            $Output .= $MangosDebug->Show($Server->Id);
     511          } else $this->SystemMessage('Ladící informace', 'Nemáte oprávnění');
    466512        } else $Output .= USER_BAD_ROLE;
    467513      } else     
     
    498544        $Output = $this->ShowInfo();
    499545      } else     
     546      if($_GET['Action'] == 'BackupAdd')
     547      {
     548        if(!array_key_exists('Id', $_GET)) $Output .= $this->SystemMessage('Ladící informace', 'Nebylo zadáno Id serveru');
     549        else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     550        {
     551          $Server = new Server($this->Database, $_GET['Id']);
     552          if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     553          {
     554            $Backup = new Backup($this->Database, 0);
     555            $Output .= $this->SystemMessage('Ruční zálohování', $Backup->Create($Server->Id));
     556            $Output .= $this->ShowTaskList();
     557          } else $this->SystemMessage('Ladící informace', 'Nemáte oprávnění');
     558        } else $Output .= USER_BAD_ROLE;
     559      } else     
     560      if($_GET['Action'] == 'BackupDownload')
     561      {
     562        if(!array_key_exists('Id', $_GET)) $Output .= $this->SystemMessage('Stažení souboru zálohy', 'Nebylo zadáno Id zálohy');
     563        else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     564        {
     565          $Backup = new Backup($this->Database, $_GET['Id']);
     566          $Server = new Server($this->Database, $Backup->Backup['Server']);
     567          if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     568          {
     569            Header('Content-Type: application/x-tar-gz');
     570            Header('Content-Disposition: attachment; filename="wowhosting-'.$Backup->Id.'.tar.bz2"');
     571            echo(file_get_contents('../backup/wowhosting-'.$Backup->Id.'.tar.bz2'));
     572            exit;
     573          } else $this->SystemMessage('Stažení souboru zálohy', 'Nemáte oprávnění');
     574        } else $Output .= USER_BAD_ROLE;
     575      } else     
     576      if($_GET['Action'] == 'TaskList')
     577      {
     578        $Output .= $this->ShowTaskList();
     579      } else     
    500580      if($_GET['Action'] == 'Test')
    501581      {
Note: See TracChangeset for help on using the changeset viewer.