Просмотр файла admin/backup/list.php

Размер файла: 3.63Kb
  1. <?php
  2. include '../../engine/includes/start.php';
  3. if (!$creator)
  4. Core::stop();
  5. $set['title'] = 'Список Backup';
  6. require incDir.'head.php';
  7. $act = $act == 'files' ? 'files' : 'mysql';
  8. $dropbox = is_file(H . 'engine/files/data/dropbox.ini') ? parse_ini_file(H . 'engine/files/data/dropbox.ini') : array('e-mail' => '', 'password' => '');
  9.  
  10. echo '<table width="100%"><tr>';
  11. if ($act == 'files')
  12. {
  13. echo '<td class="menu_razd" style="width:50%;">Файлы</td><td class="link"><a href="?act=mysql" style="display:block;">MySQL</a></td>';
  14. }
  15. else
  16. {
  17. echo '<td class="link"><a href="?act=files" style="display:block;">Файлы</a></td><td class="menu_razd" width="50%">MySQL</td>';
  18. }
  19. echo '</tr></table>';
  20. if (isset($_GET['restore'], $_GET['file']) && is_file(H . 'engine/files/backup/'.$act.'/'.$_GET['file']))
  21. {
  22. Core::get('zip');
  23. $zip = new Pclzip(H . 'engine/files/backup/'.$act.'/'.$_GET['file']);
  24. $zip->extract(PCLZIP_OPT_SUBSTITUE_FILE, H);
  25. Core::msg_show('Восстановление по бекапу прошло успешно');
  26. }
  27.  
  28. if (is_file(H . 'engine/files/backup/'.$act.'/'.Core::Request('delete')))
  29. {
  30. unlink(H . 'engine/files/backup/'.$act.'/'.Core::Request('delete'));
  31. Core::msg_show('Backup удален');
  32. }
  33. if (isset($_GET['dropbox']) && $dropbox['e-mail'] != null && is_file(H . 'engine/files/backup/'.$act.'/'.$_GET['dropbox']))
  34. {
  35. if (empty($dropbox[$act . '_' . $_GET['dropbox']]))
  36. {
  37. Core::get('DropboxUploader');
  38. $file = H . 'engine/files/backup/'.$act.'/'.$_GET['dropbox'];
  39. try
  40. {
  41. $uploader = new DropboxUploader($dropbox['e-mail'], $dropbox['password']);
  42. $uploader->upload($file, 'secwind_'.$_SERVER['SERVER_NAME'].'/backups/'.$act.'/', $_GET['dropbox']);
  43. echo '<div class="msg">Успешно отправлен на Dropbox</div>';
  44. $dropbox[$act . '_' . $_GET['dropbox']] = true;
  45. }
  46. catch (Exception $e)
  47. {
  48. $label = ($e->getCode() & $uploader::FLAG_DROPBOX_GENERIC) ? 'DropboxUploader' : 'Exception';
  49. $error = sprintf("[%s] #%d %s", $label, $e->getCode(), $e->getMessage());
  50. echo '<div class="err">' . htmlspecialchars($error) . '</div>';
  51. }
  52. }
  53. else
  54. {
  55. Core::msg_show('Уже в Dropbox', 'msg');
  56. }
  57. }
  58.  
  59. $dir = opendir(H . 'engine/files/backup/'.$act);
  60. $restore = array('files' => 'list.php?act=files&amp;restore&amp;', 'mysql' => '/admin/mysql/from_file.php?');
  61.  
  62. while($file = readdir($dir))
  63. {
  64. if ($file == '.' || $file == '..')
  65. continue;
  66. echo
  67. '<div class="link">'.
  68. ' <a href="'.$restore[$act].'file='.$file.'">Восст. ' . $file .'</a>&nbsp; &nbsp;
  69. <a href="?act='.$act.'&amp;delete='.$file.'">Удалить</a>&nbsp; &nbsp;
  70. <a href="?act='.$act.'&amp;dropbox='.$file.'">Dropbox</a>
  71. <span style="float:right">Создан: '.Core::time(filemtime(H . 'engine/files/backup/'.$act.'/'.$file)).
  72. '</span></div>';
  73. }
  74. Core::save_settings($dropbox, 'engine/files/data/dropbox.ini');
  75.  
  76. ?>
  77. <div class="menu_razd">См. также</div>
  78. <a href='/admin/backup/files.php'><div class="link">Резервное копирование файлов</div></a>
  79. <a href='mysql.php'><div class="link">Резервное копирование базы данных</div></a>
  80. <a href='/admin/'><div class="link">Админка</div></a>
  81. <?
  82. require incDir.'foot.php';