diff --git a/src/packages/plg_system_mokowaas/Field/DemoTaskInfoField.php b/src/packages/plg_system_mokowaas/Field/DemoTaskInfoField.php
index 2acec673..99504135 100644
--- a/src/packages/plg_system_mokowaas/Field/DemoTaskInfoField.php
+++ b/src/packages/plg_system_mokowaas/Field/DemoTaskInfoField.php
@@ -66,10 +66,52 @@ class DemoTaskInfoField extends FormField
// Parse schedule from execution_rules
$rules = json_decode($task['execution_rules'] ?? '{}', true);
- $schedule = $rules['cron-expression'] ?? 'Not set';
+ $ruleType = $rules['rule-type'] ?? '';
- // Friendly schedule labels
- $friendlySchedule = $this->friendlySchedule($schedule);
+ switch ($ruleType)
+ {
+ case 'cron-expression':
+ $schedule = $rules['cron-expression'] ?? '';
+ $friendlySchedule = $this->friendlySchedule($schedule);
+ break;
+
+ case 'interval-minutes':
+ $mins = (int) ($rules['interval-minutes'] ?? 0);
+
+ if ($mins >= 1440 && $mins % 1440 === 0)
+ {
+ $days = $mins / 1440;
+ $schedule = 'Every ' . $days . ' day' . ($days > 1 ? 's' : '');
+ }
+ elseif ($mins >= 60 && $mins % 60 === 0)
+ {
+ $hours = $mins / 60;
+ $schedule = 'Every ' . $hours . ' hour' . ($hours > 1 ? 's' : '');
+ }
+ else
+ {
+ $schedule = 'Every ' . $mins . ' minute' . ($mins !== 1 ? 's' : '');
+ }
+
+ $friendlySchedule = $schedule;
+ break;
+
+ case 'interval-hours':
+ $hours = (int) ($rules['interval-hours'] ?? 0);
+ $schedule = 'Every ' . $hours . ' hour' . ($hours !== 1 ? 's' : '');
+ $friendlySchedule = $schedule;
+ break;
+
+ case 'interval-days':
+ $days = (int) ($rules['interval-days'] ?? 0);
+ $schedule = 'Every ' . $days . ' day' . ($days !== 1 ? 's' : '');
+ $friendlySchedule = $schedule;
+ break;
+
+ default:
+ $schedule = $ruleType ?: 'Not set';
+ $friendlySchedule = 'Custom';
+ }
// Next execution
$nextExec = $task['next_execution'] ?? '';
@@ -135,14 +177,26 @@ class DemoTaskInfoField extends FormField
// Link to edit the task
$editLink = Route::_('index.php?option=com_scheduler&task=task.edit&id=' . $taskId);
+ // Task params
+ $taskParams = json_decode($task['params'] ?? '{}', true) ?: [];
+ $bannerOn = !empty($taskParams['banner_enabled']) && (int) $taskParams['banner_enabled'] === 1;
+ $mediaOn = !empty($taskParams['include_media']) && (int) $taskParams['include_media'] === 1;
+ $countdownOn = !empty($taskParams['show_countdown']) && (int) $taskParams['show_countdown'] === 1;
+
+ // Check if snapshot exists
+ $snapshotExists = is_dir(JPATH_ROOT . '/mokowaas-snapshots/default');
+
// Build info card
return '
'
- . '
'
- . '| Status | ' . $stateBadge . ' |
'
- . '| Schedule | ' . htmlspecialchars($schedule) . ' (' . htmlspecialchars($friendlySchedule) . ') |
'
+ . ''
+ . '| Status | ' . $stateBadge . ' |
'
+ . '| Schedule | ' . htmlspecialchars($friendlySchedule) . ' |
'
. '| Next Reset | ' . htmlspecialchars($nextFormatted) . ' ' . $nextBadge . ' |
'
. '| Last Reset | ' . htmlspecialchars($lastFormatted) . ' |
'
. '| Runs | ' . (int) ($task['times_executed'] ?? 0) . ' executed, ' . (int) ($task['times_failed'] ?? 0) . ' failed |
'
+ . '| Baseline | ' . ($snapshotExists ? 'Saved' : 'Not taken yet') . ' |
'
+ . '| Banner | ' . ($bannerOn ? 'On' : 'Off') . ($countdownOn ? ' + countdown' : '') . ' |
'
+ . '| Images | ' . ($mediaOn ? 'Included' : 'Excluded') . ' |
'
. '
'
. ''
. ' Manage Scheduled Task'