68605ffc05
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Drops the per-profile remote_storage column and all legacy FTP/SFTP/S3/ Google Drive credential columns. Remote destinations are now sourced exclusively from #__mokosuitebackup_remotes (multi-remote), which is created at install time — so the backward-compat fallback branches in BackupEngine, SteppedBackupEngine and loadRemoteDestinations are removed. - sql: drop 26 legacy columns (install.mysql.sql + 02.52.25.sql migration) - forms/profile.xml: remove legacy remote fields and ftp/gdrive/s3 fieldsets - tmpl/profile/edit.php: drop legacy UI, add save-first prompt, use getOrCreateInstance for the modal, read item.params (was item.config) - PreflightCheck: validate credentials from the remotes table; curl warning now applies to ntfy only - SteppedSession: drop remoteStorage property - language: add backup-record delete-count strings - script.php: simplify postflight license-key prompt
318 lines
8.8 KiB
XML
318 lines
8.8 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>
|
|
|
|
<fieldset name="remote" label="COM_MOKOJOOMBACKUP_FIELDSET_REMOTE">
|
|
<field
|
|
name="remote_keep_local"
|
|
type="radio"
|
|
label="COM_MOKOJOOMBACKUP_FIELD_KEEP_LOCAL"
|
|
description="COM_MOKOJOOMBACKUP_FIELD_KEEP_LOCAL_DESC"
|
|
default="1"
|
|
class="btn-group"
|
|
>
|
|
<option value="1">JYES</option>
|
|
<option value="0">JNO</option>
|
|
</field>
|
|
</fieldset>
|
|
|
|
<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>
|