ILIAS  release_8 Revision v8.24
ilCalendarScheduleFilterBookings Class Reference

Calendar schedule filter for consultation hour bookings. More...

+ Inheritance diagram for ilCalendarScheduleFilterBookings:
+ Collaboration diagram for ilCalendarScheduleFilterBookings:

Public Member Functions

 __construct (int $a_user_id, ?array $a_consultation_hour_group_ids=null)
 
 filterCategories (array $a_cats)
 @inheritDoc More...
 
 modifyEvent (ilCalendarEntry $a_event)
 @inheritDoc More...
 
 addCustomEvents (ilDate $start, ilDate $end, array $a_categories)
 @inheritDoc More...
 
 filterCategories (array $a_cats)
 
 modifyEvent (ilCalendarEntry $a_event)
 Modifies event properties. More...
 
 addCustomEvents (ilDate $start, ilDate $end, array $a_categories)
 Add (return) an array of custom ilCalendarEntry's. More...
 

Protected Attributes

int $user_id
 
array $group_ids = []
 
ilCalendarCategories $cats
 
ilObjUser $user
 

Detailed Description

Calendar schedule filter for consultation hour bookings.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 12 of file class.ilCalendarScheduleFilterBookings.php.

Constructor & Destructor Documentation

◆ __construct()

ilCalendarScheduleFilterBookings::__construct ( int  $a_user_id,
?array  $a_consultation_hour_group_ids = null 
)

Definition at line 19 of file class.ilCalendarScheduleFilterBookings.php.

20 {
21 global $DIC;
22
23 $this->user_id = $a_user_id;
24 $this->group_ids = $a_consultation_hour_group_ids;
26 $this->user = $DIC->user();
27 }
static _getInstance($a_usr_id=0)
get singleton instance
global $DIC
Definition: feed.php:28

References $DIC, ilCalendarCategories\_getInstance(), and ILIAS\Repository\user().

+ Here is the call graph for this function:

Member Function Documentation

◆ addCustomEvents()

ilCalendarScheduleFilterBookings::addCustomEvents ( ilDate  $start,
ilDate  $end,
array  $a_categories 
)

@inheritDoc

Implements ilCalendarScheduleFilter.

Definition at line 67 of file class.ilCalendarScheduleFilterBookings.php.

67 : array
68 {
69 return [];
70 }

◆ filterCategories()

ilCalendarScheduleFilterBookings::filterCategories ( array  $a_cats)

@inheritDoc

Implements ilCalendarScheduleFilter.

Definition at line 32 of file class.ilCalendarScheduleFilterBookings.php.

32 : array
33 {
34 return $a_cats;
35 }

◆ modifyEvent()

ilCalendarScheduleFilterBookings::modifyEvent ( ilCalendarEntry  $a_event)

@inheritDoc

Implements ilCalendarScheduleFilter.

Definition at line 40 of file class.ilCalendarScheduleFilterBookings.php.

41 {
42 $booking = new ilBookingEntry($a_event->getContextId());
43 // do not show bookings of foreign users
44 if ($booking->getObjId() != $this->user_id) {
45 return null;
46 }
47 // portfolio embedded: filter by consultation hour groups?
48 if (!is_array($this->group_ids) ||
49 in_array($booking->getBookingGroup(), $this->group_ids)) {
50 // do not filter against course/group in portfolio
51 if ($this->cats->getMode() == ilCalendarCategories::MODE_PORTFOLIO_CONSULTATION) {
52 $booking->setTargetObjIds(null);
53 }
54
55 if (($this->user_id == $this->user->getId() ||
56 !$booking->isBookedOut($a_event->getEntryId(), true)) &&
57 $booking->isTargetObjectVisible($this->cats->getTargetRefId())) {
58 return $a_event;
59 }
60 }
61 return null;
62 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ilCalendarEntry\getContextId(), ilCalendarEntry\getEntryId(), ilCalendarCategories\MODE_PORTFOLIO_CONSULTATION, and ILIAS\Repository\user().

+ Here is the call graph for this function:

Field Documentation

◆ $cats

ilCalendarCategories ilCalendarScheduleFilterBookings::$cats
protected

Definition at line 16 of file class.ilCalendarScheduleFilterBookings.php.

◆ $group_ids

array ilCalendarScheduleFilterBookings::$group_ids = []
protected

Definition at line 15 of file class.ilCalendarScheduleFilterBookings.php.

◆ $user

ilObjUser ilCalendarScheduleFilterBookings::$user
protected

Definition at line 17 of file class.ilCalendarScheduleFilterBookings.php.

◆ $user_id

int ilCalendarScheduleFilterBookings::$user_id
protected

Definition at line 14 of file class.ilCalendarScheduleFilterBookings.php.


The documentation for this class was generated from the following file: