diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 12f217e0..b5481cbc 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 02.58.29 +# VERSION: 02.58.30 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/SECURITY.md b/SECURITY.md index 2dc67d02..39d5e67c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 02.58.29 +VERSION: 02.58.30 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitebackup/mokosuitebackup.xml b/source/packages/com_mokosuitebackup/mokosuitebackup.xml index 2ec6809e..d9091ffe 100644 --- a/source/packages/com_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/com_mokosuitebackup/mokosuitebackup.xml @@ -17,7 +17,7 @@ display label there. --> MokoSuiteBackup - 02.58.29 + 02.58.30 2026-06-02 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/com_mokosuitebackup/sql/updates/mysql/02.58.30.sql b/source/packages/com_mokosuitebackup/sql/updates/mysql/02.58.30.sql new file mode 100644 index 00000000..44f0b75a --- /dev/null +++ b/source/packages/com_mokosuitebackup/sql/updates/mysql/02.58.30.sql @@ -0,0 +1 @@ +/* 02.58.30 — no schema changes */ diff --git a/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php b/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php index 0faeb92d..dbe8cfc5 100644 --- a/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php +++ b/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php @@ -80,9 +80,57 @@ $config = [ ], ]; ?> -
+ +
-
+

@@ -97,21 +145,21 @@ $config = [ ); ?>

-
-
0%
-
-
-
+
-
+
+ + +
+
0%
+

@@ -126,6 +174,7 @@ $config = [ var el = { bar: document.getElementById('msb-rb-bar'), + track: document.querySelector('.msb-rb-progress'), phase: document.getElementById('msb-rb-phase'), status: document.getElementById('msb-rb-status'), title: document.getElementById('msb-rb-title'), @@ -140,9 +189,9 @@ $config = [ pct = Math.max(0, Math.min(100, parseInt(pct, 10) || 0)); el.bar.style.width = pct + '%'; el.bar.textContent = pct + '%'; - el.bar.setAttribute('aria-valuenow', pct); + if (el.track) { el.track.setAttribute('aria-valuenow', pct); } if (!striped) { - el.bar.classList.remove('progress-bar-striped', 'progress-bar-animated'); + el.bar.classList.remove('is-animated'); } } function setPhase(t) { el.phase.textContent = t || ''; } @@ -167,8 +216,8 @@ $config = [ } async function onComplete() { - el.bar.classList.remove('progress-bar-striped', 'progress-bar-animated'); - el.bar.classList.add('bg-success'); + el.bar.classList.remove('is-animated'); + el.bar.classList.add('is-success'); setBar(100, false); el.title.textContent = L.complete || 'Backup complete'; @@ -198,8 +247,8 @@ $config = [ function onError(message) { running = false; - el.bar.classList.remove('progress-bar-striped', 'progress-bar-animated'); - el.bar.classList.add('bg-danger'); + el.bar.classList.remove('is-animated'); + el.bar.classList.add('is-danger'); el.title.textContent = L.failed || 'Backup failed'; setStatus(message || 'Backup failed'); showActions(); @@ -209,8 +258,8 @@ $config = [ el.retry.onclick = function () { el.retry.classList.add('d-none'); el.continue.classList.add('d-none'); - el.bar.classList.remove('bg-danger'); - el.bar.classList.add('progress-bar-striped', 'progress-bar-animated'); + el.bar.classList.remove('is-danger'); + el.bar.classList.add('is-animated'); run(); }; diff --git a/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml b/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml index c9d57cbe..22531bcb 100644 --- a/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml +++ b/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml @@ -8,7 +8,7 @@ --> Module - MokoSuiteBackup - cPanel - 02.58.29 + 02.58.30 2026-06-23 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml index aa128cf6..048c0ad5 100644 --- a/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml @@ -7,7 +7,7 @@ --> Action Log - MokoSuiteBackup - 02.58.29 + 02.58.30 2026-06-04 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml index 80bf8c8c..f1d03e5f 100644 --- a/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml @@ -7,7 +7,7 @@ --> Console - MokoSuiteBackup - 02.58.29 + 02.58.30 2026-06-04 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml index 373fd1e6..f5e4944a 100644 --- a/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml @@ -7,7 +7,7 @@ --> Content - MokoSuiteBackup - 02.58.29 + 02.58.30 2026-06-04 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml index 63ef86ca..9b5eb4c2 100644 --- a/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml @@ -1,7 +1,7 @@ Quick Icon - MokoSuiteBackup - 02.58.29 + 02.58.30 2026-06-02 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/plg_system_mokosuitebackup/media/js/installer-backup.js b/source/packages/plg_system_mokosuitebackup/media/js/installer-backup.js index 1153e59a..6f80f850 100644 --- a/source/packages/plg_system_mokosuitebackup/media/js/installer-backup.js +++ b/source/packages/plg_system_mokosuitebackup/media/js/installer-backup.js @@ -1,17 +1,17 @@ /** * MokoSuiteBackup — full-screen backup before an EXTENSION update / uninstall. * - * Injected by plg_system_mokosuitebackup on the Extensions → Update and - * Extensions → Manage pages. Unlike the core Joomla update (which has a - * server-side page load we can redirect), com_installer's update.update and - * manage.remove are POST actions with a CSRF token and a checked cid[] list — - * so we intercept CLIENT-SIDE: capture the selection, go to the full-screen - * backup page, and on return restore the selection and re-submit the real POST - * form (fresh token) so the update/uninstall proceeds. + * Injected by plg_system_mokosuitebackup on Extensions → Update and + * Extensions → Manage. Joomla 6 renders those toolbar buttons as web + * components (`