Файл: CMS/core/admin/backup.php
Строк: 30
<?php
if (!defined('CMS')) { die('Access Denied!'); }
if (is_admin(array(101, 102))) {
include_once( ENGINE . '/classes/dump.class.php' );
$sk = new dumper( ENGINE . '/backup/' );
if (!empty($_GET['restory'])) {
if ( @file_exists( ENGINE . '/backup/' . $_GET['restory']) ) {
show_header('Востановление из резервной копии');
echo '<div class="b">' . $sk->restore($_GET['restory']);
echo '</div><div class="b">' . icon('return.png') . '<a href="?m=backup">Вернуться</a></div>';
}
else {
$inSes->addMessage('Ошибка! Файл ' . $_GET['restory'] . ' не найден!');
redirect('?m=backup&' . RND);
}
}
else if (!empty($_GET['backup'])) {
show_header('Сохранение резервной копии');
echo '<div class="b">' . $sk->backup();
echo '</div><div class="b">' . icon('return.png') . '<a href="?m=backup">Вернуться</a></div>';
}
else {
$arr_files = array();
$globs = glob( ENGINE . '/backup/*.gz' );
if (!empty($globs)) {
foreach($globs as $glob) $arr_files[] = basename($glob);
$arr_files = array_unique($arr_files);
}
$total = @count($arr_files);
if (!empty($_GET['delete'])) {
if ( @file_exists( ENGINE . '/backup/' . $_GET['delete'] ) ) {
if (($total - 1) > 0) {
unlink( ENGINE . '/backup/' . $_GET['delete'] );
$inSes->addMessage( 'Файл ' . $_GET['delete'] . ' успешно удалён!', 'ok' );
}
else {
$inSes->addMessage('Ошибка! Запрещено удалять последнюю резервную копию!');
}
}
else {
$inSes->addMessage('Ошибка! Файл ' . $_GET['delete'] . ' не найден!');
}
redirect('?m=backup&' . RND);
}
show_header('Управление резервными копиями Б.Д');
if (!is_dir(ENGINE . '/backup')) mkdir( ENGINE . '/backup', 0755 );
if (!is_file(ENGINE . '/backup/.htaccess')) file_put_contents( ENGINE . '/backup/.htaccess', 'Deny from all' );
if ( $total > 0 ) {
$c = 1;
foreach($arr_files as $value) {
$size = size(filesize(ENGINE . '/backup/' . $value));
echo '<div class="b">' . $c++ . '. <b>' . $value . '</b> - ' . $size;
echo ' (<a href="?m=backup&restory=' . $value . '">Вост.</a> | <a href="?m=backup&delete=' . $value . '">Удал.</a>)</div>';
}
}
else echo '<div class="b">Резервные копии БД не найдены!</div>';
echo '<div class="b">' . icon('addb.png') . '<a href="?m=backup&backup=1">Создать резервную копию</a></div>';
}
echo '<div class="b">' . icon('return.png');
echo ' <a href="?' . RND . '">В админку</a><br /></div>';
}
else {
redirect('/?' . RND);
}
?>