feat: Backup archive browser — view files without extracting #59

Closed
opened 2026-06-21 16:50:02 +00:00 by jmiller · 0 comments
Owner

Summary

Add an AJAX-powered file browser that lets admins inspect the contents of a backup archive without extracting it. Show directory tree, file sizes, and modification dates.

Use Cases

  • Verify a backup contains expected files before restoring
  • Check if a specific file version exists in an older backup
  • Diagnose backup issues (empty archives, missing directories)

Implementation

  • Use ZipArchive::statIndex() / ZipArchive::getNameIndex() for ZIP files
  • Use PharData iterator for tar.gz files
  • Return JSON directory tree via AJAX endpoint
  • Render as expandable tree in a modal

Files

  • src/Controller/AjaxController.php — add browseArchive() method
  • tmpl/backup/default.php — add "Browse Contents" button
  • tmpl/backups/default.php — add browse icon in actions column
## Summary Add an AJAX-powered file browser that lets admins inspect the contents of a backup archive without extracting it. Show directory tree, file sizes, and modification dates. ## Use Cases - Verify a backup contains expected files before restoring - Check if a specific file version exists in an older backup - Diagnose backup issues (empty archives, missing directories) ## Implementation - Use `ZipArchive::statIndex()` / `ZipArchive::getNameIndex()` for ZIP files - Use `PharData` iterator for tar.gz files - Return JSON directory tree via AJAX endpoint - Render as expandable tree in a modal ## Files - `src/Controller/AjaxController.php` — add `browseArchive()` method - `tmpl/backup/default.php` — add "Browse Contents" button - `tmpl/backups/default.php` — add browse icon in actions column
jmiller added the component: admin label 2026-06-21 16:50:02 +00:00
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#59