Changeset 31 for trunk/www/index.php


Ignore:
Timestamp:
Jun 14, 2009, 12:34:03 AM (15 years ago)
Author:
george
Message:
  • Opraveno: Obnova databáze ze zálohy.
  • Přidáno: Zobrazení tabulky dostupných aktualizací a možnost jejich provedení.
  • Opraveno: Odstranění znaků \r konce řádků z generovaných sh skriptů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/index.php

    r30 r31  
    7272  }
    7373 
    74   function ShowEmulatorListOnRow($Row)
    75   {
    76     $Row['Name'] = '<a href="?Action=EmulatorShow&amp;Id='.$Row['Id'].'">'.$Row['Name'].'</a>';
    77     return($Row);
    78   }
    79  
    8074  function ShowEmulatorList()
    8175  {
     
    8478    $Output = '<h4>Seznam verzí emulátoru</h4>';
    8579    $Table = new Table('EmulatorList');
    86     $Table->OnRow = array($this, 'ShowEmulatorListOnRow');
     80    $Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => '', 'Default' => '');
    8781    $Table->LoadValuesFromDatabase($this->Database);
     82    $Table->Definition['Items']['Actions'] = array('Type' => 'String', 'Caption' => '', 'Default' => '');
     83    foreach($Table->Values as $Index => $Item)
     84    {
     85      $Table->Values[$Index]['Actions'] = '<a href="?Action=EmulatorShow&amp;Id='.$Item['Id'].'">Podprobnosti</a>';
     86      unset($Table->Values[$Index]['Id']);
     87    }
    8888    $Output .= $Table->Show();
    8989    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR)
     
    9191      $Output .= '<br /><div style="text-align: center;"><a href="?Action=EmulatorAdd">Přidat emulátor</a></dev>';     
    9292    }
     93    return($Output);
     94  }
     95
     96  function ShowUpdateList($ServerId)
     97  {
     98    global $Config;
     99   
     100    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     101    {
     102      $Server = new Server($this->Database, $_GET['Id']);
     103      if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     104      {
     105        $Server = new Server($this->Database, $ServerId);
     106        $Output = '<h4>Seznam dostupných aktulizací</h4>';
     107        $Output .= 'Před provedením aktualizace bude server zastaven a provedena záloha databáze.';
     108        $Table = new Table('EmulatorList');
     109        $Table->Definition['Table'] = substr($Table->Definition['Table'], 0, -1).' WHERE Revision > '.$Server->Server['Database']['Emulator']['Revision'].' ORDER BY Revision)';
     110        $Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => '', 'Default' => '');
     111        $Table->LoadValuesFromDatabase($this->Database);
     112        $Table->Definition['Items']['Actions'] = array('Type' => 'String', 'Caption' => '', 'Default' => '');
     113        foreach($Table->Values as $Index => $Item)
     114        {
     115          $Table->Values[$Index]['Actions'] = '<a href="?Action=EmulatorShow&amp;Id='.$Item['Id'].'">Podprobnosti</a>';
     116          $Table->Values[$Index]['Actions'] .= ' <a href="?Action=Update&amp;Server='.$ServerId.'&amp;Update='.$Item['Id'].'">Aktualizovat</a>';
     117          unset($Table->Values[$Index]['Id']);
     118        }
     119        $Output .= $Table->Show();
     120      } else $this->SystemMessage('Dostupné aktualizace', 'Nemáte oprávnění');
     121    } else $Output .= USER_BAD_ROLE;   
    93122    return($Output);
    94123  }
     
    104133    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR)
    105134    {
     135      $Output .= ' <a href="?Action=EmulatorDownload&amp;Id='.$Id.'">Stáhnout</a>';
    106136      $Output .= ' <a href="?Action=EmulatorCompile&amp;Id='.$Id.'">Přeložit</a>';
    107       $Output .= ' <a href="?Action=EmulatorDownloadAndCompile&amp;Id='.$Id.'">Stáhnout a přeložit</a>';
    108137    }
    109138    $Output .= '</div>';
     
    136165        {
    137166          $Table->Values[$Index]['Actions'] = '<a href="?Action=BackupDownload&amp;Id='.$Value['Id'].'">Stáhnout</a>';
     167          $Table->Values[$Index]['Actions'] .= ' <a href="?Action=BackupRestore&amp;Id='.$Value['Id'].'">Obnovit</a>';
    138168          unset($Table->Values[$Index]['Id']);
    139169        }
     
    178208      $Output = '<h4>Fronta úloh</h4>';
    179209      $Table = new Table('TaskList');
    180       $Table->Definition['Table'] = '(SELECT Time, Title, State FROM Task WHERE User='.$this->System->Modules['User']->User['Id'].')';
     210      $Table->Definition['Table'] = '(SELECT Time, Title, State FROM Task WHERE User='.$this->System->Modules['User']->User['Id'].' ORDER BY Id DESC)';
    181211      $Table->LoadValuesFromDatabase($this->Database);
    182212      $Output .= $Table->Show();
     
    256286        $Output .= '<div><a href="?Action=BackupList&amp;Id='.$Server['Id'].'">Zálohy</a></div>';
    257287        $Output .= '<div><a href="?Action=TaskList">Fronta úloh</a></div>';
     288        $Output .= '<div><a href="?Action=UpdateList&amp;Id='.$Server['Id'].'">Dostupné aktualizace</a></div>';
    258289      } else $Output .= '<div><a href="?Action=ServerAdd">Vytvořit vlastní server</a></div>';
    259290      if($this->System->Modules['User']->User['Role'] == USER_ROLE_ADMINISTRATOR)
     
    284315    '<li>Neomezený počet účtů a postav.</li>'.
    285316    '<li>Možnost stáhnout si celou databázi serveru a v případě zájmů hráčů tak přejít na vlastní výkonější vyhrazený server.</li>'.
     317    '<li>Automatické restartování serveru při selhání a automatický záznam ladících informací o pádu.</li>'.
    286318    '</ul><br />'.
     319    '<p>Vámi vytvořený server může být bez předchozího upozornění smazán, např. pokud nebude již využíván nebo bude potřeba snížit vytížení hostingu.</p>'.
    287320    'Technická podpora: '.$Config['Web']['AdminEmail'];
    288321    return($Output);
     
    524557        } else $Output .= $this->SystemMessage('Překlad emulátoru', 'Nebylo zadáno Id');
    525558      } else
     559      if($_GET['Action'] == 'EmulatorDownload')
     560      {
     561        if(array_key_exists('Id', $_GET))
     562        {
     563          $Emulator = new Emulator($this->Database, $_GET['Id']);
     564          $Emulator->Download();       
     565          $Output .= $this->SystemMessage('Stažení emulátoru', 'Úloha zařazena do fronty');
     566          $Output .= $this->ShowTaskList();
     567        } else $Output .= $this->SystemMessage('Stažení emulátoru', 'Nebylo zadáno Id');
     568      } else
    526569      if($_GET['Action'] == 'ServerDebug')
    527570      {
     
    548591      {
    549592        $Output .= $this->ShowDebugList($_GET['Id']);
     593      } else     
     594      if($_GET['Action'] == 'UpdateList')
     595      {
     596        $Output .= $this->ShowUpdateList($_GET['Id']);
    550597      } else     
    551598      if($_GET['Action'] == 'GameAccountRegister')
     
    583630        } else $Output .= USER_BAD_ROLE;
    584631      } else     
     632      if($_GET['Action'] == 'BackupRestore')
     633      {
     634        if(!array_key_exists('Id', $_GET)) $Output .= $this->SystemMessage('Obnovení ze zálohy', 'Nebylo zadáno Id zálohy');
     635        else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     636        {
     637          $Backup = new Backup($this->Database, $_GET['Id']);
     638          $Server = new Server($this->Database, $Backup->Backup['Server']);
     639          if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     640          {
     641            $Output .= $this->SystemMessage('Obnovení ze zálohy', $Backup->Restore());
     642            $Output .= $this->ShowTaskList();
     643          } else $this->SystemMessage('Obnovení ze zálohy', 'Nemáte oprávnění');
     644        } else $Output .= USER_BAD_ROLE;
     645      } else     
    585646      if($_GET['Action'] == 'BackupDownload')
    586647      {
     
    602663      {
    603664        $Output .= $this->ShowTaskList();
     665      } else     
     666      if($_GET['Action'] == 'Update')
     667      {
     668        if(!array_key_exists('Server', $_GET)) $Output .= $this->SystemMessage('Aktualizace serveru', 'Nebylo zadáno Id serveru');
     669        else if(!array_key_exists('Update', $_GET)) $Output .= $this->SystemMessage('Aktualizace serveru', 'Nebylo zadáno Id aktualizace');
     670        else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     671        {
     672          $Server = new Server($this->Database, $_GET['Server']);
     673          if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
     674          {
     675            $Output .= $this->SystemMessage('Aktualizace serveru', $Server->Update($_GET['Update']));
     676            $Output .= $this->ShowTaskList();
     677          } else $this->SystemMessage('Aktualizace serveru', 'Nemáte oprávnění');
     678        } else $Output .= USER_BAD_ROLE;
    604679      } else     
    605680      if($_GET['Action'] == 'Test')
Note: See TracChangeset for help on using the changeset viewer.