. /** * IServ enrolment plugin implementation * * This plugin synchronizes courses and their enrolments with an IServ school server. * Based partially on the OSS plugin by Frank Schütte * * @package enrol * @subpackage iserv * @author Jonas Lührig based on code by Frank Schütte based on code by Iñaki Arenaza * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} * @copyright 2010 Iñaki Arenaza * @copyright 2020 Frank Schütte * @copyright 2023 Gruelag GmbH * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace enrol_iserv\task; defined('MOODLE_INTERNAL') || die; /** * Scheduled task to synchronize courses and enrolments */ class sync_enrolments_task extends \core\task\scheduled_task { /** * Get a descriptive name for this task (shown to admins). * * @return string */ public function get_name () { return get_string('sync_task_name', 'enrol_iserv'); } /** * Do the job. * Throw exceptions on errors (the job will be retried). */ public function execute() { global $CFG; require_once ("{$CFG->dirroot}/enrol/iserv/lib.php"); // Ensure required plugins are enabled if (! is_enabled_auth ("ldap")) { debugging ("[AUTH LDAP] " . get_string ("pluginnotenabled", "auth_ldap")); die; } if (! enrol_is_enabled ("iserv")) { debugging ("[ENROL IServ] " . get_string ("pluginnotenabled", "enrol_iserv")); die; } // Sync courses $enrol = enrol_get_plugin ("iserv"); if (! $enrol -> sync_courses ()) { return false; }; return true; } }