示例#1
0
 /**
  * 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;
 }