/** * Handle user_enrolment_deleted event * * Tasks * - remove user from course usergroups. * * @param \core\event\user_enrolment_deleted $event The triggered event. * @return bool Success/Failure. */ public static function handle_user_enrolment_deleted(\core\event\user_enrolment_deleted $event) { global $DB; if (\local_o365\utils::is_configured() !== true) { return false; } $userid = $event->relateduserid; $courseid = $event->courseid; if (empty($userid) || empty($courseid)) { return true; } try { // Remove user from course usergroup. $configsetting = get_config('local_o365', 'creategroups'); if (!empty($configsetting)) { $httpclient = new \local_o365\httpclient(); $clientdata = \local_o365\oauth2\clientdata::instance_from_oidc(); $aadresource = \local_o365\rest\azuread::get_resource(); $aadtoken = \local_o365\oauth2\systemtoken::instance(null, $aadresource, $clientdata, $httpclient); if (!empty($aadtoken)) { $aadclient = new \local_o365\rest\azuread($aadtoken, $httpclient); $aadclient->remove_user_from_course_group($courseid, $userid); return true; } } } catch (\Exception $e) { \local_o365\utils::debug($e->getMessage()); } return false; }