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
This commit is contained in:
+5
-4
@@ -233,11 +233,12 @@ class Pkg_MokoSuiteBackupInstallerScript
|
||||
{
|
||||
try {
|
||||
$db = Factory::getDbo();
|
||||
// Check for profiles using the old in-webroot default
|
||||
// Check for profiles using old literal defaults — migrate to [DEFAULT_DIR]
|
||||
$oldDefaults = [
|
||||
'administrator/components/com_mokosuitebackup/backups',
|
||||
'administrator/components/com_mokojoombackup/backups',
|
||||
'[DEFAULT_DIR]',
|
||||
'./backups',
|
||||
'backups',
|
||||
];
|
||||
$query = $db->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('')
|
||||
|
||||
Reference in New Issue
Block a user