- Add RemoteUploaderInterface for pluggable storage backends
- Add FtpUploader: FTP/FTPS with passive mode, SSL, recursive dir
creation, and post-upload size verification
- Add GoogleDriveUploader: OAuth2 refresh token auth, resumable upload
API with 5 MB chunking for reliable large-file transfers
- Wire uploaders into BackupEngine Step 3: after ZIP creation, upload
to configured remote, optionally delete local copy
- No SDK dependencies — pure PHP with cURL for Google Drive
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add plg_task_mokobackup: Joomla Scheduled Tasks integration so each
backup profile can run on its own schedule (like Akeeba Backup Pro)
- Replace JSON config/filters with individual form fields and DB columns
- Add FTP/FTPS and Google Drive remote storage options per profile
- Add archive settings tab (format, compression, split size, backup dir)
- Add exclusion filter fields (dirs, files, tables) as newline-separated
textareas instead of raw JSON
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Full-site backup and restore for Joomla with three sub-extensions:
- com_mokobackup: Admin component with backup engine, profiles, and records
- plg_system_mokobackup: Auto-cleanup of expired backups
- plg_webservices_mokobackup: REST API wire-compatible with mcp_mokobackup
Backup engine supports full/database/files modes with step-based execution,
file/directory/table exclusion filters, and CLI script for cron use.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>