From 91ae2c25b4859f8b22423a341c2e18c32619e2e7 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 26 Jul 2022 11:22:54 +0100 Subject: [PATCH] MDL-75308 task: explicit check for tasks of disabled plugins. The enabled state of a plugin is a tri-state value (boolean or null). We should be consistent with elsewhere by only considering boolean false as an actually disabled plugin. See also cdcb53a1 for similar change in task management. --- admin/tool/task/renderer.php | 5 ++--- lib/classes/task/task_base.php | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/admin/tool/task/renderer.php b/admin/tool/task/renderer.php index 1491ef28184..691da67fadf 100644 --- a/admin/tool/task/renderer.php +++ b/admin/tool/task/renderer.php @@ -213,10 +213,9 @@ class tool_task_renderer extends plugin_renderer_base { * @return string HTML. */ public function next_run_time(scheduled_task $task): string { - $plugininfo = core_plugin_manager::instance()->get_plugin_info($task->get_component()); - $nextrun = $task->get_next_run_time(); - if ($plugininfo && $plugininfo->is_enabled() === false && !$task->get_run_if_component_disabled()) { + + if (!$task->is_component_enabled() && !$task->get_run_if_component_disabled()) { $nextrun = get_string('plugindisabled', 'tool_task'); } else if ($task->get_disabled()) { $nextrun = get_string('taskdisabled', 'tool_task'); diff --git a/lib/classes/task/task_base.php b/lib/classes/task/task_base.php index 92af0ace79b..ab64cd96a64 100644 --- a/lib/classes/task/task_base.php +++ b/lib/classes/task/task_base.php @@ -254,7 +254,7 @@ abstract class task_base { return true; } else { $plugininfo = core_plugin_manager::instance()->get_plugin_info($component); - return $plugininfo && $plugininfo->is_enabled(); + return $plugininfo && ($plugininfo->is_enabled() !== false); } } }