@@ -153,7 +164,7 @@ $ajaxUrl = Route::_('index.php?option=com_mokosuitebackup&format=json', false)
document.getElementById('mb-detail-log-body').textContent = 'Error: ' + err.message;
});
- item->status === 'complete' && !empty($this->item->filesexist)) : ?>
+ item->status, ['complete', 'warning']) && !empty($this->item->filesexist)) : ?>
// Load archive contents
function formatFileSize(bytes) {
if (bytes === 0) return '0 B';
diff --git a/source/packages/com_mokosuitebackup/tmpl/backups/default.php b/source/packages/com_mokosuitebackup/tmpl/backups/default.php
index f5e664a..2e3495c 100644
--- a/source/packages/com_mokosuitebackup/tmpl/backups/default.php
+++ b/source/packages/com_mokosuitebackup/tmpl/backups/default.php
@@ -92,12 +92,23 @@ $listDirn = $this->escape($this->state->get('list.direction'));
status) {
'complete' => 'badge bg-success',
+ 'warning' => 'badge bg-warning text-dark',
'running' => 'badge bg-info',
'fail' => 'badge bg-danger',
default => 'badge bg-secondary',
};
+ $statusLabel = match ($item->status) {
+ 'complete' => Text::_('COM_MOKOJOOMBACKUP_STATUS_COMPLETE'),
+ 'warning' => Text::_('COM_MOKOJOOMBACKUP_STATUS_WARNING'),
+ 'running' => Text::_('COM_MOKOJOOMBACKUP_STATUS_RUNNING'),
+ 'fail' => Text::_('COM_MOKOJOOMBACKUP_STATUS_FAIL'),
+ default => $this->escape($item->status),
+ };
?>
- escape($item->status); ?>
+
+ status_message)) : ?>
+
escape($item->status_message); ?>
+
escape($item->backup_type); ?>
diff --git a/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml b/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml
index e6eb337..af326e4 100644
--- a/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml
+++ b/source/packages/mod_mokosuitebackup_cpanel/mod_mokosuitebackup_cpanel.xml
@@ -8,7 +8,7 @@
-->
mod_mokosuitebackup_cpanel
- 01.45.00
+ 01.45.04
2026-06-23
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
index 22bb14b..7d2d339 100644
--- a/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_actionlog_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
Action Log - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-04
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
index 5b1fe35..ecf879e 100644
--- a/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_console_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
Console - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-04
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
index 44f4a47..44679e6 100644
--- a/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_content_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
Content - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-04
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
index 345b8bd..c1a549e 100644
--- a/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_quickicon_mokosuitebackup/mokosuitebackup.xml
@@ -1,7 +1,7 @@
Quick Icon - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-02
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
index 9d0f954..e8acb7a 100644
--- a/source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_system_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
System - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-02
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_system_mokosuitebackup/src/Extension/MokoSuiteBackup.php b/source/packages/plg_system_mokosuitebackup/src/Extension/MokoSuiteBackup.php
index 1e7406a..74b39df 100644
--- a/source/packages/plg_system_mokosuitebackup/src/Extension/MokoSuiteBackup.php
+++ b/source/packages/plg_system_mokosuitebackup/src/Extension/MokoSuiteBackup.php
@@ -259,6 +259,8 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
$maxCount = (int) $profile->retention_count > 0 ? (int) $profile->retention_count : $globalMaxCount;
$pid = (int) $profile->id;
+ $completedStatuses = '(' . $db->quote('complete') . ', ' . $db->quote('warning') . ')';
+
// Delete by age for this profile
$cutoff = date('Y-m-d H:i:s', strtotime("-{$maxAge} days"));
$query = $db->getQuery(true)
@@ -266,7 +268,7 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
->from($db->quoteName('#__mokosuitebackup_records'))
->where($db->quoteName('profile_id') . ' = ' . $pid)
->where($db->quoteName('backupstart') . ' < ' . $db->quote($cutoff))
- ->where($db->quoteName('status') . ' = ' . $db->quote('complete'));
+ ->where($db->quoteName('status') . ' IN ' . $completedStatuses);
$db->setQuery($query);
$expired = $db->loadObjectList();
@@ -279,7 +281,7 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
->select('COUNT(*)')
->from($db->quoteName('#__mokosuitebackup_records'))
->where($db->quoteName('profile_id') . ' = ' . $pid)
- ->where($db->quoteName('status') . ' = ' . $db->quote('complete'));
+ ->where($db->quoteName('status') . ' IN ' . $completedStatuses);
$db->setQuery($query);
$totalCount = (int) $db->loadResult();
@@ -289,7 +291,7 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
->select('id, absolute_path')
->from($db->quoteName('#__mokosuitebackup_records'))
->where($db->quoteName('profile_id') . ' = ' . $pid)
- ->where($db->quoteName('status') . ' = ' . $db->quote('complete'))
+ ->where($db->quoteName('status') . ' IN ' . $completedStatuses)
->order($db->quoteName('backupstart') . ' ASC');
$db->setQuery($query, 0, $excess);
$oldest = $db->loadObjectList();
@@ -306,7 +308,7 @@ final class MokoSuiteBackup extends CMSPlugin implements SubscriberInterface
->from($db->quoteName('#__mokosuitebackup_records', 'r'))
->join('LEFT', $db->quoteName('#__mokosuitebackup_profiles', 'p') . ' ON p.id = r.profile_id')
->where('p.id IS NULL')
- ->where($db->quoteName('r.status') . ' = ' . $db->quote('complete'));
+ ->where($db->quoteName('r.status') . ' IN (' . $db->quote('complete') . ', ' . $db->quote('warning') . ')');
$db->setQuery($query);
$orphans = $db->loadObjectList();
diff --git a/source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
index d9a104f..0b479d1 100644
--- a/source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_task_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
Task - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-02
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml b/source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
index cb64b0d..87aa35d 100644
--- a/source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
+++ b/source/packages/plg_webservices_mokosuitebackup/mokosuitebackup.xml
@@ -7,7 +7,7 @@
-->
Web Services - MokoSuiteBackup
- 01.45.00
+ 01.45.04
2026-06-02
Moko Consulting
hello@mokoconsulting.tech
diff --git a/source/pkg_mokosuitebackup.xml b/source/pkg_mokosuitebackup.xml
index a88829b..78e3372 100644
--- a/source/pkg_mokosuitebackup.xml
+++ b/source/pkg_mokosuitebackup.xml
@@ -8,7 +8,7 @@
Package - MokoSuiteBackup
mokosuitebackup
- 01.45.00
+ 01.45.04
2026-06-02
Moko Consulting
hello@mokoconsulting.tech
|