Compare commits
8 Commits
version/02.64.00
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 120cca5594 | |||
| 536a9b0c78 | |||
| 257003fb74 | |||
| 254bf18c45 | |||
| 6fc57eb163 | |||
| 9e7ebfe89e | |||
| 8df658c5da | |||
| 6c79443be0 |
@@ -5,7 +5,7 @@
|
|||||||
# FILE INFORMATION
|
# FILE INFORMATION
|
||||||
# DEFGROUP: MokoGitea.Workflow
|
# DEFGROUP: MokoGitea.Workflow
|
||||||
# INGROUP: mokocli.Automation
|
# INGROUP: mokocli.Automation
|
||||||
# VERSION: 02.64.00
|
# VERSION: 02.64.04
|
||||||
# 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.64.00
|
VERSION: 02.64.04
|
||||||
BRIEF: Security vulnerability reporting and handling policy
|
BRIEF: Security vulnerability reporting and handling policy
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|||||||
Submodule source/packages/MokoSuiteClient updated: 050b05d6ef...33ffcda3ed
@@ -162,6 +162,17 @@
|
|||||||
<option value="1">JYES</option>
|
<option value="1">JYES</option>
|
||||||
<option value="0">JNO</option>
|
<option value="0">JNO</option>
|
||||||
</field>
|
</field>
|
||||||
|
<field
|
||||||
|
name="lock_admin_during_backup"
|
||||||
|
type="radio"
|
||||||
|
label="COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN"
|
||||||
|
description="COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN_DESC"
|
||||||
|
default="1"
|
||||||
|
class="btn-group"
|
||||||
|
>
|
||||||
|
<option value="1">JYES</option>
|
||||||
|
<option value="0">JNO</option>
|
||||||
|
</field>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset name="cleanup" label="COM_MOKOJOOMBACKUP_CONFIG_CLEANUP">
|
<fieldset name="cleanup" label="COM_MOKOJOOMBACKUP_CONFIG_CLEANUP">
|
||||||
|
|||||||
@@ -335,6 +335,8 @@ COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT="Auto-run on Update click"
|
|||||||
COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT_DESC="When enabled, clicking the Update button on the Joomla Update or Extensions update page first pops the backup progress modal, runs the pre-update backup, then automatically continues the update. When disabled, a notice with a manual 'Back up now' button is shown instead."
|
COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT_DESC="When enabled, clicking the Update button on the Joomla Update or Extensions update page first pops the backup progress modal, runs the pre-update backup, then automatically continues the update. When disabled, a notice with a manual 'Back up now' button is shown instead."
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL="Backup Before Extension Uninstall"
|
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL="Backup Before Extension Uninstall"
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL_DESC="Automatically run a full backup before any extension is uninstalled. Uses the default profile. Throttled to once per 10 minutes."
|
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL_DESC="Automatically run a full backup before any extension is uninstalled. Uses the default profile. Throttled to once per 10 minutes."
|
||||||
|
COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN="Lock admin during backup"
|
||||||
|
COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN_DESC="While a backup is actively running, show a \"backup in progress\" screen on all other admin pages until it finishes, so nothing changes mid-backup. The backup screen itself and the login page stay accessible. Auto-releases if a backup stops responding."
|
||||||
|
|
||||||
; Full-screen backup progress view (runbackup)
|
; Full-screen backup progress view (runbackup)
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_TITLE="Backing Up"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_TITLE="Backing Up"
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT="Auto-run on Update click"
|
|||||||
COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT_DESC="When enabled, clicking the Update button on the Joomla Update or Extensions update page first pops the backup progress modal, runs the pre-update backup, then automatically continues the update. When disabled, a notice with a manual 'Back up now' button is shown instead."
|
COM_MOKOJOOMBACKUP_CONFIG_PREUPDATE_AUTO_INTERCEPT_DESC="When enabled, clicking the Update button on the Joomla Update or Extensions update page first pops the backup progress modal, runs the pre-update backup, then automatically continues the update. When disabled, a notice with a manual 'Back up now' button is shown instead."
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL="Backup Before Extension Uninstall"
|
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL="Backup Before Extension Uninstall"
|
||||||
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL_DESC="Automatically run a full backup before any extension is uninstalled. Uses the default profile. Throttled to once per 10 minutes."
|
COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL_DESC="Automatically run a full backup before any extension is uninstalled. Uses the default profile. Throttled to once per 10 minutes."
|
||||||
|
COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN="Lock admin during backup"
|
||||||
|
COM_MOKOJOOMBACKUP_CONFIG_LOCK_ADMIN_DESC="While a backup is actively running, show a \"backup in progress\" screen on all other admin pages until it finishes, so nothing changes mid-backup. The backup screen itself and the login page stay accessible. Auto-releases if a backup stops responding."
|
||||||
|
|
||||||
; Full-screen backup progress view (runbackup)
|
; Full-screen backup progress view (runbackup)
|
||||||
COM_MOKOJOOMBACKUP_RUNBACKUP_TITLE="Backing Up"
|
COM_MOKOJOOMBACKUP_RUNBACKUP_TITLE="Backing Up"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
display label there.
|
display label there.
|
||||||
-->
|
-->
|
||||||
<name>MokoSuiteBackup</name>
|
<name>MokoSuiteBackup</name>
|
||||||
<version>02.64.00</version>
|
<version>02.64.04</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.64.01 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.64.02 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.64.03 — no schema changes */
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/* 02.64.04 — no schema changes */
|
||||||
@@ -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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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>
|
||||||
|
|||||||
+2
@@ -15,3 +15,5 @@ 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…"
|
PLG_SYSTEM_MOKOSUITEBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_TITLE="Backup in progress"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_MESSAGE="A MokoSuiteBackup backup is currently running in another window. The administrator area is locked until it finishes — this page will refresh automatically. Please do not make changes while the backup runs."
|
||||||
|
|||||||
+2
@@ -15,3 +15,5 @@ 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…"
|
PLG_SYSTEM_MOKOSUITEBACKUP_UPDATE_RUNNING="Backup complete. The update is now running — please wait and do not close this window…"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_TITLE="Backup in progress"
|
||||||
|
PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_MESSAGE="A MokoSuiteBackup backup is currently running in another window. The administrator area is locked until it finishes — this page will refresh automatically. Please do not make changes while the backup runs."
|
||||||
|
|||||||
@@ -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.64.00</version>
|
<version>02.64.04</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>
|
||||||
|
|||||||
@@ -133,6 +133,10 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// While a backup is actively running, lock the admin UI so no other
|
||||||
|
// window/page can navigate or change anything mid-backup. May close().
|
||||||
|
$this->maybeLockAdminDuringBackup();
|
||||||
|
|
||||||
// Pre-update: send Joomla core-update installs through the full-screen
|
// Pre-update: send Joomla core-update installs through the full-screen
|
||||||
// backup page BEFORE the update runs (may not return from here).
|
// backup page BEFORE the update runs (may not return from here).
|
||||||
$this->maybeRedirectForUpdate();
|
$this->maybeRedirectForUpdate();
|
||||||
@@ -155,6 +159,97 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
|
|||||||
$this->cleanupOldSnapshots();
|
$this->cleanupOldSnapshots();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detect whether a stepped backup is actively running right now.
|
||||||
|
*
|
||||||
|
* The stepped-backup engine rewrites its session JSON file
|
||||||
|
* (JPATH_ROOT/tmp/mokosuitebackup-sessions/mb_*.json) on every step and
|
||||||
|
* deletes it on completion, so a file whose mtime is within the last ~45s
|
||||||
|
* is a reliable, cross-session heartbeat. A crashed/abandoned backup goes
|
||||||
|
* stale and stops locking on its own — the admin is never permanently locked.
|
||||||
|
*/
|
||||||
|
private function backupIsActive(): bool
|
||||||
|
{
|
||||||
|
$dir = JPATH_ROOT . '/tmp/mokosuitebackup-sessions';
|
||||||
|
|
||||||
|
if (!is_dir($dir)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cutoff = time() - 45;
|
||||||
|
|
||||||
|
foreach (glob($dir . '/mb_*.json') ?: [] as $file) {
|
||||||
|
if (@filemtime($file) >= $cutoff) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* While a backup is actively running, lock the admin UI: every admin page
|
||||||
|
* load (except the full-screen backup screen and the login/logout page)
|
||||||
|
* gets a "backup in progress" interstitial that auto-refreshes, so no other
|
||||||
|
* window can navigate or change anything mid-backup. Gated by the
|
||||||
|
* lock_admin_during_backup option; auto-released when the backup ends.
|
||||||
|
*/
|
||||||
|
private function maybeLockAdminDuringBackup(): void
|
||||||
|
{
|
||||||
|
if (!(int) ComponentHelper::getParams('com_mokosuitebackup')->get('lock_admin_during_backup', 1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$app = $this->getApplication();
|
||||||
|
$input = $app->getInput();
|
||||||
|
$option = $input->getCmd('option', '');
|
||||||
|
$view = $input->getCmd('view', '');
|
||||||
|
|
||||||
|
// Never lock the full-screen backup screen (it IS the backup) nor login/logout.
|
||||||
|
if (($option === 'com_mokosuitebackup' && $view === 'runbackup') || $option === 'com_login') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->backupIsActive()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->renderBackupLockPage();
|
||||||
|
$app->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emit a self-contained "backup in progress" interstitial that refreshes
|
||||||
|
* itself (meta refresh) until the backup finishes and the lock releases.
|
||||||
|
*/
|
||||||
|
private function renderBackupLockPage(): void
|
||||||
|
{
|
||||||
|
$app = $this->getApplication();
|
||||||
|
$title = Text::_('PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_TITLE');
|
||||||
|
$message = Text::_('PLG_SYSTEM_MOKOSUITEBACKUP_LOCK_MESSAGE');
|
||||||
|
$t = htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
|
||||||
|
$m = htmlspecialchars($message, ENT_QUOTES, 'UTF-8');
|
||||||
|
|
||||||
|
$html = '<!doctype html><html lang="en"><head><meta charset="utf-8">'
|
||||||
|
. '<meta name="viewport" content="width=device-width, initial-scale=1">'
|
||||||
|
. '<meta http-equiv="refresh" content="8">'
|
||||||
|
. '<title>' . $t . '</title><style>'
|
||||||
|
. 'html,body{height:100%;margin:0}'
|
||||||
|
. 'body{background:#000;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;'
|
||||||
|
. 'display:flex;align-items:center;justify-content:center;text-align:center}'
|
||||||
|
. '.w{max-width:34rem;padding:2rem}'
|
||||||
|
. '.s{width:3rem;height:3rem;margin:0 auto 1.5rem;border:.35rem solid rgba(255,255,255,.2);'
|
||||||
|
. 'border-top-color:#fff;border-radius:50%;animation:sp 1s linear infinite}'
|
||||||
|
. 'h1{font-size:1.5rem;margin:.5rem 0}p{opacity:.85;line-height:1.55}'
|
||||||
|
. '@keyframes sp{to{transform:rotate(360deg)}}'
|
||||||
|
. '</style></head><body><div class="w"><div class="s"></div>'
|
||||||
|
. '<h1>' . $t . '</h1><p>' . $m . '</p></div></body></html>';
|
||||||
|
|
||||||
|
$app->setHeader('Content-Type', 'text/html; charset=utf-8', true);
|
||||||
|
$app->sendHeaders();
|
||||||
|
echo $html;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inject the client-side interceptor on the Extensions → Update and
|
* Inject the client-side interceptor on the Extensions → Update and
|
||||||
* Extensions → Manage pages, so an EXTENSION update / uninstall also runs
|
* Extensions → Manage pages, so an EXTENSION update / uninstall also runs
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
* "MokoSuiteBackup: Run Backup Profile" task.
|
* "MokoSuiteBackup: Run Backup Profile" task.
|
||||||
-->
|
-->
|
||||||
<form>
|
<form>
|
||||||
<fieldset name="run_profile">
|
<fieldset name="run_profile" label="PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_PROFILE">
|
||||||
<field
|
<field
|
||||||
name="profile_id"
|
name="profile_id"
|
||||||
type="sql"
|
type="sql"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
* "MokoSuiteBackup: Run Content Snapshot" task.
|
* "MokoSuiteBackup: Run Content Snapshot" task.
|
||||||
-->
|
-->
|
||||||
<form>
|
<form>
|
||||||
<fieldset name="run_snapshot">
|
<fieldset name="run_snapshot" label="PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_SNAPSHOT">
|
||||||
<field name="content_types" type="checkboxes" label="Content Types" default="articles,categories,modules">
|
<field name="content_types" type="checkboxes" label="Content Types" default="articles,categories,modules">
|
||||||
<option value="articles">Articles</option>
|
<option value="articles">Articles</option>
|
||||||
<option value="categories">Categories</option>
|
<option value="categories">Categories</option>
|
||||||
|
|||||||
@@ -8,5 +8,7 @@ PLG_TASK_MOKOJOOMBACKUP_TASK_RUN_PROFILE_DESC="Run a MokoSuiteBackup backup usin
|
|||||||
|
|
||||||
; Task form fields
|
; Task form fields
|
||||||
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE="Backup Profile"
|
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE="Backup Profile"
|
||||||
|
PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_PROFILE="Backup Profile"
|
||||||
|
PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_SNAPSHOT="Content Snapshot"
|
||||||
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE_DESC="Select which backup profile to run. Each profile defines backup type (full/database/files), exclusion filters, and storage settings."
|
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE_DESC="Select which backup profile to run. Each profile defines backup type (full/database/files), exclusion filters, and storage settings."
|
||||||
PLG_TASK_MOKOJOOMBACKUP_SELECT_PROFILE="- Select Profile -"
|
PLG_TASK_MOKOJOOMBACKUP_SELECT_PROFILE="- Select Profile -"
|
||||||
|
|||||||
@@ -4,5 +4,7 @@ PLG_TASK_MOKOJOOMBACKUP_DESCRIPTION="Scheduled task plugin for MokoSuiteBackup.
|
|||||||
PLG_TASK_MOKOJOOMBACKUP_TASK_RUN_PROFILE_TITLE="MokoSuiteBackup: Run Backup Profile"
|
PLG_TASK_MOKOJOOMBACKUP_TASK_RUN_PROFILE_TITLE="MokoSuiteBackup: Run Backup Profile"
|
||||||
PLG_TASK_MOKOJOOMBACKUP_TASK_RUN_PROFILE_DESC="Run a MokoSuiteBackup backup using the selected profile. Create multiple tasks with different profiles for different backup schedules."
|
PLG_TASK_MOKOJOOMBACKUP_TASK_RUN_PROFILE_DESC="Run a MokoSuiteBackup backup using the selected profile. Create multiple tasks with different profiles for different backup schedules."
|
||||||
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE="Backup Profile"
|
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE="Backup Profile"
|
||||||
|
PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_PROFILE="Backup Profile"
|
||||||
|
PLG_TASK_MOKOJOOMBACKUP_FIELDSET_RUN_SNAPSHOT="Content Snapshot"
|
||||||
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE_DESC="Select which backup profile to run."
|
PLG_TASK_MOKOJOOMBACKUP_FIELD_PROFILE_DESC="Select which backup profile to run."
|
||||||
PLG_TASK_MOKOJOOMBACKUP_SELECT_PROFILE="- Select Profile -"
|
PLG_TASK_MOKOJOOMBACKUP_SELECT_PROFILE="- Select Profile -"
|
||||||
|
|||||||
@@ -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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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.64.00</version>
|
<version>02.64.04</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