/** * * @param array $usr_ids * @param type $type */ public function assignUsersToGroup(array $usr_ids) { global $ilCtrl; $group_id = (int) $_REQUEST['grp_id']; $tomorrow = new ilDateTime(time(), IL_CAL_UNIX); $tomorrow->increment(IL_CAL_DAY, 1); // Get all future consultation hours include_once './Services/Calendar/classes/ConsultationHours/class.ilConsultationHourAppointments.php'; include_once './Services/Booking/classes/class.ilBookingEntry.php'; $apps = ilConsultationHourAppointments::getAppointmentIdsByGroup($this->user_id, $group_id, $tomorrow); $users = $usr_ids; $assigned_users = array(); foreach ($apps as $app) { $booking = ilBookingEntry::getInstanceByCalendarEntryId($app); foreach ($users as $user) { if ($booking->getCurrentNumberOfBookings($app) >= $booking->getNumberOfBookings()) { break; } if (!ilBookingEntry::lookupBookingsOfUser($apps, $user)) { include_once './Services/Calendar/classes/ConsultationHours/class.ilConsultationHourUtils.php'; ilConsultationHourUtils::bookAppointment($user, $app); $assigned_users[] = $user; } } } $this->sendInfoAboutUnassignedUsers(array_diff($users, $assigned_users)); $ilCtrl->redirect($this, 'bookingList'); }