backup/restore procedure

This commit is contained in:
Serghey Rodin 2013-03-27 01:16:14 +02:00
commit e23249a997
29 changed files with 1638 additions and 583 deletions

View file

@ -34,6 +34,7 @@ $LANG['en'] = array(
'Add Database' => 'Add Database',
'Add Cron Job' => 'Add Cron Job',
'Create Backup' => 'Create Backup',
'Restore All' => 'Restore All',
'Add Package' => 'Add Package',
'Add IP' => 'Add IP',
'Search' => 'Search',
@ -72,6 +73,7 @@ $LANG['en'] = array(
'open %s' => 'open %s',
'download' => 'download',
'restore' => 'restore',
'configure restore settings' => 'configure restore settings',
'stop' => 'stop',
'start' => 'start',
'restart' => 'restart',

View file

@ -33,6 +33,7 @@ $LANG['es'] = array(
'Add Database' => 'Añadir BD',
'Add Cron Job' => 'Añadir Trabajo',
'Create Backup' => 'Crear Respaldo',
'Restore All' => 'Restaurar Todos',
'Add Package' => 'Añadir Plan',
'Add IP' => 'Añadir IP',
'Search' => 'Buscar',
@ -71,6 +72,7 @@ $LANG['es'] = array(
'open %s' => 'abrir %s',
'download' => 'descargar',
'restore' => 'restaurar',
'configure restore settings' => 'configurar las opciones de restauración',
'stop' => 'detener',
'start' => 'iniciar',
'restart' => 'reiniciar',

View file

@ -35,6 +35,7 @@ $LANG['ua'] = array(
'Add Database' => 'Додати БД',
'Add Cron Job' => 'Додати задание',
'Create Backup' => 'Створити архів',
'Restore All' => 'Відновити все',
'Add Package' => 'Додати пакет',
'Add IP' => 'Додати IP',
'Search' => 'Пошук',

View file

@ -12,11 +12,19 @@ include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
top_panel($user,$TAB);
// Data
exec (VESTA_CMD."v-list-user-backups $user json", $output, $return_var);
$data = json_decode(implode('', $output), true);
$data = array_reverse($data,true);
unset($output);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_backup.html');
if (empty($_GET['backup'])){
exec (VESTA_CMD."v-list-user-backups $user json", $output, $return_var);
$data = json_decode(implode('', $output), true);
$data = array_reverse($data,true);
unset($output);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_backup.html');
} else {
exec (VESTA_CMD."v-list-user-backup $user '".$_GET['backup']."' json", $output, $return_var);
$data = json_decode(implode('', $output), true);
$data = array_reverse($data,true);
unset($output);
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_backup_detail.html');
}
// Back uri
$_SESSION['back'] = $_SERVER['REQUEST_URI'];

View file

@ -87,10 +87,10 @@
</div>
</span>
</a>
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<a href="/list/backup/?backup=<?php echo $key ?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
<img src="/images/more.png" width="8px" height="8px">
<?php print _('configure restore settings') ?>
</span>
</a>
<a href="/download/backup/?backup=<?php echo $key ?>" target="_blank" class="data-controls">

View file

@ -0,0 +1,282 @@
<table class="submenu">
<tr>
<td style="padding: 2px 0 0 6px">
<div class="submenu-button-block">
<button class="submenu-button" onclick="location.href='/add/backup/'"> <?php print _('Restore All');?> </button>
</div>
<div class="submenu-search-block">
<form action="/search/" method="get">
<input type="text" name="q" class="submenu-search-field">
<input type="submit" value="<?php print _('Search');?>" class="submenu-button" style="width: 96px;">
</form>
</div>
<div class="submenu-select-block">
<form action="/bulk/backup/" method="post" id="objects">
<a class="submenu-select-link" href='javascript:checkedAll("objects");'> <?php print _('toggle all');?> </a>
<select class="submenu-select-dropdown" name="action">
<option><?php print _('apply to selected');?></option>
<option><?php print _('delete');?></option>
</select>
<input type="submit" name="ok" value="" class="submenu-button" style="width: 36px;">
</div>
<?php
if (!empty($_SESSION['backup_msg'])) {
?>
<div>
<script type="text/javascript">
$(function() {
$( "#dialog:ui-dialog" ).dialog( "destroy" );
$( "#dialog-message" ).dialog({
modal: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
</script>
<div id="dialog-message" title="<?php print _('Backup System') ?>">
<p><?php echo $_SESSION['backup_msg'] ?></p>
</div>
</div>
<?php
unset($_SESSION['backup_msg']);
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div id="vstobjects">
<div style="height:10px; font-size:0;"></div>
<table class="data" style="background: #ebe9dc;">
<tr>
<td style="padding: 8px 2px 8px 0;">
<a class="name" style="color: #555; font-size: 10pt;"><b><?php print _('Listing');?> <?php echo $_GET['backup'] ?> </b></a>
</td>
</tr>
</table>
<div style="height:10px; font-size:0;"></div>
<table class="data">
<?php
$backup = $_GET['backup'];
if (!empty($data[$backup]['VESTA'])) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo _('sys') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo _('user data') ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
<?php
$web = explode(',',$data[$backup]['WEB']);
foreach ($web as $key) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo 'web ' . _('domain') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo $key ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
<?php
$dns = explode(',',$data[$backup]['DNS']);
foreach ($dns as $key) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo 'dns ' . _('domain') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo $key ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
<?php
$mail = explode(',',$data[$backup]['MAIL']);
foreach ($mail as $key) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo 'mail ' . _('domain') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo $key ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
<?php
$db = explode(',',$data[$backup]['DB']);
foreach ($db as $key) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo _('database') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo $key ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
<?php
$backup = $_GET['backup'];
if (!empty($data[$backup]['CRON'])) {
?>
<tr class="data-row">
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="backup[]" value="<?php echo $key ?>" ></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
<a href="#" id="restore_link_<?php echo "$i"?>" class="data-controls">
<span>
<img src="/images/restore.png" width="6px" height="8px">
<?php print _('restore');?>
</span>
</a>
<table class="data-col2" width="830px">
<tr>
<td class="cron" style="width: 170px; font-size: 14px;">
<?php echo _('cron') ?>
</td>
<td class="domain" style="padding: 0 0 0 4px;">
<b><?php echo 'cron ' . _('records') ?></b>
</td>
</tr>
</table>
</td>
</tr>
<?php
}
?>
</table>
</form>
</div>

View file

@ -53,8 +53,7 @@
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" > <input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo strftime("%d %b %Y", strtotime($data[$key]['DATE'])) ?></td></tr>
<tr><td class="data-<?php echo $status ?>"><b><?php echo _($status); ?></b></td></tr>
<tr><td></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">
@ -68,16 +67,6 @@
</div>
</span>
</a>
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="data-controls do_<?php echo $spnd_action ?>">
<span class="do_<?php echo $spnd_action ?>">
<img src="/images/suspend.png" width="7px" height="8px">
<?php echo _($spnd_action); ?>
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="<?php print _('Confirmation');?>">
<p class="counter-value"><?php print _('RECORD_ACTION_CONFIRMATION',_($spnd_action),$data[$key]['RECORD']);?></p>
</div>
</span>
</a>
<a href="/edit/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" class="data-controls">
<span>
<img src="/images/edit.png" width="8px" height="8px">

View file

@ -96,7 +96,7 @@
height:110px;
width:161px;
margin: 0;
border-bottom: 1px solid #d3d3d3;
border-bottom: 1px solid #e3e3e3;
}
.nav-lnk {
@ -115,7 +115,7 @@
width: 118px;
float:left;
cursor: pointer;
border-bottom: 1px solid #d3d3d3;
border-bottom: 1px solid #e3e3e3;
}
@ -342,7 +342,7 @@
margin: 0;
width: 990px;
height: 10px;
border-top:1px dotted #d3d3d3;
border-top:1px dotted #e3e3e3;
}
.data-spacer {
@ -361,7 +361,7 @@
.data-dotted {
text-align: left;
vertical-align:top;
border-top:1px dotted #d3d3d3;
border-top:1px dotted #e3e3e3;
padding: 0 0 26px 0;
margin: 0;
}
@ -425,7 +425,7 @@
.data-controls {
float: right;
height: 16px;
border-left: 1px solid #d3d3d3;
border-left: 1px solid #e3e3e3;
font-size: 8pt;
padding: 2px 12px 1px 6px;
letter-spacing: 0.1em;

View file

@ -51,8 +51,7 @@
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
<table class="data-col1">
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" > <input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo strftime("%d %b %Y", strtotime($data[$key]['DATE'])) ?></td></tr>
<tr><td class="data-<?php echo $status ?>"><b><?php echo _($status); ?></b></td></tr>
<tr><td></td></tr>
</table>
</td>
<td class="data-dotted" width="830px" style="vertical-align:top;">