65 $server->on(
'schedule', [$this,
'schedule'], 120);
93 if (!$iTipMessage->significantChange) {
94 if (!$iTipMessage->scheduleStatus) {
95 $iTipMessage->scheduleStatus =
'1.0;We got the message, but it\'s not significant enough to warrant an email';
100 $summary = $iTipMessage->message->VEVENT->SUMMARY;
102 if (parse_url($iTipMessage->sender, PHP_URL_SCHEME) !==
'mailto')
105 if (parse_url($iTipMessage->recipient, PHP_URL_SCHEME) !==
'mailto')
108 $sender = substr($iTipMessage->sender, 7);
109 $recipient = substr($iTipMessage->recipient, 7);
111 if ($iTipMessage->senderName) {
112 $sender = $iTipMessage->senderName .
' <' . $sender .
'>';
114 if ($iTipMessage->recipientName) {
115 $recipient = $iTipMessage->recipientName .
' <' . $recipient .
'>';
118 $subject =
'SabreDAV iTIP message';
119 switch (strtoupper($iTipMessage->method)) {
127 $subject =
'Cancelled: ' .
$summary;
132 'Reply-To: ' . $sender,
134 'Content-Type: text/calendar; charset=UTF-8; method=' . $iTipMessage->method,
142 $iTipMessage->message->serialize(),
145 $iTipMessage->scheduleStatus =
'1.1; Scheduling message is sent via iMip';
161 protected function mail($to, $subject, $body, array $headers) {
163 mail($to, $subject, $body, implode(
"\r\n", $headers));
184 'description' =>
'Email delivery (rfc6047) for CalDAV scheduling',
185 'link' =>
'http://sabre.io/dav/scheduling/',
The baseclass for all server plugins.
This is the abstract base class for both the Request and Response objects.
const VERSION
Full version number.
schedule(ITip\Message $iTipMessage)
Event handler for the 'schedule' event.
__construct($senderEmail)
Creates the email handler.
initialize(DAV\Server $server)
mail($to, $subject, $body, array $headers)
This function is responsible for sending the actual email.
getPluginName()
Returns a plugin name.
getPluginInfo()
Returns a bunch of meta-data about the plugin.