. /** * Adhoc task for LDAP user sync. * * @package auth_ldap * @copyright Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace auth_ldap\task; use core\task\adhoc_task; /** * Adhoc task class for LDAP user sync. * * @package auth_ldap * @copyright Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class asynchronous_sync_task extends adhoc_task { /** @var string Message prefix for mtrace */ protected const MTRACE_MSG = 'Synced ldap users'; /** * Constructor */ public function __construct() { $this->set_blocking(false); $this->set_component('auth_ldap'); } /** * Run users sync. */ public function execute() { $data = $this->get_custom_data(); /** @var auth_plugin_ldap $auth */ $auth = get_auth_plugin('ldap'); $auth->update_users($data->users, $data->updatekeys); mtrace(sprintf(" %s (%d)", self::MTRACE_MSG, count($data->users))); } }