e745735ccd
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Failing after 8s
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 6s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
Add two new options in component config (Pre-action Backups fieldset): - Backup Before Extension Update (default: No) - Backup Before Extension Uninstall (default: No) System plugin subscribes to onExtensionBeforeUpdate and onExtensionBeforeUninstall events. When enabled, runs a full backup using the default profile before any extension is updated or uninstalled. Throttled to once per 10 minutes via session flag to prevent duplicate backups during batch operations.
166 lines
4.5 KiB
XML
166 lines
4.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
* @package MokoSuiteBackup
|
|
* @subpackage com_mokosuitebackup
|
|
* @author Moko Consulting <hello@mokoconsulting.tech>
|
|
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
|
|
* @license GNU General Public License version 3 or later; see LICENSE
|
|
-->
|
|
<config>
|
|
<fieldset name="general" label="COM_MOKOJOOMBACKUP_CONFIG_GENERAL">
|
|
<field
|
|
name="default_backup_dir"
|
|
type="FolderPicker"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_BACKUP_DIR"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_BACKUP_DIR_DESC"
|
|
default="administrator/components/com_mokosuitebackup/backups"
|
|
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
|
|
/>
|
|
<field
|
|
name="default_profile"
|
|
type="sql"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_PROFILE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_PROFILE_DESC"
|
|
query="SELECT id AS value, title AS text FROM #__mokosuitebackup_profiles WHERE published = 1 ORDER BY ordering ASC"
|
|
default="1"
|
|
>
|
|
<option value="1">Default Backup Profile</option>
|
|
</field>
|
|
<field
|
|
name="show_update_notice"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_SHOW_UPDATE_NOTICE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_SHOW_UPDATE_NOTICE_DESC"
|
|
default="1"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
</fieldset>
|
|
|
|
<fieldset name="webcron" label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON">
|
|
<field
|
|
name="webcron_secret"
|
|
type="text"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_SECRET"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_SECRET_DESC"
|
|
default=""
|
|
filter="string"
|
|
maxlength="64"
|
|
/>
|
|
<field
|
|
name="webcron_enabled"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_ENABLED"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_ENABLED_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="webcron_ip_whitelist"
|
|
type="text"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_IP"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_IP_DESC"
|
|
default=""
|
|
filter="string"
|
|
hint="Leave blank to allow any IP"
|
|
/>
|
|
</fieldset>
|
|
|
|
<fieldset name="preaction" label="COM_MOKOJOOMBACKUP_CONFIG_PREACTION">
|
|
<field
|
|
name="backup_before_update"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UPDATE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UPDATE_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="backup_before_uninstall"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_BACKUP_BEFORE_UNINSTALL_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
</fieldset>
|
|
|
|
<fieldset name="cleanup" label="COM_MOKOJOOMBACKUP_CONFIG_CLEANUP">
|
|
<field
|
|
name="max_age_days"
|
|
type="number"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_MAX_AGE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_MAX_AGE_DESC"
|
|
default="30"
|
|
min="1"
|
|
max="365"
|
|
/>
|
|
<field
|
|
name="max_backups"
|
|
type="number"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_MAX_BACKUPS"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_MAX_BACKUPS_DESC"
|
|
default="10"
|
|
min="1"
|
|
max="100"
|
|
/>
|
|
</fieldset>
|
|
|
|
<fieldset name="notifications" label="COM_MOKOJOOMBACKUP_CONFIG_NOTIFICATIONS">
|
|
<field
|
|
name="notify_email"
|
|
type="text"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_EMAIL"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_EMAIL_DESC"
|
|
default=""
|
|
filter="string"
|
|
/>
|
|
<field
|
|
name="notify_on_success"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_SUCCESS"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_SUCCESS_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="notify_on_failure"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_FAILURE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NOTIFY_FAILURE_DESC"
|
|
default="1"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
</fieldset>
|
|
|
|
<fieldset name="permissions" label="JCONFIG_PERMISSIONS_LABEL"
|
|
description="JCONFIG_PERMISSIONS_DESC">
|
|
<field
|
|
name="rules"
|
|
type="rules"
|
|
label="JCONFIG_PERMISSIONS_LABEL"
|
|
filter="rules"
|
|
validate="rules"
|
|
component="com_mokosuitebackup"
|
|
section="component"
|
|
/>
|
|
</fieldset>
|
|
</config>
|