Differences Between: [Versions 310 and 400] [Versions 311 and 400] [Versions 39 and 400]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * A scheduled task. 19 * 20 * @package core 21 * @copyright 2015 Josh Willcock 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 namespace core\task; 25 26 /** 27 * Simple task to run the regular completion cron. 28 * @copyright 2015 Josh Willcock 29 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later. 30 */ 31 class completion_regular_task extends scheduled_task { 32 33 /** 34 * Get a descriptive name for this task (shown to admins). 35 * 36 * @return string 37 */ 38 public function get_name() { 39 return get_string('taskcompletionregular', 'admin'); 40 } 41 42 /** 43 * Do the job. 44 * Throw exceptions on errors (the job will be retried). 45 */ 46 public function execute() { 47 global $CFG, $COMPLETION_CRITERIA_TYPES, $DB; 48 49 if ($CFG->enablecompletion) { 50 require_once($CFG->libdir . "/completionlib.php"); 51 52 // Process each criteria type. 53 foreach ($COMPLETION_CRITERIA_TYPES as $type) { 54 $object = 'completion_criteria_' . $type; 55 require_once($CFG->dirroot . '/completion/criteria/' . $object . '.php'); 56 57 $class = new $object(); 58 // Run the criteria type's cron method, if it has one. 59 if (method_exists($class, 'cron')) { 60 if (debugging()) { 61 mtrace('Running '.$object.'->cron()'); 62 } 63 $class->cron(); 64 } 65 } 66 67 aggregate_completions(0, true); 68 } 69 } 70 71 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body