Files
MokoSuiteBackup/source/packages/com_mokosuitebackup/forms/profile.xml
T
jmiller 97e8d0cbe9
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Universal: PR Check / Validate PR (pull_request) Failing after 47s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 54s
Generic: Project CI / Tests (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
fix(ui): WAM-loaded CSS, per-destination keep-local, tidy destination modal
- Move component admin CSS to the Joomla Web Asset Manager: new
  media/com_mokosuitebackup/css/admin.css + media/joomla.asset.json, a <media>
  entry in the manifest, and useStyle('com_mokosuitebackup.admin') in the
  profile edit view. Removes the inline <style> block (no more inline CSS).
- Remove the profile-level "Keep local copy" field/"Remote" fieldset from
  forms/profile.xml — it is now per remote destination (modal remoteKeepLocal).
- Clean up the Add/Edit Destination modal padding/margins (in admin.css).

Claude-Session: https://claude.ai/code/session_01WbGBN9VyRK61zczYWcCQ2i
2026-07-05 18:48:33 -05:00

308 lines
8.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<form>
<fieldset name="general" label="COM_MOKOJOOMBACKUP_FIELDSET_GENERAL">
<field
name="title"
type="text"
label="COM_MOKOJOOMBACKUP_FIELD_TITLE"
description="COM_MOKOJOOMBACKUP_FIELD_TITLE_DESC"
required="true"
maxlength="255"
/>
<field
name="description"
type="textarea"
label="COM_MOKOJOOMBACKUP_FIELD_DESCRIPTION"
description="COM_MOKOJOOMBACKUP_FIELD_DESCRIPTION_DESC"
rows="3"
/>
<field
name="backup_type"
type="list"
label="COM_MOKOJOOMBACKUP_FIELD_BACKUP_TYPE"
description="COM_MOKOJOOMBACKUP_FIELD_BACKUP_TYPE_DESC"
default="full"
>
<option value="full">COM_MOKOJOOMBACKUP_TYPE_FULL</option>
<option value="database">COM_MOKOJOOMBACKUP_TYPE_DATABASE</option>
<option value="files">COM_MOKOJOOMBACKUP_TYPE_FILES</option>
<option value="differential">COM_MOKOJOOMBACKUP_TYPE_DIFFERENTIAL</option>
</field>
</fieldset>
<fieldset name="archive" label="COM_MOKOJOOMBACKUP_FIELDSET_ARCHIVE">
<field
name="archive_format"
type="list"
label="COM_MOKOJOOMBACKUP_FIELD_ARCHIVE_FORMAT"
description="COM_MOKOJOOMBACKUP_FIELD_ARCHIVE_FORMAT_DESC"
default="zip"
>
<option value="zip">ZIP</option>
<option value="tar.gz">tar.gz</option>
<option value="7z">COM_MOKOJOOMBACKUP_FORMAT_7Z</option>
</field>
<field
name="compression_level"
type="list"
label="COM_MOKOJOOMBACKUP_FIELD_COMPRESSION"
description="COM_MOKOJOOMBACKUP_FIELD_COMPRESSION_DESC"
default="5"
>
<option value="0">COM_MOKOJOOMBACKUP_COMPRESSION_NONE</option>
<option value="1">COM_MOKOJOOMBACKUP_COMPRESSION_FASTEST</option>
<option value="5">COM_MOKOJOOMBACKUP_COMPRESSION_NORMAL</option>
<option value="9">COM_MOKOJOOMBACKUP_COMPRESSION_BEST</option>
</field>
<field
name="split_size"
type="number"
label="COM_MOKOJOOMBACKUP_FIELD_SPLIT_SIZE"
description="COM_MOKOJOOMBACKUP_FIELD_SPLIT_SIZE_DESC"
default="0"
min="0"
hint="0 = no splitting"
/>
<field
name="backup_dir"
type="FolderPicker"
label="COM_MOKOJOOMBACKUP_FIELD_BACKUP_DIR"
description="COM_MOKOJOOMBACKUP_FIELD_BACKUP_DIR_DESC"
default="[DEFAULT_DIR]"
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
/>
<field
name="archive_name_format"
type="PlaceholderText"
label="COM_MOKOJOOMBACKUP_FIELD_ARCHIVE_NAME_FORMAT"
description="COM_MOKOJOOMBACKUP_FIELD_ARCHIVE_NAME_FORMAT_DESC"
default="[HOST]_[DATETIME]_profile[PROFILE_ID]"
maxlength="512"
hint="[HOST]_[DATETIME]_profile[PROFILE_ID]"
placeholders="[HOST],[DATETIME],[DATE],[TIME],[YEAR],[MONTH],[DAY],[HOUR],[MINUTE],[SECOND],[PROFILE_ID],[PROFILE_NAME],[SITE_NAME],[TYPE],[RANDOM]"
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
/>
<field
name="include_mokorestore"
type="list"
label="COM_MOKOJOOMBACKUP_FIELD_INCLUDE_MOKORESTORE"
description="COM_MOKOJOOMBACKUP_FIELD_INCLUDE_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="restore_script_name"
type="text"
label="COM_MOKOJOOMBACKUP_FIELD_RESTORE_SCRIPT_NAME"
description="COM_MOKOJOOMBACKUP_FIELD_RESTORE_SCRIPT_NAME_DESC"
default="restore.php"
maxlength="128"
filter="string"
showon="include_mokorestore!:0"
/>
<field
name="encryption_password"
type="password"
label="COM_MOKOJOOMBACKUP_FIELD_ENCRYPTION_PASSWORD"
description="COM_MOKOJOOMBACKUP_FIELD_ENCRYPTION_PASSWORD_DESC"
maxlength="255"
/>
</fieldset>
<fieldset name="sanitization" label="COM_MOKOJOOMBACKUP_FIELDSET_SANITIZATION">
<field
name="sanitize_passwords"
type="radio"
label="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_PASSWORDS"
description="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_PASSWORDS_DESC"
default="0"
class="btn-group"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="preserve_super_admin"
type="radio"
label="COM_MOKOJOOMBACKUP_FIELD_PRESERVE_SUPER_ADMIN"
description="COM_MOKOJOOMBACKUP_FIELD_PRESERVE_SUPER_ADMIN_DESC"
default="1"
class="btn-group"
showon="sanitize_passwords:1"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="sanitize_emails"
type="radio"
label="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_EMAILS"
description="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_EMAILS_DESC"
default="0"
class="btn-group"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="sanitize_sessions"
type="radio"
label="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_SESSIONS"
description="COM_MOKOJOOMBACKUP_FIELD_SANITIZE_SESSIONS_DESC"
default="1"
class="btn-group"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
<fieldset name="sidebar" label="COM_MOKOJOOMBACKUP_FIELDSET_STATUS">
<field
name="id"
type="hidden"
/>
<field
name="published"
type="list"
label="JSTATUS"
default="1"
>
<option value="1">JPUBLISHED</option>
<option value="0">JUNPUBLISHED</option>
</field>
</fieldset>
<fieldset name="filters" label="COM_MOKOJOOMBACKUP_FIELDSET_FILTERS">
<field
name="exclude_dirs"
type="DirectoryFilter"
label="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_DIRS"
description="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_DIRS_DESC"
filter="raw"
hint="tmp"
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
/>
<field
name="exclude_files"
type="ExcludeList"
label="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_FILES"
description="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_FILES_DESC"
filter="raw"
hint="*.bak"
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
/>
<field
name="exclude_tables"
type="DatabaseTables"
label="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_TABLES"
description="COM_MOKOJOOMBACKUP_FIELD_EXCLUDE_TABLES_DESC"
filter="raw"
addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field"
/>
</fieldset>
<!-- The "Keep local copy" setting is now configured per remote destination
(in the Add/Edit Destination modal), so the profile-level field and its
"Remote" tab have been removed. -->
<fieldset name="retention" label="COM_MOKOJOOMBACKUP_FIELDSET_RETENTION">
<field
name="retention_days"
type="number"
label="COM_MOKOJOOMBACKUP_FIELD_RETENTION_DAYS"
description="COM_MOKOJOOMBACKUP_FIELD_RETENTION_DAYS_DESC"
default="0"
min="0"
max="365"
hint="0"
/>
<field
name="retention_count"
type="number"
label="COM_MOKOJOOMBACKUP_FIELD_RETENTION_COUNT"
description="COM_MOKOJOOMBACKUP_FIELD_RETENTION_COUNT_DESC"
default="0"
min="0"
max="999"
hint="0"
/>
</fieldset>
<fieldset name="notifications" label="COM_MOKOJOOMBACKUP_FIELDSET_NOTIFICATIONS">
<field
name="notify_email"
type="text"
label="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_EMAIL"
description="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_EMAIL_DESC"
maxlength="512"
hint="admin@example.com, backup@example.com"
/>
<field
name="notify_user_groups"
type="usergrouplist"
label="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_USER_GROUPS"
description="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_USER_GROUPS_DESC"
multiple="true"
layout="joomla.form.field.list-fancy-select"
/>
<field
name="notify_on_success"
type="radio"
label="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_SUCCESS"
description="COM_MOKOJOOMBACKUP_FIELD_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_FIELD_NOTIFY_FAILURE"
description="COM_MOKOJOOMBACKUP_FIELD_NOTIFY_FAILURE_DESC"
default="1"
class="btn-group"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="ntfy_spacer"
type="note"
label=""
description="COM_MOKOJOOMBACKUP_FIELD_NTFY_SPACER_DESC"
class="alert alert-light border"
/>
<field
name="ntfy_topic"
type="text"
label="COM_MOKOJOOMBACKUP_FIELD_NTFY_TOPIC"
description="COM_MOKOJOOMBACKUP_FIELD_NTFY_TOPIC_DESC"
maxlength="255"
hint="my-backups"
/>
<field
name="ntfy_server"
type="url"
label="COM_MOKOJOOMBACKUP_FIELD_NTFY_SERVER"
description="COM_MOKOJOOMBACKUP_FIELD_NTFY_SERVER_DESC"
maxlength="512"
default="https://ntfy.sh"
hint="https://ntfy.sh"
/>
<field
name="ntfy_token"
type="password"
label="COM_MOKOJOOMBACKUP_FIELD_NTFY_TOKEN"
description="COM_MOKOJOOMBACKUP_FIELD_NTFY_TOKEN_DESC"
maxlength="255"
/>
</fieldset>
</form>