* -----------------------------------------------------------------------------------------
* MODULE VERSION HISTORY
* -----------------------------------------------------------------------------------------
* v1.6.6 (stable) (2026-10-19) reupload
* - Apply the selected replace/rollback mode to standalone and paired file restores.
* - Complete the missing translations in all bundled languages.
* - Show the active phase during complete backups using the reported file, database and finalization status.
* v1.6.5 (stable) (2026-09-25)
* - Use the current getUserId() API in the superadmin check to avoid deprecated calls and warnings on WB 2.13 and 2.14.
* - Use WB 2.13's native settings-save confirmation while retaining the WB 2.14 AJAX toast.
* v1.6.4 (stable) (2026-09-25)
* - Run the database phase before the file phase for paired restores so restoring module files cannot break the second phase.
* - Show and apply the file restore mode when a paired restore is started from the database backup.
* - Clarify replace-restore results and distinguish ZIP verification warnings from successful verification.
* - Log failed file and directory removals during replace restores; show a partial-restore warning and a token-protected inline log viewer.
* - Identify ZIP entries that fail during overwrite restores and show their protected error log in the result modal.
* - Format successful single-file and single-database restore messages consistently in English and German.
* - Use direct JSON encoding in the restore status page to pass the WB 2.14 module security scanner.
* - Keep downloads and settings saves compatible with the different WB 2.13 and 2.14 token lifecycles.
* - Show the translated keep-window-open hint during backups and size the cancel button to its label.
* - Give the overview explanation a subtle info-card treatment without competing with Complete Backup.
* - Add a gear icon to Settings and open backup log files inline in a new tab instead of downloading them.
* v1.6.2 (stable) (2026-09-19)
* - Fix AJAX delete responses for WB 2.13 and renew the FTAN field after each deletion.
* - Keep single and bulk deletion compatible with WB 2.13 and 2.14.
* - Synchronize the WB 2.14 global FTAN state for subsequent backend AJAX actions.
* - Add multilingual backup progress messages for scanning, packing and finalizing.
* - Add a WB 2.13 fallback tooltip for the translated information icons.
* v1.6.0 (stable) (2026-09-15)
* - Preserve backup notes when a database restore replaces the notes table.
* - Apply safety-backup selection consistently to paired restore jobs.
* - Improve restore progress and completion-state handling.
* v1.5.35 (stable) (2026-09-15)
* - Shorten the backup-directory information tooltip to avoid repeated wording.
* v1.5.34 (stable) (2026-09-15)
* - Clarify that the backup directory is directly inside the WebsiteBaker root and cannot be outside it.
* v1.5.33 (stable) (2026-09-15)
* - Add multilingual information tooltips for backup permissions, directory, excluded folders and hidden files.
* - Make the first two settings cards use full-height label backgrounds like the other settings cards.
* v1.5.32 (stable) (2026-09-15)
* - Separate access-rights and standard-backup-directory settings into individual cards for consistent modal grouping.
* v1.5.31 (stable) (2026-09-15)
* - Remove the redundant access-rights helper line below the administrator permission checkbox.
* v1.5.30 (stable) (2026-09-15)
* - Keep the colon attached to the final word of the hidden-files label by removing its trailing language-string whitespace.
* v1.5.29 (stable) (2026-09-15)
* - Use the concise translated tab titles Directory, General and Database on all viewport sizes.
* v1.5.28 (stable) (2026-09-15)
* - Keep detailed settings-tab labels on desktop and switch to compact translated labels only on small views.
* v1.5.27 (stable) (2026-09-15)
* - Shorten the settings-tab labels to Directory, General and Database for a compact responsive layout.
* v1.5.26 (stable) (2026-09-15)
* - Preserve the native sidebar toggle while settings temporarily collapse the sidebar.
* v1.5.25 (stable) (2026-09-15)
* - Close the visible sidebar immediately while opening the settings modal and restore its previous state on close.
* v1.5.24 (stable) (2026-09-15)
* - Measure the settings modal after its zoom animation before deciding whether the sidebar overlaps it.
* v1.5.23 (stable) (2026-09-15)
* - Force the overlapping sidebar closed while settings are open and restore its previous state when the modal closes.
* v1.5.22 (stable) (2026-09-15)
* - Use the correct WebsiteBaker sidebar checkbox state when collapsing an overlapping sidebar on desktop or mobile.
* v1.5.21 (stable) (2026-09-15)
* - Close the sidebar only when the opened settings modal actually overlaps it, based on the rendered element bounds.
* v1.5.20 (stable) (2026-09-15)
* - Close the existing sidebar while opening settings up to 1205px, including narrowed desktop browser views.
* v1.5.19 (stable) (2026-09-15)
* - Keep the settings modal above the persistent desktop sidebar at intermediate desktop widths.
* v1.5.18 (stable) (2026-09-15)
* - Close the existing WB sidebar automatically when opening settings on non-desktop viewport widths.
* v1.5.17 (stable) (2026-09-15)
* - Increase the settings-modal top spacing so the fixed backend navigation cannot visually overlap its header.
* v1.5.16 (stable) (2026-09-15)
* - Apply the settings-modal top spacing directly to its inline modal style so the navigation gap is effective.
* v1.5.15 (stable) (2026-09-15)
* - Add more top spacing to the settings modal so it does not visually merge with the backend navigation.
* v1.5.14 (stable) (2026-09-15)
* - Strengthen the existing blue label color in light mode while keeping the established hue.
* v1.5.13 (stable) (2026-09-15)
* - Use a stronger blue instead of near-black for the main backup labels in light mode.
* v1.5.12 (stable) (2026-09-15)
* - Improve the contrast of the main backup labels in the light backend color scheme.
* v1.5.11 (stable) (2026-09-15)
* - Make the light-mode hint color visibly distinct from the main backup labels.
* v1.5.10 (stable) (2026-09-15)
* - Remove the custom border and background from the complete-backup info icon to match the other backend info icons.
* v1.5.9 (stable) (2026-09-15)
* - Improve the contrast of parenthetical backup-label details in the light backend color scheme.
* v1.5.8 (stable) (2026-09-15)
* - Distinguish parenthetical backup-label details from the main label with a muted accent color.
* v1.5.7 (stable) (2026-09-15)
* - Format backup labels with a smaller second line for parenthetical details.
* v1.5.6 (stable) (2026-09-15)
* - Add a multilingual info tooltip to the complete-backup label explaining the generated file and database backups.
* v1.5.5 (stable) (2026-09-15)
* - Visually separate the complete-backup action as the primary top block without adding recommendation text.
* - Improve the complete-backup button label readability with a hyphen.
* v1.5.4 (stable) (2026-09-13)
* - Add an authenticated resumable restore job endpoint with bounded ZIP batches and persistent backend progress modal.
* - Process ZIP entries in packages to reduce PHP request runtime on large installations.
* - Keep restore success and error results in the WB backend modal instead of the legacy standalone page.
* v1.5.3 (stable) (2026-09-13)
* - Stack backup action labels and controls earlier when the backend navigation reduces the available content width.
* v1.5.2 (stable) (2026-09-13)
* - Move the backup-list action column to its own row earlier on narrow backend content areas.
* v1.5.1 (stable) (2026-09-13)
* - Keep restore progress and the final success or error result visible until the user returns to the backup overview.
* - Replace restore alerts and automatic completion redirects with a persistent result dialog.
* - Add multilingual restore-result labels, with English fallback values for remaining module languages.
* - Remove the obsolete restore flash message from the backup list.
* v1.4.0 (stable) (dbs: Aug 16, 2026)
* - Fix SETTINGSID IDKEY generation mismatch in Tool.inc.php.
* - Add AJAX JSON response branch in Savesetting.inc.php for seamless SweetAlert2 toast feedback.
* - Add submit event listener in backend_body.js to close the settings modal automatically on save.
* v1.5.0 (stable) (2026-09-13)
* - Add an authenticated backend download endpoint for ZIP, SQL/SQL.GZ and log files.
* - Remove direct backup-folder URLs and validate FTAN, IDKEY, filename and backup-root containment before streaming.
* - Add a complete-backup action that creates independently restorable file and database backups.
* - Add cooperative backup-job cancellation and expose the existing job progress through the backend modal.
* - Use a dedicated authenticated module AJAX endpoint for progress requests.
* - Keep restore cancellation unavailable once the destructive restore phase has started.
* -----------------------------------------------------------------------------------------
* MODULE VERSION HISTORY
* -----------------------------------------------------------------------------------------
* v1.3.9 (stable) (dbs: Aug 07, 2026)
* - CSS adjustments for backward compatibility with WB 2.13.9/10
* v1.3.8 (stable) (dbs: Aug 05, 2026)
* - Match excluded folders by path segment unless wildcards are used, and normalize excluded extensions like zip/.zip.
* - Merge the earlier v1.3.7 restore hardening into the current package without reintroducing old broad exclude matching.
* - Keep WebsiteBaker Mysqldump factories explicit and leave dynamic dump hooks disabled in this package.
* - Replace closure-based helper calls in backup/restore control flow with named helpers for WebsiteBaker installer security scanning.
* v1.3.7 (stable) (dbs: Jul 31, 2026)
* - Restore ZIP backups in overwrite mode via the controlled temporary extraction path.
* - Allow overwrite/replace restores to handle existing read-only files without leaving them writable.
* - Show a success message after direct restores without a safety backup.
* - Use the active backend language for direct restore success messages.
* - Avoid endless DB restore waits by surfacing multi-query import errors.
* v1.3.6 (stable) (dbs: Jul 22, 2026)
* - Fix settings fallback for missing compression option so it updates use_compress, not use_droptable.
* - Validate database backup output after mysqldump and fail on empty or invalid gzip files instead of showing success.
* - Restore ZIP backups via a temporary extraction folder and controlled copy instead of direct extraction into WB root.
* - Allow restore to overwrite existing read-only files such as protected .htaccess files.
* v1.3.5 (stable) (dbs: Jul 21, 2026)
* - Fix delete success screen after PHP 8 strict array_merge handling.
* - Normalize wbBackup delete language domain and keep delete success text visible.
* - Replace legacy backup action PNGs with modern SVG icons styled via backend CSS.
* v1.3.4 (stable) (dbs: Jul 20, 2026)
* - Add darkmode CSS for wbBackup admin tool views, modals, backup lists,
* notes, warnings and progress overlay.
* v1.3.3 (dbs, Feb 15, 2026)
* - Improved restore workflow with automatic safety backup before restore.
* - Backup logs now use the same name as the backup file for better consistency.
* - Added the option to store a comment for each backup.
* - Improved progress overlay and feedback during backup operations.
* - Language handling cleaned up and remaining hardcoded texts removed.
* - Various stability improvements and internal code cleanup.
* v1.3.2 (stable) (Jacobi22/dbs: Aug 21, 2025)
* fix DDL-problem in restore_sql-function in R17
* remove ping() from restore_sql_function in R18
* v1.3.1.18 (stable) (Jacobi22: Aug 20, 2025)
* remove added functions like carbon/carbon or Twig/Intl, not avaiable in older WB-Versions
* change protocol from direct php-echo to template-output
* correct some different date- and time-outputs for the same file
* v1.3.1.17 (stable) (Jacobi22: Aug 19, 2025)
* change permission for this tool to admin group
* add restore function (for super-admin only)
* change date-formation to carbon/carbon
* add translations in all languages (translation via Google AI)
* v1.3.1.16 (stable) (Luisehahne: Aug 12, 2023)
* fix Translate inclusion
* - remove alternate Twig Inclusion for older WB-Versions cmd-folder
* v1.3.1.15 (stable) (Luisehahne: Sep 26, 2022)
* recoded in install.inc.php, Tool.inc.php, Upgrade.inc.php for new methodes in PHP
* v1.3.1.14 (stable) (Luisehahne: Sep 12, 2022)
* add some more options in module settings
* v1.3.1.12 (stable) (Luisehahne: Apr 23, 2022)
* change some language variables
* v1.3.1.11 (stable) (Luisehahne: Feb 02, 2022)
* recode WbBackup.php to add more functions
* little code changes in twig template for better output
* v1.3.1.01 (stable) (Luisehahne: Jan 31, 2022)
* change subfolder lib to Lib (Error when repacking WB project)
* v1.3.0 (stable) (Luisehahne: Oct 20, 2021)
* fix creating zip archive
* Beginning add WbAdaptor Instance to replace constants
* v1.2 (stable) (jacobi22: Mar 05, 2021)
* - change zip-file-name (shorter) in class.wbbackup
* + fix LOG-Writing (issue if no file-extension defined) Thx to hgs
* v1.1 (stable) (jacobi22: Mar 05, 2021)
* - remove BackupResult.twig
* + use success.twig as success message and redirect
* v1.0.1dev1 (jacobi22: Feb 24, 2021)
* + change ToolIcon and some other icons (source: free icons from iconfinder.com)
* + rebuild complete module (file-backup with possibility to skip folders, larger files or file-extensions etc)
* + possibility to download the backup files
* v1.0.0 (jacobi22: Feb 14, 2021)
* + rebuild the module with TWIG,
* + fix some small issues like MYSQL_ASSOC,
* + new Design and security with FTAN && IDKeys
*
* v0.10 alpha (doc: Nov 14, 2020)
* + initial release of the module
* ------------------------------------------------------------------------------------------------
*/