Файл: admin/backup/backup.php
Строк: 56
<?php
include '../../engine/includes/start.php';
if (!$creator)
Core::stop();
if (isset($_GET['file'], $_GET['type'])
&& is_file(H . 'engine/files/backup/'.$_GET['type'].'/'.$_GET['file']))
{
$path = H . 'engine/files/backup/'.Core::Request('type').'/'.Core::Request('file');
$file = pathinfo($path);
}
else
{
Core::stop('list.php?msg=404');
}
$set['title'] = 'Просмотр бекапа';
require incDir.'head.php';
$dropbox = is_file(H . 'engine/files/data/dropbox.ini') ?
parse_ini_file(H . 'engine/files/data/dropbox.ini') :
array('e-mail' => '', 'password' => '');
switch($act)
{
case 'delete':
unlink($path);
Core::stop('list.php?msg=deleted');
break;
case 'restore':
$zip = new Pclzip($path);
$zip->extract(PCLZIP_OPT_SUBSTITUE_FILE, H);
Core::msg_show('Восстановление по бекапу прошло успешно');
break;
case 'load':
Core::get('downloadfile', 'includes');
DownloadFile($path, $file['basename']);
break;
case 'dropbox':
if (!empty($dropbox['e-mail']))
{
if (empty($dropbox[$act . '_' . $file['basename']]))
{
$uploader = new DropboxUploader($dropbox['e-mail'], $dropbox['password']);
try
{
$uploader->upload($path, 'secwind_'.$_SERVER['SERVER_NAME'].'/backups/'.Core::Request('type').'/', $file['basename']);
Core::msg_show('Успешно отправлен на Dropbox', 'msg');
$dropbox[$act . '_' . $_GET['dropbox']] = true;
}
catch (Exception $e)
{
$label = ($e->getCode() & $uploader::FLAG_DROPBOX_GENERIC) ? 'DropboxUploader' : 'Exception';
$error = sprintf("[%s] #%d %s", $label, $e->getCode(), $e->getMessage());
Core::msg_show(htmlspecialchars($error), 'error');
}
}
else
{
Core::msg_show('Уже в Dropbox', 'msg');
}
}
break;
}
?>
<div class="post">
<b>Файл:</b> <?=$file['basename']?><br />
<b>Папка:</b> <?=$file['dirname']?><br />
<b>Размер:</b> <?=Text::size_data(filesize($file['dirname'] . '/' . $file['basename']))?><br />
<b>MD5:</b> <?=md5_file($file['dirname'] . '/' . $file['basename'])?><br />
<b>SHA1:</b> <?=sha1_file($file['dirname'] . '/' . $file['basename'])?><br />
</div>
<div class="menu_razd">Действия</div>
<a href="?act=load&file=<?=Core::Request('file')?>&type=<?=Core::Request('type')?>" class="link">Скачать</a>
<a href="?act=delete&file=<?=Core::Request('file')?>&type=<?=Core::Request('type')?>" class="link">Удалить</a>
<a href="?act=restore&file=<?=Core::Request('file')?>&type=<?=Core::Request('type')?>" class="link">Восстановить</a>
<div class="menu_razd">Отправить на</div>
<a href=""><img src=""/>E-MAIL</a>
<a href="?act=dropbox&file=<?=Core::Request('file')?>&type=<?=Core::Request('type')?>"><img src=""/>DROPBOX</a>
<a href=""><img src=""/>YANDEX</a>
<a href=""><img src=""/>GOOGLE DISK</a>
<a href=""><img src=""/>MAIL</a>
<?php
Core::save_settings($dropbox, 'engine/files/data/dropbox.ini');
?>
<div class="menu_razd">См. также</div>
<a href='/admin/backup/files.php'><div class="link">Резервное копирование файлов</div></a>
<a href='mysql.php'><div class="link">Резервное копирование базы данных</div></a>
<a href='/admin/'><div class="link">Админка</div></a>
<?
require incDir.'foot.php';