Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d89812cbfb | |||
| 79efde483e | |||
| c567890bfa | |||
| ba070f004d | |||
| ce15cecf85 | |||
| 2b4af3ce28 | |||
| 1c41cdc03b | |||
| 79b23215eb | |||
| bd2effd89c | |||
| 6da7ef0b69 | |||
| cbc8627fb7 | |||
| f1dfc18f3d |
@@ -5,7 +5,7 @@
|
|||||||
# FILE INFORMATION
|
# FILE INFORMATION
|
||||||
# DEFGROUP: MokoGitea.Workflow
|
# DEFGROUP: MokoGitea.Workflow
|
||||||
# INGROUP: mokocli.Automation
|
# INGROUP: mokocli.Automation
|
||||||
# VERSION: 02.62.03
|
# VERSION: 02.63.06
|
||||||
# BRIEF: Auto-create feature branch when an issue is opened
|
# BRIEF: Auto-create feature branch when an issue is opened
|
||||||
|
|
||||||
name: "Universal: Issue Branch"
|
name: "Universal: Issue Branch"
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla
|
|||||||
INGROUP: Template-Joomla.Documentation
|
INGROUP: Template-Joomla.Documentation
|
||||||
REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla
|
REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla
|
||||||
PATH: /SECURITY.md
|
PATH: /SECURITY.md
|
||||||
VERSION: 02.62.03
|
VERSION: 02.63.06
|
||||||
BRIEF: Security vulnerability reporting and handling policy
|
BRIEF: Security vulnerability reporting and handling policy
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|||||||
Submodule source/packages/MokoSuiteClient updated: 81b2453e75...050b05d6ef
@@ -350,6 +350,8 @@ COM_MOKOJOOMBACKUP_RUNBACKUP_BACK_TO_DASHBOARD="Back to dashboard"
|
|||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_VIEW_RECORD="View backup record"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_VIEW_RECORD="View backup record"
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING="A backup is in progress. Leaving now will cancel it."
|
COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING="A backup is in progress. Leaving now will cancel it."
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_AUTOCONTINUE="Automatically continue the update when the backup finishes"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_AUTOCONTINUE="Automatically continue the update when the backup finishes"
|
||||||
|
COM_MOKOJOOMBACKUP_RUNBACKUP_DONT_CLOSE="Please do not close this window or switch to another window until the backup finishes."
|
||||||
|
COM_MOKOJOOMBACKUP_RUNBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_CONTINUE_UPDATE="Continue the update"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_CONTINUE_UPDATE="Continue the update"
|
||||||
|
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_CLEANUP="Cleanup Defaults"
|
COM_MOKOJOOMBACKUP_CONFIG_CLEANUP="Cleanup Defaults"
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ COM_MOKOJOOMBACKUP_RUNBACKUP_BACK_TO_DASHBOARD="Back to dashboard"
|
|||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_VIEW_RECORD="View backup record"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_VIEW_RECORD="View backup record"
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING="A backup is in progress. Leaving now will cancel it."
|
COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING="A backup is in progress. Leaving now will cancel it."
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_AUTOCONTINUE="Automatically continue the update when the backup finishes"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_AUTOCONTINUE="Automatically continue the update when the backup finishes"
|
||||||
|
COM_MOKOJOOMBACKUP_RUNBACKUP_DONT_CLOSE="Please do not close this window or switch to another window until the backup finishes."
|
||||||
|
COM_MOKOJOOMBACKUP_RUNBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_CONTINUE_UPDATE="Continue the update"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_CONTINUE_UPDATE="Continue the update"
|
||||||
|
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_CLEANUP="Cleanup Defaults"
|
COM_MOKOJOOMBACKUP_CONFIG_CLEANUP="Cleanup Defaults"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
display label there.
|
display label there.
|
||||||
-->
|
-->
|
||||||
<name>MokoSuiteBackup</name>
|
<name>MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.62.04 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.62.05 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.63.01 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.63.02 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.63.05 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.63.06 — no schema changes */
|
||||||
@@ -120,6 +120,11 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
<div id="msb-rb-phase" class="fw-bold mb-1"></div>
|
<div id="msb-rb-phase" class="fw-bold mb-1"></div>
|
||||||
<div id="msb-rb-status" class="mb-0"><?php echo htmlspecialchars(Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_STARTING'), ENT_QUOTES, 'UTF-8'); ?></div>
|
<div id="msb-rb-status" class="mb-0"><?php echo htmlspecialchars(Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_STARTING'), ENT_QUOTES, 'UTF-8'); ?></div>
|
||||||
|
|
||||||
|
<div id="msb-rb-warn" class="alert alert-warning fw-bold mt-3 mb-0" role="alert">
|
||||||
|
<span class="icon-warning" aria-hidden="true"></span>
|
||||||
|
<?php echo htmlspecialchars(Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_DONT_CLOSE'), ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
<?php if ($safeReturnUrl !== '') : ?>
|
<?php if ($safeReturnUrl !== '') : ?>
|
||||||
<!-- Pre-update/uninstall flow: opt in to auto-continue, or get a manual "Continue" button on completion. -->
|
<!-- Pre-update/uninstall flow: opt in to auto-continue, or get a manual "Continue" button on completion. -->
|
||||||
<div class="form-check mt-3" id="msb-rb-autocontinue-wrap">
|
<div class="form-check mt-3" id="msb-rb-autocontinue-wrap">
|
||||||
@@ -132,7 +137,7 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
|
|
||||||
<div id="msb-rb-actions" class="d-none mt-3">
|
<div id="msb-rb-actions" class="d-none mt-3">
|
||||||
<button type="button" id="msb-rb-retry" class="btn btn-primary d-none"></button>
|
<button type="button" id="msb-rb-retry" class="btn btn-primary d-none"></button>
|
||||||
<a href="#" id="msb-rb-record" class="btn btn-primary d-none"></a>
|
<a href="#" id="msb-rb-record" class="btn btn-primary d-none" target="_blank" rel="noopener"></a>
|
||||||
<a href="#" id="msb-rb-continue" class="btn btn-warning d-none"></a>
|
<a href="#" id="msb-rb-continue" class="btn btn-warning d-none"></a>
|
||||||
<a href="<?php echo $dashboardUrl; ?>" id="msb-rb-dashboard" class="btn btn-secondary d-none"></a>
|
<a href="<?php echo $dashboardUrl; ?>" id="msb-rb-dashboard" class="btn btn-secondary d-none"></a>
|
||||||
</div>
|
</div>
|
||||||
@@ -159,6 +164,7 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
track: document.querySelector('.msb-rb-progress'),
|
track: document.querySelector('.msb-rb-progress'),
|
||||||
phase: document.getElementById('msb-rb-phase'),
|
phase: document.getElementById('msb-rb-phase'),
|
||||||
status: document.getElementById('msb-rb-status'),
|
status: document.getElementById('msb-rb-status'),
|
||||||
|
warn: document.getElementById('msb-rb-warn'),
|
||||||
title: document.getElementById('msb-rb-title'),
|
title: document.getElementById('msb-rb-title'),
|
||||||
actions: document.getElementById('msb-rb-actions'),
|
actions: document.getElementById('msb-rb-actions'),
|
||||||
retry: document.getElementById('msb-rb-retry'),
|
retry: document.getElementById('msb-rb-retry'),
|
||||||
@@ -204,6 +210,7 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
el.bar.classList.add('is-success');
|
el.bar.classList.add('is-success');
|
||||||
setBar(100, false);
|
setBar(100, false);
|
||||||
el.title.textContent = L.complete || 'Backup complete';
|
el.title.textContent = L.complete || 'Backup complete';
|
||||||
|
if (el.warn) { el.warn.classList.add('d-none'); }
|
||||||
|
|
||||||
/* Set the one-shot skip flag for THIS action so the following
|
/* Set the one-shot skip flag for THIS action so the following
|
||||||
server-side onExtensionBefore(Update|Uninstall) backup is skipped once
|
server-side onExtensionBefore(Update|Uninstall) backup is skipped once
|
||||||
@@ -254,6 +261,7 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
running = false;
|
running = false;
|
||||||
el.bar.classList.remove('is-animated');
|
el.bar.classList.remove('is-animated');
|
||||||
el.bar.classList.add('is-danger');
|
el.bar.classList.add('is-danger');
|
||||||
|
if (el.warn) { el.warn.classList.add('d-none'); }
|
||||||
el.title.textContent = L.failed || 'Backup failed';
|
el.title.textContent = L.failed || 'Backup failed';
|
||||||
setStatus(message || 'Backup failed');
|
setStatus(message || 'Backup failed');
|
||||||
showActions();
|
showActions();
|
||||||
@@ -316,9 +324,15 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Warn before leaving while a backup is mid-flight. */
|
/* Warn before closing/leaving the window while a backup is mid-flight.
|
||||||
|
Return the message too — some browsers need it, others show a generic
|
||||||
|
prompt, but any non-empty value triggers the confirmation dialog. */
|
||||||
window.addEventListener('beforeunload', function (e) {
|
window.addEventListener('beforeunload', function (e) {
|
||||||
if (running) { e.preventDefault(); e.returnValue = L.leaveWarn || ''; }
|
if (!running) { return undefined; }
|
||||||
|
var msg = L.leaveWarn || 'A backup is in progress. Leaving now will cancel it.';
|
||||||
|
e.preventDefault();
|
||||||
|
e.returnValue = msg;
|
||||||
|
return msg;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (CFG.autostart) {
|
if (CFG.autostart) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="module" client="administrator" method="upgrade">
|
<extension type="module" client="administrator" method="upgrade">
|
||||||
<name>Module - MokoSuiteBackup - cPanel</name>
|
<name>Module - MokoSuiteBackup - cPanel</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-23</creationDate>
|
<creationDate>2026-06-23</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="actionlog" method="upgrade">
|
<extension type="plugin" group="actionlog" method="upgrade">
|
||||||
<name>Action Log - MokoSuiteBackup</name>
|
<name>Action Log - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="console" method="upgrade">
|
<extension type="plugin" group="console" method="upgrade">
|
||||||
<name>Console - MokoSuiteBackup</name>
|
<name>Console - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="content" method="upgrade">
|
<extension type="plugin" group="content" method="upgrade">
|
||||||
<name>Content - MokoSuiteBackup</name>
|
<name>Content - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<extension type="plugin" group="quickicon" method="upgrade">
|
<extension type="plugin" group="quickicon" method="upgrade">
|
||||||
<name>Quick Icon - MokoSuiteBackup</name>
|
<name>Quick Icon - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
+1
@@ -14,3 +14,4 @@ PLG_SYSTEM_MOKOJOOMBACKUP_BACKING_UP="Backing up…"
|
|||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_COMPLETE="Backup complete — safe to update."
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_COMPLETE="Backup complete — safe to update."
|
||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_FAILED="Backup failed"
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_FAILED="Backup failed"
|
||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_STARTING="Starting backup…"
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_STARTING="Starting backup…"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
|
|||||||
+1
@@ -14,3 +14,4 @@ PLG_SYSTEM_MOKOJOOMBACKUP_BACKING_UP="Backing up…"
|
|||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_COMPLETE="Backup complete — safe to update."
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_COMPLETE="Backup complete — safe to update."
|
||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_FAILED="Backup failed"
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_FAILED="Backup failed"
|
||||||
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_STARTING="Starting backup…"
|
PLG_SYSTEM_MOKOJOOMBACKUP_BACKUP_STARTING="Starting backup…"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
|
|||||||
@@ -101,6 +101,31 @@
|
|||||||
window.location.href = target;
|
window.location.href = target;
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
|
/* Full-screen "update is running" overlay shown while the re-fired update
|
||||||
|
POST processes, so the user knows it is working and not to close/switch. */
|
||||||
|
function showUpdateOverlay() {
|
||||||
|
if (document.getElementById('msb-update-overlay')) { return; }
|
||||||
|
|
||||||
|
var o = document.createElement('div');
|
||||||
|
o.id = 'msb-update-overlay';
|
||||||
|
o.setAttribute('role', 'status');
|
||||||
|
o.style.cssText = 'position:fixed;inset:0;z-index:2147483647;background:#000;color:#fff;'
|
||||||
|
+ 'display:flex;flex-direction:column;align-items:center;justify-content:center;'
|
||||||
|
+ 'text-align:center;padding:2rem;font-size:1.15rem;font-weight:600;';
|
||||||
|
|
||||||
|
var spin = document.createElement('span');
|
||||||
|
spin.className = 'spinner-border mb-3';
|
||||||
|
spin.setAttribute('aria-hidden', 'true');
|
||||||
|
|
||||||
|
var msg = document.createElement('div');
|
||||||
|
msg.textContent = (cfg && cfg.updateRunningText)
|
||||||
|
|| 'Backup complete. The update is now running — please wait and do not close this window…';
|
||||||
|
|
||||||
|
o.appendChild(spin);
|
||||||
|
o.appendChild(msg);
|
||||||
|
document.body.appendChild(o);
|
||||||
|
}
|
||||||
|
|
||||||
/* On return from the backup screen: restore the selection and re-fire. */
|
/* On return from the backup screen: restore the selection and re-fire. */
|
||||||
function resume() {
|
function resume() {
|
||||||
var params = new URLSearchParams(window.location.search);
|
var params = new URLSearchParams(window.location.search);
|
||||||
@@ -131,20 +156,40 @@
|
|||||||
if (box) { box.checked = true; }
|
if (box) { box.checked = true; }
|
||||||
});
|
});
|
||||||
|
|
||||||
/* Joomla's list-check reads boxchecked — set it so the re-fire passes. */
|
/* Restore boxchecked AND fire its `change` event. Joomla's toolbar web
|
||||||
|
component (joomla-toolbar-button) keeps a list-selection button
|
||||||
|
DISABLED until boxchecked changes via a change event — setting the
|
||||||
|
value alone leaves the button disabled, so executeTask() would no-op
|
||||||
|
and the update never submits (it just returns to the list). */
|
||||||
var bc = form.querySelector('input[name="boxchecked"]');
|
var bc = form.querySelector('input[name="boxchecked"]');
|
||||||
if (bc) { bc.value = (data.cids || []).length; }
|
if (bc) {
|
||||||
|
bc.value = (data.cids || []).length;
|
||||||
|
bc.dispatchEvent(new Event('change', { bubbles: true }));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.__msbResuming = true;
|
window.__msbResuming = true;
|
||||||
|
|
||||||
var btn = document.querySelector('[task="' + data.task + '"]');
|
/* Show a full-screen "update is running" overlay so the user gets clear
|
||||||
|
feedback that the update is proceeding while the re-fired POST runs.
|
||||||
|
It persists until the page navigates away (the update finishes and
|
||||||
|
redirects), matching the black full-screen backup screen. */
|
||||||
|
showUpdateOverlay();
|
||||||
|
|
||||||
if (btn) {
|
/* Re-fire the toolbar action. The `task` attribute is on the OUTER
|
||||||
window.setTimeout(function () { btn.click(); }, 300);
|
<joomla-toolbar-button>, but its click handler is bound to the INNER
|
||||||
|
<button>/<a>, so click that inner element (clicking the wrapper does
|
||||||
|
nothing). Fall back to Joomla.submitbutton if the button isn't found. */
|
||||||
|
window.setTimeout(function () {
|
||||||
|
var wc = document.querySelector('[task="' + data.task + '"]');
|
||||||
|
var inner = wc ? (wc.querySelector('button, a') || wc) : null;
|
||||||
|
|
||||||
|
if (inner) {
|
||||||
|
inner.click();
|
||||||
} else if (window.Joomla && typeof Joomla.submitbutton === 'function') {
|
} else if (window.Joomla && typeof Joomla.submitbutton === 'function') {
|
||||||
Joomla.submitbutton(data.task);
|
Joomla.submitbutton(data.task);
|
||||||
}
|
}
|
||||||
|
}, 300);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (document.readyState === 'loading') {
|
if (document.readyState === 'loading') {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="system" method="upgrade">
|
<extension type="plugin" group="system" method="upgrade">
|
||||||
<name>System - MokoSuiteBackup</name>
|
<name>System - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ defined('_JEXEC') or die;
|
|||||||
use Joomla\CMS\Component\ComponentHelper;
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
use Joomla\CMS\Document\HtmlDocument;
|
use Joomla\CMS\Document\HtmlDocument;
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\Plugin\CMSPlugin;
|
use Joomla\CMS\Plugin\CMSPlugin;
|
||||||
use Joomla\CMS\Router\Route;
|
use Joomla\CMS\Router\Route;
|
||||||
use Joomla\CMS\Session\Session;
|
use Joomla\CMS\Session\Session;
|
||||||
@@ -243,6 +244,7 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
|
|||||||
'backupBeforeUpdate' => $view === 'update' && (bool) $beforeUpdate,
|
'backupBeforeUpdate' => $view === 'update' && (bool) $beforeUpdate,
|
||||||
'backupBeforeUninstall' => $view === 'manage' && (bool) $beforeUninst,
|
'backupBeforeUninstall' => $view === 'manage' && (bool) $beforeUninst,
|
||||||
'recentBackup' => false,
|
'recentBackup' => false,
|
||||||
|
'updateRunningText' => Text::_('PLG_SYSTEM_MOKOSUITEBACKUP_UPDATE_RUNNING'),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$doc->addScript(Uri::root(true) . '/media/plg_system_mokosuitebackup/js/installer-backup.js', [], ['defer' => true]);
|
$doc->addScript(Uri::root(true) . '/media/plg_system_mokosuitebackup/js/installer-backup.js', [], ['defer' => true]);
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="task" method="upgrade">
|
<extension type="plugin" group="task" method="upgrade">
|
||||||
<name>Task - MokoSuiteBackup</name>
|
<name>Task - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="webservices" method="upgrade">
|
<extension type="plugin" group="webservices" method="upgrade">
|
||||||
<name>Web Services - MokoSuiteBackup</name>
|
<name>Web Services - MokoSuiteBackup</name>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<extension type="package" method="upgrade">
|
<extension type="package" method="upgrade">
|
||||||
<name>Package - MokoSuiteBackup</name>
|
<name>Package - MokoSuiteBackup</name>
|
||||||
<packagename>mokosuitebackup</packagename>
|
<packagename>mokosuitebackup</packagename>
|
||||||
<version>02.62.03</version>
|
<version>02.63.06</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
Reference in New Issue
Block a user