'Zálohy',
'Table' => '(SELECT * FROM `Backup`)',
'Items' => array(
'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
'Description' => array('Type' => 'String', 'Caption' => 'Popis', 'Default' => ''),
),
);
function ShowListOnRow($Row)
{
//$Row['Name'] = ''.$Row['Name'].'';
return($Row);
}
function ItemList()
{
$ServerId = $_GET['Id'];
if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
{
$Server = new Server($this->System, $_GET['Id']);
if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
{
$Output = '
Dostupné zálohy
';
$Table = new Table($this->ItemListFormClass, $this->System);
$Table->OnRow = array($this, 'ShowListOnRow');
$Table->Definition['Table'] = '(SELECT * FROM `Backup` WHERE `Server` = '.$Server->Id.')';
$Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => '');
$Table->Definition['Items']['Lock'] = array('Type' => 'Hidden', 'Caption' => 'Zámek', 'Default' => '');
$Table->LoadValuesFromDatabase($this->Database);
$Table->Definition['Items']['Actions'] = array('Type' => 'String', 'Caption' => '', 'Default' => '');
foreach($Table->Values as $Index => $Value)
{
$Table->Values[$Index]['Actions'] = '';
if($Value['Lock'] == 0) $Table->Values[$Index]['Actions'] = 'Stáhnout';
if(($Server->Server['Lock'] == 0) and ($Value['Lock'] == 0)) $Table->Values[$Index]['Actions'] .= ' Obnovit';
unset($Table->Values[$Index]['Id']);
unset($Table->Values[$Index]['Lock']);
}
$Output .= $Table->Show();
if($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR)
{
if($Server->Server['Lock'] == 0) $Output .= '
Zálohovat';
}
} else $Output = $this->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
} else $Output = USER_BAD_ROLE;
return($Output);
}
function Download()
{
if(!array_key_exists('Id', $_GET)) $Output = $this->SystemMessage('Stažení souboru zálohy', 'Nebylo zadáno Id zálohy');
else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
{
$Backup = new Backup($this->System, $_GET['Id']);
$Server = new Server($this->System, $Backup->Backup['Server']);
if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
{
Header('Content-Type: application/x-tar-gz');
Header('Content-Disposition: attachment; filename="wowhosting-'.$Backup->Id.'.tar.bz2"');
echo(file_get_contents('../backup/wowhosting-'.$Backup->Id.'.tar.bz2'));
exit;
} else $this->SystemMessage('Stažení souboru zálohy', 'Nemáte oprávnění');
} else $Output = USER_BAD_ROLE;
return($Output);
}
function Restore()
{
if(!array_key_exists('Id', $_GET)) $Output = $this->SystemMessage('Obnovení ze zálohy', 'Nebylo zadáno Id zálohy');
else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
{
$Backup = new Backup($this->System, $_GET['Id']);
$Server = new Server($this->System, $Backup->Backup['Server']);
if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
{
$Output = $this->SystemMessage('Obnovení ze zálohy', $Backup->Restore());
$Output .= $this->ShowTaskList();
} else $this->SystemMessage('Obnovení ze zálohy', 'Nemáte oprávnění');
} else $Output = USER_BAD_ROLE;
return($Output);
}
function Add()
{
if(!array_key_exists('Id', $_GET)) $Output = $this->SystemMessage('Ladící informace', 'Nebylo zadáno Id serveru');
else if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
{
$Server = new Server($this->System, $_GET['Id']);
if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
{
$Backup = new Backup($this->System, 0);
$Output = $this->SystemMessage('Ruční zálohování', $Backup->Create($Server->Id));
$Output .= $this->ShowTaskList();
} else $this->SystemMessage('Ladící informace', 'Nemáte oprávnění');
} else $Output = USER_BAD_ROLE;
return($Output);
}
}