 * -----------------------------------------------------------------------------------------
 *        MODULE VERSION HISTORY
 * -----------------------------------------------------------------------------------------

 *       v1.6.6 (stable)  (2026-10-19)
 *       - 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.

 *       v1.3.9 (stable)  (dbs:  Aug 07, 2026)
 *       - Add fallback W3 theme definitions in backend_default.css for backward compatibility with WebsiteBaker 2.13.x.

 *       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.
 *       - Use backend theme variables for darkmode accents instead of fixed blue colors.
 *       - Stop loading the module's fixed WB blue theme in the backend.
 *       - Guard filebackup lock cleanup to avoid duplicate unlink warnings.

 *       v1.3.3 (stable)  (dbs+KI:  Feb 15, 2026)
 *       - i18n cleanup: remove obsolete scalar MOD_BACKUP_* language vars; use array-based ACCESS_* keys in settings template
 *	     - Translated new access/progress language strings in all language files (DE/EN remain authoritative).
 *       - cleanup: remove obsolete restore safety ZIP/LOG post-rename logic; safety backups now use "-safety" basename from start
 *       - fix: restore safety backup now creates ZIP/LOG with "-safety" basename from the start (log matches zip; no leftover host-timestamp logs)
 *       - attempt: rename restore safety logfile when renaming safety ZIP (superseded by R91.25)
 *       - fix: safety backup on restore now renames its logfile to match the renamed "-safety.zip" filename
 *       - logfile naming: for ZIP backups (incl. safety backups), logfile now matches ZIP filename (same base, .log)
 *       - i18n: moved remaining hardcoded German UI texts into language variables (DE/EN)
 *       - multi-delete message: list filenames line-by-line; left-aligned inside centered message box
 *       - overlay: after 10s on "Finalisiere …" (files backup), show "Bitte etwas Geduld…" as secondary line
 *       - overlay progress also works on BackupExecute step (forms selected by name/id)
 *       - ensure overlay initializes after DOM ready (fix for file backups on some setups)
 *       - safety backup on ZIP restore creates files backup only (no DB dump)
 *       - DB-restore safety backup writes auto note deterministically
 *       - improve restore workflow and safety-backup handling
 *       - ensure DB safety note is written after database import (shutdown-based timing fix)
 *       - stabilize Restore.php (cleanup and removal of legacy debug code)
 *       - fix restore abort caused by undefined variables and malformed try/catch blocks
 *       - remove obsolete debug/verify blocks from DB restore
 *       - clean up error handling in Restore.php
 *       - suppress unintended shutdown debug log entries
 *       - harden restore debug logging (PHP error log fallback handling)
 
 *        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
 * ------------------------------------------------------------------------------------------------
*/

R91.19:
- i18n: Removed remaining hardcoded German UI strings (job/progress + finalize wait fallback).
- Added missing language keys (DE/EN) for wait/reload/delete labels and safety backup status.

R91.20:
- Languages: completed all language packs by adding missing keys (fallback EN strings where needed).

R91.21:
- Typography: replaced ASCII/masked apostrophes with typographic apostrophes (’) in language files.

R91.29:
- Languages: translated remaining EN fallback strings for core UI labels/messages across all language packs.
