index.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. $TAB = "BACKUP";
  4. // Main include
  5. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  6. function getTransByType($type) {
  7. switch ($type) {
  8. case "dir":
  9. echo _("Directory");
  10. break;
  11. case "file":
  12. echo _("File");
  13. break;
  14. case "symlink":
  15. echo _("Symlink");
  16. break;
  17. default:
  18. echo _("Unknown");
  19. }
  20. }
  21. // Data & Render page
  22. if (empty($_GET["snapshot"])) {
  23. exec(HESTIA_CMD . "v-list-user-backups-restic $user json", $output, $return_var);
  24. $data = json_decode(implode("", $output), true);
  25. if (is_array($data)) {
  26. $data = array_reverse($data);
  27. } else {
  28. $data = "";
  29. }
  30. render_page($user, $TAB, "list_backup_incremental");
  31. } else {
  32. if (empty($_GET["browse"])) {
  33. $snapshot = quoteshellarg($_GET["snapshot"]);
  34. exec(HESTIA_CMD . "v-list-user-backup-restic $user $snapshot json", $output, $return_var);
  35. $data = json_decode(implode("", $output), true);
  36. render_page($user, $TAB, "list_backup_detail_incremental");
  37. } else {
  38. if (empty($_GET["folder"])) {
  39. $_GET["folder"] = "/home/" . $user_plain;
  40. }
  41. $folder = quoteshellarg($_GET["folder"]);
  42. $snapshot = quoteshellarg($_GET["snapshot"]);
  43. exec(HESTIA_CMD . "v-list-user-files-restic $user $snapshot $folder", $output, $return_var);
  44. $info = json_decode($output[0], true);
  45. unset($output[0]);
  46. $files = [];
  47. foreach ($output as $value) {
  48. $files[] = json_decode($value, true);
  49. }
  50. render_page($user, $TAB, "list_files_incremental");
  51. }
  52. }