|
|
|
@@ -86,6 +86,7 @@ $config = [
|
|
|
|
|
'dashboard' => Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_BACK_TO_DASHBOARD'),
|
|
|
|
|
'viewRecord' => Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_VIEW_RECORD'),
|
|
|
|
|
'leaveWarn' => Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING'),
|
|
|
|
|
'continueUpdate' => Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_CONTINUE_UPDATE'),
|
|
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
@@ -117,7 +118,17 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div id="msb-rb-phase" class="fw-bold mb-1"></div>
|
|
|
|
|
<div id="msb-rb-status" class="text-muted small 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>
|
|
|
|
|
|
|
|
|
|
<?php if ($safeReturnUrl !== '') : ?>
|
|
|
|
|
<!-- 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">
|
|
|
|
|
<input class="form-check-input" type="checkbox" id="msb-rb-autocontinue" checked>
|
|
|
|
|
<label class="form-check-label" for="msb-rb-autocontinue">
|
|
|
|
|
<?php echo htmlspecialchars(Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_AUTOCONTINUE'), ENT_QUOTES, 'UTF-8'); ?>
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
<div id="msb-rb-actions" class="d-none mt-3">
|
|
|
|
|
<button type="button" id="msb-rb-retry" class="btn btn-primary d-none"></button>
|
|
|
|
@@ -153,7 +164,9 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|
|
|
|
retry: document.getElementById('msb-rb-retry'),
|
|
|
|
|
record: document.getElementById('msb-rb-record'),
|
|
|
|
|
continue: document.getElementById('msb-rb-continue'),
|
|
|
|
|
dashboard: document.getElementById('msb-rb-dashboard')
|
|
|
|
|
dashboard: document.getElementById('msb-rb-dashboard'),
|
|
|
|
|
autocontinue: document.getElementById('msb-rb-autocontinue'),
|
|
|
|
|
autocontinueWrap: document.getElementById('msb-rb-autocontinue-wrap')
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function setBar(pct, striped) {
|
|
|
|
@@ -199,10 +212,30 @@ $this->getDocument()->addStyleSheet(Uri::root(true) . '/media/com_mokosuitebacku
|
|
|
|
|
try { await post({ task: 'ajax.preupdateAck', action: CFG.action || '' }); } catch (e) {}
|
|
|
|
|
|
|
|
|
|
if (CFG.returnUrl) {
|
|
|
|
|
/* Pre-update / pre-uninstall flow: continue the original action.
|
|
|
|
|
No "view record" button here — we're handing back to Joomla. */
|
|
|
|
|
setStatus(L.continuing || 'Continuing…');
|
|
|
|
|
window.setTimeout(function () { window.location.href = CFG.returnUrl; }, 1200);
|
|
|
|
|
/* Pre-update / pre-uninstall flow. If "auto-continue" is ticked
|
|
|
|
|
(default) hand back to Joomla automatically; otherwise stop here
|
|
|
|
|
and offer a link to the new backup record plus a manual
|
|
|
|
|
"Continue the update" button. */
|
|
|
|
|
if (el.autocontinueWrap) { el.autocontinueWrap.classList.add('d-none'); }
|
|
|
|
|
|
|
|
|
|
var autoContinue = !el.autocontinue || el.autocontinue.checked;
|
|
|
|
|
|
|
|
|
|
if (autoContinue) {
|
|
|
|
|
setStatus(L.continuing || 'Continuing…');
|
|
|
|
|
window.setTimeout(function () { window.location.href = CFG.returnUrl; }, 1200);
|
|
|
|
|
} else {
|
|
|
|
|
setStatus(L.complete || 'Backup complete');
|
|
|
|
|
showActions();
|
|
|
|
|
|
|
|
|
|
if (lastRecordId > 0 && CFG.recordUrl) {
|
|
|
|
|
showBtn(el.record, L.viewRecord || 'View backup record',
|
|
|
|
|
CFG.recordUrl.replace('__MSBID__', String(lastRecordId)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
el.continue.classList.remove('btn-warning');
|
|
|
|
|
el.continue.classList.add('btn-success');
|
|
|
|
|
showBtn(el.continue, L.continueUpdate || 'Continue the update', CFG.returnUrl);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
/* Manual "Backup Now": offer to view the record that was just made. */
|
|
|
|
|
setStatus(L.complete || 'Backup complete');
|
|
|
|
|