public function confirmedUnsubscribe() { global $ilCtrl, $ilAccess, $ilUser; if (!sizeof($_POST["ref_id"])) { $ilCtrl->redirect($this, "manage"); } foreach ($_POST["ref_id"] as $ref_id) { if ($ilAccess->checkAccess("leave", "", $ref_id)) { switch (ilObject::_lookupType($ref_id, true)) { case "crs": // see ilObjCourseGUI:performUnsubscribeObject() include_once "Modules/Course/classes/class.ilCourseParticipants.php"; $members = new ilCourseParticipants(ilObject::_lookupObjId($ref_id)); $members->delete($ilUser->getId()); $members->sendUnsubscribeNotificationToAdmins($ilUser->getId()); $members->sendNotification($members->NOTIFY_UNSUBSCRIBE, $ilUser->getId()); break; case "grp": // see ilObjGroupGUI:performUnsubscribeObject() include_once "Modules/Group/classes/class.ilGroupParticipants.php"; $members = new ilGroupParticipants(ilObject::_lookupObjId($ref_id)); $members->delete($ilUser->getId()); include_once './Modules/Group/classes/class.ilGroupMembershipMailNotification.php'; $members->sendNotification(ilGroupMembershipMailNotification::TYPE_UNSUBSCRIBE_MEMBER, $ilUser->getId()); $members->sendNotification(ilGroupMembershipMailNotification::TYPE_NOTIFICATION_UNSUBSCRIBE, $ilUser->getId()); break; default: // do nothing continue; } include_once './Modules/Forum/classes/class.ilForumNotification.php'; ilForumNotification::checkForumsExistsDelete($ref_id, $ilUser->getId()); } } ilUtil::sendSuccess($this->lng->txt("settings_saved"), true); $ilCtrl->redirectByClass("ilpersonaldesktopgui", "show"); }