From 2a9443601ecd66f27ff69b0bc6b08132018d9351 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 11 Jun 2026 15:27:17 -0500 Subject: [PATCH] fix: [DEFAULT_DIR] resolves to JPATH_ROOT/backups, shown as placeholder - getDefaultAbsolute() now returns JPATH_ROOT/backups instead of the old admin component directory - SQL default, form default, and install migration all use [DEFAULT_DIR] - portablize() converts ./backups and old literal paths back to [DEFAULT_DIR] - Users see [DEFAULT_DIR] in the field, resolved path shown in status --- .../com_mokosuitebackup/forms/profile.xml | 2 +- .../com_mokosuitebackup/sql/install.mysql.sql | 4 +-- .../src/Utility/BackupDirectory.php | 26 +++++++++---------- source/script.php | 9 ++++--- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/source/packages/com_mokosuitebackup/forms/profile.xml b/source/packages/com_mokosuitebackup/forms/profile.xml index bc446b2..1944d47 100644 --- a/source/packages/com_mokosuitebackup/forms/profile.xml +++ b/source/packages/com_mokosuitebackup/forms/profile.xml @@ -67,7 +67,7 @@ type="FolderPicker" label="COM_MOKOJOOMBACKUP_FIELD_BACKUP_DIR" description="COM_MOKOJOOMBACKUP_FIELD_BACKUP_DIR_DESC" - default="./backups" + default="[DEFAULT_DIR]" addfieldprefix="Joomla\Component\MokoSuiteBackup\Administrator\Field" /> getQuery(true) ->select('COUNT(*)') @@ -250,10 +251,10 @@ class Pkg_MokoSuiteBackupInstallerScript $db->setQuery($query); if ((int) $db->loadResult() > 0) { - // Auto-migrate old defaults to the new ./backups convention + // Auto-migrate old defaults to [DEFAULT_DIR] placeholder $update = $db->getQuery(true) ->update($db->quoteName('#__mokosuitebackup_profiles')) - ->set($db->quoteName('backup_dir') . ' = ' . $db->quote('./backups')) + ->set($db->quoteName('backup_dir') . ' = ' . $db->quote('[DEFAULT_DIR]')) ->where('(' . $db->quoteName('backup_dir') . ' IN (' . implode(',', array_map([$db, 'quote'], $oldDefaults)) . ') OR ' . $db->quoteName('backup_dir') . ' = ' . $db->quote('')