1f7def05c1
config.xml: - Defaults fieldset: archive format, MokoRestore mode, sanitization defaults (passwords, emails, sessions), log retention days - Global ntfy fieldset: server, topic, token (fallback for profiles) access.xml: - mokosuitebackup.backup.purge — bulk delete old backups - mokosuitebackup.backup.compare — compare two backups - mokosuitebackup.backup.browse — browse archive file listings 30+ new language strings for all fields and ACL actions. Partial #137 (ACL enforcement audit in separate commit)
281 lines
7.7 KiB
XML
281 lines
7.7 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="[DEFAULT_DIR]"
|
|
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, CONCAT(title, ' (#', id, ')') AS text FROM #__mokosuitebackup_profiles WHERE published = 1 ORDER BY ordering ASC"
|
|
default="1"
|
|
>
|
|
<option value="1">Default Backup Profile (#1)</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="defaults" label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULTS">
|
|
<field
|
|
name="default_archive_format"
|
|
type="list"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_FORMAT"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_FORMAT_DESC"
|
|
default="zip"
|
|
>
|
|
<option value="zip">ZIP</option>
|
|
<option value="tar.gz">tar.gz</option>
|
|
<option value="7z">7z</option>
|
|
</field>
|
|
<field
|
|
name="default_mokorestore"
|
|
type="list"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_MOKORESTORE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_MOKORESTORE_DESC"
|
|
default="0"
|
|
>
|
|
<option value="0">COM_MOKOJOOMBACKUP_MOKORESTORE_NONE</option>
|
|
<option value="1">COM_MOKOJOOMBACKUP_MOKORESTORE_WRAPPED</option>
|
|
<option value="standalone">COM_MOKOJOOMBACKUP_MOKORESTORE_STANDALONE</option>
|
|
</field>
|
|
<field
|
|
name="default_sanitize_passwords"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_PW"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_PW_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="default_sanitize_emails"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_EMAIL"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_EMAIL_DESC"
|
|
default="0"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="default_sanitize_sessions"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_SESS"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_DEFAULT_SANITIZE_SESS_DESC"
|
|
default="1"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
<field
|
|
name="log_retention_days"
|
|
type="number"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_LOG_RETENTION"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_LOG_RETENTION_DESC"
|
|
default="90"
|
|
min="0"
|
|
max="365"
|
|
/>
|
|
</fieldset>
|
|
|
|
<fieldset name="webcron" label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON">
|
|
<field
|
|
name="webcron_secret"
|
|
type="WebcronSecret"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_SECRET"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_SECRET_DESC"
|
|
default=""
|
|
filter="string"
|
|
maxlength="64"
|
|
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
|
|
/>
|
|
<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="IpWhitelist"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_IP"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_WEBCRON_IP_DESC"
|
|
default=""
|
|
filter="string"
|
|
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
|
|
/>
|
|
</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="snapshot_cleanup" label="COM_MOKOJOOMBACKUP_CONFIG_SNAPSHOT_RETENTION">
|
|
<field
|
|
name="snapshot_retention_count"
|
|
type="number"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_SNAPSHOT_MAX_COUNT"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_SNAPSHOT_MAX_COUNT_DESC"
|
|
default="20"
|
|
min="0"
|
|
max="100"
|
|
/>
|
|
<field
|
|
name="snapshot_retention_days"
|
|
type="number"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_SNAPSHOT_MAX_AGE"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_SNAPSHOT_MAX_AGE_DESC"
|
|
default="30"
|
|
min="0"
|
|
max="365"
|
|
/>
|
|
</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="ntfy" label="COM_MOKOJOOMBACKUP_CONFIG_NTFY">
|
|
<field
|
|
name="ntfy_server"
|
|
type="text"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NTFY_SERVER"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NTFY_SERVER_DESC"
|
|
default="https://ntfy.sh"
|
|
filter="url"
|
|
/>
|
|
<field
|
|
name="ntfy_topic"
|
|
type="text"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NTFY_TOPIC"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NTFY_TOPIC_DESC"
|
|
default=""
|
|
filter="string"
|
|
/>
|
|
<field
|
|
name="ntfy_token"
|
|
type="password"
|
|
label="COM_MOKOJOOMBACKUP_CONFIG_NTFY_TOKEN"
|
|
description="COM_MOKOJOOMBACKUP_CONFIG_NTFY_TOKEN_DESC"
|
|
default=""
|
|
/>
|
|
</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>
|