From 3528bce1a6679d0beb39aa7767d7c3a858d0884d Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Fri, 22 Mar 2019 14:03:43 +0800 Subject: [PATCH 1/3] MDL-65051 plagiarism: convert legacy cron function to task --- lib/classes/task/plagiarism_cron_task.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/classes/task/plagiarism_cron_task.php b/lib/classes/task/plagiarism_cron_task.php index b5010a891d1..9d600ff944a 100644 --- a/lib/classes/task/plagiarism_cron_task.php +++ b/lib/classes/task/plagiarism_cron_task.php @@ -44,8 +44,22 @@ class plagiarism_cron_task extends scheduled_task { public function execute() { global $CFG; - require_once($CFG->libdir.'/plagiarismlib.php'); - plagiarism_cron(); + if (!empty($CFG->enableplagiarism)) { + require_once($CFG->libdir.'/plagiarismlib.php'); + $plagiarismplugins = plagiarism_load_available_plugins(); + foreach ($plagiarismplugins as $plugin => $dir) { + require_once($dir . '/lib.php'); + $plagiarismclass = "plagiarism_plugin_$plugin"; + $plagiarismplugin = new $plagiarismclass; + if (method_exists($plagiarismplugin, 'cron')) { + mtrace('Processing cron function for plagiarism_plugin_' . $plugin . '...', ''); + cron_trace_time_and_memory(); + mtrace('It has been detected the class ' . $plagiarismclass . ' has a legacy cron method + implemented. Plagiarism plugins should implement their own schedule tasks.', ''); + $plagiarismplugin->cron(); + } + } + } } } From 39802ea08a37d1d2f2246de91bd8229b552e9bd7 Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Wed, 27 Mar 2019 11:35:34 +0800 Subject: [PATCH 2/3] MDL-65051 core: delete plagiarism_cron() function --- lib/plagiarismlib.php | 22 +--------------------- plagiarism/upgrade.txt | 3 +++ 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/lib/plagiarismlib.php b/lib/plagiarismlib.php index 0492ad1aafa..5f6207f96f0 100644 --- a/lib/plagiarismlib.php +++ b/lib/plagiarismlib.php @@ -160,27 +160,7 @@ function plagiarism_print_disclosure($cmid) { } return $output; } -/** - * used by admin/cron.php to get similarity scores from submitted files. - * - */ -function plagiarism_cron() { - global $CFG; - if (empty($CFG->enableplagiarism)) { - return ''; - } - $plagiarismplugins = plagiarism_load_available_plugins(); - foreach($plagiarismplugins as $plugin => $dir) { - require_once($dir.'/lib.php'); - $plagiarismclass = "plagiarism_plugin_$plugin"; - $plagiarismplugin = new $plagiarismclass; - if (method_exists($plagiarismplugin, 'cron')) { - mtrace('Processing cron function for plagiarism_plugin_' . $plugin . '...', ''); - cron_trace_time_and_memory(); - $plagiarismplugin->cron(); - } - } -} + /** * helper function - also loads lib file of plagiarism plugin * @return array of available plugins diff --git a/plagiarism/upgrade.txt b/plagiarism/upgrade.txt index 67d625cabbf..e43b51082e8 100644 --- a/plagiarism/upgrade.txt +++ b/plagiarism/upgrade.txt @@ -1,4 +1,7 @@ This files describes API changes for code that uses the plagiarism API. +=== 3.7 === + +* The plagiarism_cron() function has been deleted, plugins should implement their own scheduled tasks. === 3.4 === From 42f58d99f9aaf4668bcc86e7fd76e335c3582dfc Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Wed, 27 Mar 2019 11:37:01 +0800 Subject: [PATCH 3/3] MDL-65051 core: delete duplicated plagiarism_cron() --- plagiarism/lib.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/plagiarism/lib.php b/plagiarism/lib.php index 9cfd91d0bc7..c86c5da34bb 100644 --- a/plagiarism/lib.php +++ b/plagiarism/lib.php @@ -97,17 +97,4 @@ abstract class plagiarism_plugin { */ public function update_status($course, $cm) { } - - /** - * Deprecated cron method. - * - * This method was added by mistake in the previous versions of Moodle, do not override it since it is never called. - * To implement cron you need to register a scheduled task, see https://docs.moodle.org/dev/Task_API. - * For backward compatibility with the old cron API the method cron() from this class can also be used. - * - * @deprecated since Moodle 3.1 MDL-52702 - please use scheduled tasks instead. - */ - public function plagiarism_cron() { - debugging('plagiarism_plugin::plagiarism_cron() is deprecated. Please use scheduled tasks instead', DEBUG_DEVELOPER); - } }