ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
The ITip class is a utility class that helps with processing so-called iTip messages. More...
Public Member Functions | |
processMessage (Message $itipMessage, VCalendar $existingObject=null) | |
This method is used to process an incoming itip message. More... | |
parseEvent ($calendar=null, $userHref, $oldCalendar=null) | |
This function parses a VCALENDAR object and figure out if any messages need to be sent. More... | |
Data Fields | |
$scheduleAgentServerRules = true | |
$significantChangeProperties | |
Protected Member Functions | |
processMessageRequest (Message $itipMessage, VCalendar $existingObject=null) | |
Processes incoming REQUEST messages. More... | |
processMessageCancel (Message $itipMessage, VCalendar $existingObject=null) | |
Processes incoming CANCEL messages. More... | |
processMessageReply (Message $itipMessage, VCalendar $existingObject=null) | |
Processes incoming REPLY messages. More... | |
parseEventForOrganizer (VCalendar $calendar, array $eventInfo, array $oldEventInfo) | |
This method is used in cases where an event got updated, and we potentially need to send emails to attendees to let them know of updates in the events. More... | |
parseEventForAttendee (VCalendar $calendar, array $eventInfo, array $oldEventInfo, $attendee) | |
Parse an event update for an attendee. More... | |
parseEventInfo (VCalendar $calendar=null) | |
Returns attendee information and information about instances of an event. More... | |
The ITip class is a utility class that helps with processing so-called iTip messages.
iTip is defined in rfc5546, stands for iCalendar Transport-Independent Interoperability Protocol, and describes the underlying mechanism for using iCalendar for scheduling for for example through email (also known as IMip) and CalDAV Scheduling.
This class helps by:
Definition at line 38 of file Broker.php.
Sabre\VObject\ITip\Broker::parseEvent | ( | $calendar = null , |
|
$userHref, | |||
$oldCalendar = null |
|||
) |
This function parses a VCALENDAR object and figure out if any messages need to be sent.
A VCALENDAR object will be created from the perspective of either an attendee, or an organizer. You must pass a string identifying the current user, so we can figure out who in the list of attendees or the organizer we are sending this message on behalf of.
It's possible to specify the current user as an array, in case the user has more than one identifying href (such as multiple emails).
It $oldCalendar is specified, it is assumed that the operation is updating an existing event, which means that we need to look at the differences between events, and potentially send old attendees cancellations, and current attendees updates.
If $calendar is null, but $oldCalendar is specified, we treat the operation as if the user has deleted an event. If the user was an organizer, this means that we need to send cancellation notices to people. If the user was an attendee, we need to make sure that the organizer gets the 'declined' message.
VCalendar | string | $calendar | |
string | array | $userHref | |
VCalendar | string | $oldCalendar |
Definition at line 169 of file Broker.php.
References $calendar, $key, Sabre\VObject\ITip\Broker\parseEventForAttendee(), Sabre\VObject\ITip\Broker\parseEventForOrganizer(), Sabre\VObject\ITip\Broker\parseEventInfo(), and Sabre\VObject\Reader\read().
|
protected |
Parse an event update for an attendee.
This function figures out if we need to send a reply to an organizer.
VCalendar | $calendar | |
array | $eventInfo | |
array | $oldEventInfo | |
string | $attendee |
Definition at line 645 of file Broker.php.
References $message, $summary, Sabre\VObject\Component\add(), and Sabre\VObject\DateTimeParser\parse().
Referenced by Sabre\VObject\ITip\Broker\parseEvent().
|
protected |
This method is used in cases where an event got updated, and we potentially need to send emails to attendees to let them know of updates in the events.
We will detect which attendees got added, which got removed and create specific messages for these situations.
VCalendar | $calendar | |
array | $eventInfo | |
array | $oldEventInfo |
Definition at line 468 of file Broker.php.
References $exceptions, $message, $messages, and Sabre\VObject\Component\select().
Referenced by Sabre\VObject\ITip\Broker\parseEvent().
|
protected |
Returns attendee information and information about instances of an event.
Returns an array with the following keys:
VCalendar | $calendar |
Definition at line 831 of file Broker.php.
References $calendar, and $key.
Referenced by Sabre\VObject\ITip\Broker\parseEvent().
Sabre\VObject\ITip\Broker::processMessage | ( | Message | $itipMessage, |
VCalendar | $existingObject = null |
||
) |
This method is used to process an incoming itip message.
Examples:
The $existingObject is updated in-place. If there is no existing object (because it's a new invite for example) a new object will be created.
If an existing object does not exist, and the method was CANCEL or REPLY, the message effectively gets ignored, and no 'existingObject' will be created.
The updated $existingObject is also returned from this function.
If the iTip message was not supported, we will always return false.
Message | $itipMessage | |
VCalendar | $existingObject |
Definition at line 112 of file Broker.php.
References Sabre\VObject\ITip\Broker\processMessageCancel(), Sabre\VObject\ITip\Broker\processMessageReply(), and Sabre\VObject\ITip\Broker\processMessageRequest().
|
protected |
Processes incoming CANCEL messages.
This is a message from an organizer, and means that either an attendee got removed from an event, or an event got cancelled altogether.
Message | $itipMessage | |
VCalendar | $existingObject |
Definition at line 315 of file Broker.php.
Referenced by Sabre\VObject\ITip\Broker\processMessage().
|
protected |
Processes incoming REPLY messages.
The message is a reply. This is for example an attendee telling an organizer he accepted the invite, or declined it.
Message | $itipMessage | |
VCalendar | $existingObject |
Definition at line 341 of file Broker.php.
Referenced by Sabre\VObject\ITip\Broker\processMessage().
|
protected |
Processes incoming REQUEST messages.
This is message from an organizer, and is either a new event invite, or an update to an existing one.
Message | $itipMessage | |
VCalendar | $existingObject |
Definition at line 279 of file Broker.php.
Referenced by Sabre\VObject\ITip\Broker\processMessage().
Sabre\VObject\ITip\Broker::$scheduleAgentServerRules = true |
Definition at line 55 of file Broker.php.
Sabre\VObject\ITip\Broker::$significantChangeProperties |
Definition at line 69 of file Broker.php.