/** * delete multiple entries */ public function delete() { if (!isset($_POST['apps'])) { ilUtil::sendFailure($this->lng->txt('select_one')); return $this->appointmentList(); } include_once 'Services/Calendar/classes/class.ilCalendarEntry.php'; include_once 'Services/Calendar/classes/class.ilCalendarCategoryAssignments.php'; foreach ($_POST['apps'] as $entry_id) { // cancel booking for users $booking = ilBookingEntry::getInstanceByCalendarEntryId($entry_id); if ($booking) { foreach ($booking->getCurrentBookings($entry_id) as $user_id) { include_once './Services/Calendar/classes/ConsultationHours/class.ilConsultationHourUtils.php'; ilConsultationHourUtils::cancelBooking($user_id, $entry_id, false); } } // remove calendar entries include_once './Services/Calendar/classes/class.ilCalendarEntry.php'; $entry = new ilCalendarEntry($entry_id); $entry->delete(); ilCalendarCategoryAssignments::_deleteByAppointmentId($entry_id); } ilBookingEntry::removeObsoleteEntries(); ilUtil::sendSuccess($this->lng->txt('cal_deleted_app'), true); $this->ctrl->redirect($this, 'appointmentList'); }