aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-05-10 17:26:44 -0700
committerredmatrix <git@macgirvin.com>2016-05-10 17:26:44 -0700
commit0b02a6d123b2014705998c94ddf3d460948d3eac (patch)
tree78ff2cab9944a4f5ab3f80ec93cbe1120de90bb2 /vendor/sabre/dav/lib/Sabre/CalDAV/Notifications
parent40b5b6e9d2da7ab65c8b4d38cdceac83a4d78deb (diff)
downloadvolse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.tar.gz
volse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.tar.bz2
volse-hubzilla-0b02a6d123b2014705998c94ddf3d460948d3eac.zip
initial sabre upgrade (needs lots of work - to wit: authentication, redo the browser interface, and rework event export/import)
Diffstat (limited to 'vendor/sabre/dav/lib/Sabre/CalDAV/Notifications')
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Collection.php173
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/ICollection.php24
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INode.php38
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INotificationType.php44
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Node.php192
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/Invite.php324
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php218
-rw-r--r--vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php182
8 files changed, 0 insertions, 1195 deletions
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Collection.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Collection.php
deleted file mode 100644
index 028b00d87..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Collection.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications;
-
-use Sabre\DAV;
-use Sabre\CalDAV;
-use Sabre\DAVACL;
-
-/**
- * This node represents a list of notifications.
- *
- * It provides no additional functionality, but you must implement this
- * interface to allow the Notifications plugin to mark the collection
- * as a notifications collection.
- *
- * This collection should only return Sabre\CalDAV\Notifications\INode nodes as
- * its children.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class Collection extends DAV\Collection implements ICollection, DAVACL\IACL {
-
- /**
- * The notification backend
- *
- * @var Sabre\CalDAV\Backend\NotificationSupport
- */
- protected $caldavBackend;
-
- /**
- * Principal uri
- *
- * @var string
- */
- protected $principalUri;
-
- /**
- * Constructor
- *
- * @param CalDAV\Backend\NotificationSupport $caldavBackend
- * @param string $principalUri
- */
- public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri) {
-
- $this->caldavBackend = $caldavBackend;
- $this->principalUri = $principalUri;
-
- }
-
- /**
- * Returns all notifications for a principal
- *
- * @return array
- */
- public function getChildren() {
-
- $children = array();
- $notifications = $this->caldavBackend->getNotificationsForPrincipal($this->principalUri);
-
- foreach($notifications as $notification) {
-
- $children[] = new Node(
- $this->caldavBackend,
- $this->principalUri,
- $notification
- );
- }
-
- return $children;
-
- }
-
- /**
- * Returns the name of this object
- *
- * @return string
- */
- public function getName() {
-
- return 'notifications';
-
- }
-
- /**
- * Returns the owner principal
- *
- * This must be a url to a principal, or null if there's no owner
- *
- * @return string|null
- */
- public function getOwner() {
-
- return $this->principalUri;
-
- }
-
- /**
- * Returns a group principal
- *
- * This must be a url to a principal, or null if there's no owner
- *
- * @return string|null
- */
- public function getGroup() {
-
- return null;
-
- }
-
- /**
- * Returns a list of ACE's for this node.
- *
- * Each ACE has the following properties:
- * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
- * currently the only supported privileges
- * * 'principal', a url to the principal who owns the node
- * * 'protected' (optional), indicating that this ACE is not allowed to
- * be updated.
- *
- * @return array
- */
- public function getACL() {
-
- return array(
- array(
- 'principal' => $this->getOwner(),
- 'privilege' => '{DAV:}read',
- 'protected' => true,
- ),
- array(
- 'principal' => $this->getOwner(),
- 'privilege' => '{DAV:}write',
- 'protected' => true,
- )
- );
-
- }
-
- /**
- * Updates the ACL
- *
- * This method will receive a list of new ACE's as an array argument.
- *
- * @param array $acl
- * @return void
- */
- public function setACL(array $acl) {
-
- throw new DAV\Exception\NotImplemented('Updating ACLs is not implemented here');
-
- }
-
- /**
- * Returns the list of supported privileges for this node.
- *
- * The returned data structure is a list of nested privileges.
- * See Sabre\DAVACL\Plugin::getDefaultSupportedPrivilegeSet for a simple
- * standard structure.
- *
- * If null is returned from this method, the default privilege set is used,
- * which is fine for most common usecases.
- *
- * @return array|null
- */
- public function getSupportedPrivilegeSet() {
-
- return null;
-
- }
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/ICollection.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/ICollection.php
deleted file mode 100644
index 26e13b211..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/ICollection.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications;
-
-use Sabre\DAV;
-
-/**
- * This node represents a list of notifications.
- *
- * It provides no additional functionality, but you must implement this
- * interface to allow the Notifications plugin to mark the collection
- * as a notifications collection.
- *
- * This collection should only return Sabre\CalDAV\Notifications\INode nodes as
- * its children.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-interface ICollection extends DAV\ICollection {
-
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INode.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INode.php
deleted file mode 100644
index cd7fc5798..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INode.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications;
-
-/**
- * This node represents a single notification.
- *
- * The signature is mostly identical to that of Sabre\DAV\IFile, but the get() method
- * MUST return an xml document that matches the requirements of the
- * 'caldav-notifications.txt' spec.
- *
- * For a complete example, check out the Notification class, which contains
- * some helper functions.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-interface INode {
-
- /**
- * This method must return an xml element, using the
- * Sabre\CalDAV\Notifications\INotificationType classes.
- *
- * @return INotificationType
- */
- function getNotificationType();
-
- /**
- * Returns the etag for the notification.
- *
- * The etag must be surrounded by litteral double-quotes.
- *
- * @return string
- */
- function getETag();
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INotificationType.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INotificationType.php
deleted file mode 100644
index b646399b9..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/INotificationType.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications;
-use Sabre\DAV;
-
-/**
- * This interface reflects a single notification type.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-interface INotificationType extends DAV\PropertyInterface {
-
- /**
- * This method serializes the entire notification, as it is used in the
- * response body.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- function serializeBody(DAV\Server $server, \DOMElement $node);
-
- /**
- * Returns a unique id for this notification
- *
- * This is just the base url. This should generally be some kind of unique
- * id.
- *
- * @return string
- */
- function getId();
-
- /**
- * Returns the ETag for this notification.
- *
- * The ETag must be surrounded by literal double-quotes.
- *
- * @return string
- */
- function getETag();
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Node.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Node.php
deleted file mode 100644
index 6367e9388..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Node.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications;
-
-use Sabre\DAV;
-use Sabre\CalDAV;
-use Sabre\DAVACL;
-
-/**
- * This node represents a single notification.
- *
- * The signature is mostly identical to that of Sabre\DAV\IFile, but the get() method
- * MUST return an xml document that matches the requirements of the
- * 'caldav-notifications.txt' spec.
-
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class Node extends DAV\File implements INode, DAVACL\IACL {
-
- /**
- * The notification backend
- *
- * @var Sabre\CalDAV\Backend\NotificationSupport
- */
- protected $caldavBackend;
-
- /**
- * The actual notification
- *
- * @var Sabre\CalDAV\Notifications\INotificationType
- */
- protected $notification;
-
- /**
- * Owner principal of the notification
- *
- * @var string
- */
- protected $principalUri;
-
- /**
- * Constructor
- *
- * @param CalDAV\Backend\NotificationSupport $caldavBackend
- * @param string $principalUri
- * @param CalDAV\Notifications\INotificationType $notification
- */
- public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri, INotificationType $notification) {
-
- $this->caldavBackend = $caldavBackend;
- $this->principalUri = $principalUri;
- $this->notification = $notification;
-
- }
-
- /**
- * Returns the path name for this notification
- *
- * @return id
- */
- public function getName() {
-
- return $this->notification->getId() . '.xml';
-
- }
-
- /**
- * Returns the etag for the notification.
- *
- * The etag must be surrounded by litteral double-quotes.
- *
- * @return string
- */
- public function getETag() {
-
- return $this->notification->getETag();
-
- }
-
- /**
- * This method must return an xml element, using the
- * Sabre\CalDAV\Notifications\INotificationType classes.
- *
- * @return INotificationType
- */
- public function getNotificationType() {
-
- return $this->notification;
-
- }
-
- /**
- * Deletes this notification
- *
- * @return void
- */
- public function delete() {
-
- $this->caldavBackend->deleteNotification($this->getOwner(), $this->notification);
-
- }
-
- /**
- * Returns the owner principal
- *
- * This must be a url to a principal, or null if there's no owner
- *
- * @return string|null
- */
- public function getOwner() {
-
- return $this->principalUri;
-
- }
-
- /**
- * Returns a group principal
- *
- * This must be a url to a principal, or null if there's no owner
- *
- * @return string|null
- */
- public function getGroup() {
-
- return null;
-
- }
-
- /**
- * Returns a list of ACE's for this node.
- *
- * Each ACE has the following properties:
- * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
- * currently the only supported privileges
- * * 'principal', a url to the principal who owns the node
- * * 'protected' (optional), indicating that this ACE is not allowed to
- * be updated.
- *
- * @return array
- */
- public function getACL() {
-
- return array(
- array(
- 'principal' => $this->getOwner(),
- 'privilege' => '{DAV:}read',
- 'protected' => true,
- ),
- array(
- 'principal' => $this->getOwner(),
- 'privilege' => '{DAV:}write',
- 'protected' => true,
- )
- );
-
- }
-
- /**
- * Updates the ACL
- *
- * This method will receive a list of new ACE's as an array argument.
- *
- * @param array $acl
- * @return void
- */
- public function setACL(array $acl) {
-
- throw new DAV\Exception\NotImplemented('Updating ACLs is not implemented here');
-
- }
-
- /**
- * Returns the list of supported privileges for this node.
- *
- * The returned data structure is a list of nested privileges.
- * See Sabre\DAVACL\Plugin::getDefaultSupportedPrivilegeSet for a simple
- * standard structure.
- *
- * If null is returned from this method, the default privilege set is used,
- * which is fine for most common usecases.
- *
- * @return array|null
- */
- public function getSupportedPrivilegeSet() {
-
- return null;
-
- }
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/Invite.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/Invite.php
deleted file mode 100644
index 8d6974d45..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/Invite.php
+++ /dev/null
@@ -1,324 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications\Notification;
-
-use Sabre\CalDAV\SharingPlugin as SharingPlugin;
-use Sabre\DAV;
-use Sabre\CalDAV;
-
-/**
- * This class represents the cs:invite-notification notification element.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class Invite extends DAV\Property implements CalDAV\Notifications\INotificationType {
-
- /**
- * A unique id for the message
- *
- * @var string
- */
- protected $id;
-
- /**
- * Timestamp of the notification
- *
- * @var DateTime
- */
- protected $dtStamp;
-
- /**
- * A url to the recipient of the notification. This can be an email
- * address (mailto:), or a principal url.
- *
- * @var string
- */
- protected $href;
-
- /**
- * The type of message, see the SharingPlugin::STATUS_* constants.
- *
- * @var int
- */
- protected $type;
-
- /**
- * True if access to a calendar is read-only.
- *
- * @var bool
- */
- protected $readOnly;
-
- /**
- * A url to the shared calendar.
- *
- * @var string
- */
- protected $hostUrl;
-
- /**
- * Url to the sharer of the calendar
- *
- * @var string
- */
- protected $organizer;
-
- /**
- * The name of the sharer.
- *
- * @var string
- */
- protected $commonName;
-
- /**
- * The name of the sharer.
- *
- * @var string
- */
- protected $firstName;
-
- /**
- * The name of the sharer.
- *
- * @var string
- */
- protected $lastName;
-
- /**
- * A description of the share request
- *
- * @var string
- */
- protected $summary;
-
- /**
- * The Etag for the notification
- *
- * @var string
- */
- protected $etag;
-
- /**
- * The list of supported components
- *
- * @var Sabre\CalDAV\Property\SupportedCalendarComponentSet
- */
- protected $supportedComponents;
-
- /**
- * Creates the Invite notification.
- *
- * This constructor receives an array with the following elements:
- *
- * * id - A unique id
- * * etag - The etag
- * * dtStamp - A DateTime object with a timestamp for the notification.
- * * type - The type of notification, see SharingPlugin::STATUS_*
- * constants for details.
- * * readOnly - This must be set to true, if this is an invite for
- * read-only access to a calendar.
- * * hostUrl - A url to the shared calendar.
- * * organizer - Url to the sharer principal.
- * * commonName - The real name of the sharer (optional).
- * * firstName - The first name of the sharer (optional).
- * * lastName - The last name of the sharer (optional).
- * * summary - Description of the share, can be the same as the
- * calendar, but may also be modified (optional).
- * * supportedComponents - An instance of
- * Sabre\CalDAV\Property\SupportedCalendarComponentSet.
- * This allows the client to determine which components
- * will be supported in the shared calendar. This is
- * also optional.
- *
- * @param array $values All the options
- */
- public function __construct(array $values) {
-
- $required = array(
- 'id',
- 'etag',
- 'href',
- 'dtStamp',
- 'type',
- 'readOnly',
- 'hostUrl',
- 'organizer',
- );
- foreach($required as $item) {
- if (!isset($values[$item])) {
- throw new \InvalidArgumentException($item . ' is a required constructor option');
- }
- }
-
- foreach($values as $key=>$value) {
- if (!property_exists($this, $key)) {
- throw new \InvalidArgumentException('Unknown option: ' . $key);
- }
- $this->$key = $value;
- }
-
- }
-
- /**
- * Serializes the notification as a single property.
- *
- * You should usually just encode the single top-level element of the
- * notification.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serialize(DAV\Server $server, \DOMElement $node) {
-
- $prop = $node->ownerDocument->createElement('cs:invite-notification');
- $node->appendChild($prop);
-
- }
-
- /**
- * This method serializes the entire notification, as it is used in the
- * response body.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serializeBody(DAV\Server $server, \DOMElement $node) {
-
- $doc = $node->ownerDocument;
-
- $dt = $doc->createElement('cs:dtstamp');
- $this->dtStamp->setTimezone(new \DateTimezone('GMT'));
- $dt->appendChild($doc->createTextNode($this->dtStamp->format('Ymd\\THis\\Z')));
- $node->appendChild($dt);
-
- $prop = $doc->createElement('cs:invite-notification');
- $node->appendChild($prop);
-
- $uid = $doc->createElement('cs:uid');
- $uid->appendChild( $doc->createTextNode($this->id) );
- $prop->appendChild($uid);
-
- $href = $doc->createElement('d:href');
- $href->appendChild( $doc->createTextNode( $this->href ) );
- $prop->appendChild($href);
-
- $nodeName = null;
- switch($this->type) {
-
- case SharingPlugin::STATUS_ACCEPTED :
- $nodeName = 'cs:invite-accepted';
- break;
- case SharingPlugin::STATUS_DECLINED :
- $nodeName = 'cs:invite-declined';
- break;
- case SharingPlugin::STATUS_DELETED :
- $nodeName = 'cs:invite-deleted';
- break;
- case SharingPlugin::STATUS_NORESPONSE :
- $nodeName = 'cs:invite-noresponse';
- break;
-
- }
- $prop->appendChild(
- $doc->createElement($nodeName)
- );
- $hostHref = $doc->createElement('d:href', $server->getBaseUri() . $this->hostUrl);
- $hostUrl = $doc->createElement('cs:hosturl');
- $hostUrl->appendChild($hostHref);
- $prop->appendChild($hostUrl);
-
- $access = $doc->createElement('cs:access');
- if ($this->readOnly) {
- $access->appendChild($doc->createElement('cs:read'));
- } else {
- $access->appendChild($doc->createElement('cs:read-write'));
- }
- $prop->appendChild($access);
-
- $organizerUrl = $doc->createElement('cs:organizer');
- // If the organizer contains a 'mailto:' part, it means it should be
- // treated as absolute.
- if (strtolower(substr($this->organizer,0,7))==='mailto:') {
- $organizerHref = new DAV\Property\Href($this->organizer, false);
- } else {
- $organizerHref = new DAV\Property\Href($this->organizer, true);
- }
- $organizerHref->serialize($server, $organizerUrl);
-
- if ($this->commonName) {
- $commonName = $doc->createElement('cs:common-name');
- $commonName->appendChild($doc->createTextNode($this->commonName));
- $organizerUrl->appendChild($commonName);
-
- $commonNameOld = $doc->createElement('cs:organizer-cn');
- $commonNameOld->appendChild($doc->createTextNode($this->commonName));
- $prop->appendChild($commonNameOld);
-
- }
- if ($this->firstName) {
- $firstName = $doc->createElement('cs:first-name');
- $firstName->appendChild($doc->createTextNode($this->firstName));
- $organizerUrl->appendChild($firstName);
-
- $firstNameOld = $doc->createElement('cs:organizer-first');
- $firstNameOld->appendChild($doc->createTextNode($this->firstName));
- $prop->appendChild($firstNameOld);
- }
- if ($this->lastName) {
- $lastName = $doc->createElement('cs:last-name');
- $lastName->appendChild($doc->createTextNode($this->lastName));
- $organizerUrl->appendChild($lastName);
-
- $lastNameOld = $doc->createElement('cs:organizer-last');
- $lastNameOld->appendChild($doc->createTextNode($this->lastName));
- $prop->appendChild($lastNameOld);
- }
- $prop->appendChild($organizerUrl);
-
- if ($this->summary) {
- $summary = $doc->createElement('cs:summary');
- $summary->appendChild($doc->createTextNode($this->summary));
- $prop->appendChild($summary);
- }
- if ($this->supportedComponents) {
-
- $xcomp = $doc->createElement('cal:supported-calendar-component-set');
- $this->supportedComponents->serialize($server, $xcomp);
- $prop->appendChild($xcomp);
-
- }
-
- }
-
- /**
- * Returns a unique id for this notification
- *
- * This is just the base url. This should generally be some kind of unique
- * id.
- *
- * @return string
- */
- public function getId() {
-
- return $this->id;
-
- }
-
- /**
- * Returns the ETag for this notification.
- *
- * The ETag must be surrounded by literal double-quotes.
- *
- * @return string
- */
- public function getETag() {
-
- return $this->etag;
-
- }
-
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php
deleted file mode 100644
index e40751346..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications\Notification;
-
-use Sabre\CalDAV\SharingPlugin as SharingPlugin;
-use Sabre\DAV;
-use Sabre\CalDAV;
-
-/**
- * This class represents the cs:invite-reply notification element.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class InviteReply extends DAV\Property implements CalDAV\Notifications\INotificationType {
-
- /**
- * A unique id for the message
- *
- * @var string
- */
- protected $id;
-
- /**
- * Timestamp of the notification
- *
- * @var DateTime
- */
- protected $dtStamp;
-
- /**
- * The unique id of the notification this was a reply to.
- *
- * @var string
- */
- protected $inReplyTo;
-
- /**
- * A url to the recipient of the original (!) notification.
- *
- * @var string
- */
- protected $href;
-
- /**
- * The type of message, see the SharingPlugin::STATUS_ constants.
- *
- * @var int
- */
- protected $type;
-
- /**
- * A url to the shared calendar.
- *
- * @var string
- */
- protected $hostUrl;
-
- /**
- * A description of the share request
- *
- * @var string
- */
- protected $summary;
-
- /**
- * Notification Etag
- *
- * @var string
- */
- protected $etag;
-
- /**
- * Creates the Invite Reply Notification.
- *
- * This constructor receives an array with the following elements:
- *
- * * id - A unique id
- * * etag - The etag
- * * dtStamp - A DateTime object with a timestamp for the notification.
- * * inReplyTo - This should refer to the 'id' of the notification
- * this is a reply to.
- * * type - The type of notification, see SharingPlugin::STATUS_*
- * constants for details.
- * * hostUrl - A url to the shared calendar.
- * * summary - Description of the share, can be the same as the
- * calendar, but may also be modified (optional).
- */
- public function __construct(array $values) {
-
- $required = array(
- 'id',
- 'etag',
- 'href',
- 'dtStamp',
- 'inReplyTo',
- 'type',
- 'hostUrl',
- );
- foreach($required as $item) {
- if (!isset($values[$item])) {
- throw new \InvalidArgumentException($item . ' is a required constructor option');
- }
- }
-
- foreach($values as $key=>$value) {
- if (!property_exists($this, $key)) {
- throw new \InvalidArgumentException('Unknown option: ' . $key);
- }
- $this->$key = $value;
- }
-
- }
-
- /**
- * Serializes the notification as a single property.
- *
- * You should usually just encode the single top-level element of the
- * notification.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serialize(DAV\Server $server, \DOMElement $node) {
-
- $prop = $node->ownerDocument->createElement('cs:invite-reply');
- $node->appendChild($prop);
-
- }
-
- /**
- * This method serializes the entire notification, as it is used in the
- * response body.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serializeBody(DAV\Server $server, \DOMElement $node) {
-
- $doc = $node->ownerDocument;
-
- $dt = $doc->createElement('cs:dtstamp');
- $this->dtStamp->setTimezone(new \DateTimezone('GMT'));
- $dt->appendChild($doc->createTextNode($this->dtStamp->format('Ymd\\THis\\Z')));
- $node->appendChild($dt);
-
- $prop = $doc->createElement('cs:invite-reply');
- $node->appendChild($prop);
-
- $uid = $doc->createElement('cs:uid');
- $uid->appendChild($doc->createTextNode($this->id));
- $prop->appendChild($uid);
-
- $inReplyTo = $doc->createElement('cs:in-reply-to');
- $inReplyTo->appendChild( $doc->createTextNode($this->inReplyTo) );
- $prop->appendChild($inReplyTo);
-
- $href = $doc->createElement('d:href');
- $href->appendChild( $doc->createTextNode($this->href) );
- $prop->appendChild($href);
-
- $nodeName = null;
- switch($this->type) {
-
- case SharingPlugin::STATUS_ACCEPTED :
- $nodeName = 'cs:invite-accepted';
- break;
- case SharingPlugin::STATUS_DECLINED :
- $nodeName = 'cs:invite-declined';
- break;
-
- }
- $prop->appendChild(
- $doc->createElement($nodeName)
- );
- $hostHref = $doc->createElement('d:href', $server->getBaseUri() . $this->hostUrl);
- $hostUrl = $doc->createElement('cs:hosturl');
- $hostUrl->appendChild($hostHref);
- $prop->appendChild($hostUrl);
-
- if ($this->summary) {
- $summary = $doc->createElement('cs:summary');
- $summary->appendChild($doc->createTextNode($this->summary));
- $prop->appendChild($summary);
- }
-
- }
-
- /**
- * Returns a unique id for this notification
- *
- * This is just the base url. This should generally be some kind of unique
- * id.
- *
- * @return string
- */
- public function getId() {
-
- return $this->id;
-
- }
-
- /**
- * Returns the ETag for this notification.
- *
- * The ETag must be surrounded by literal double-quotes.
- *
- * @return string
- */
- public function getETag() {
-
- return $this->etag;
-
- }
-}
diff --git a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php b/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php
deleted file mode 100644
index 608892dab..000000000
--- a/vendor/sabre/dav/lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php
+++ /dev/null
@@ -1,182 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV\Notifications\Notification;
-
-use Sabre\DAV;
-use Sabre\CalDAV;
-
-/**
- * SystemStatus notification
- *
- * This notification can be used to indicate to the user that the system is
- * down.
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class SystemStatus extends DAV\Property implements CalDAV\Notifications\INotificationType {
-
- const TYPE_LOW = 1;
- const TYPE_MEDIUM = 2;
- const TYPE_HIGH = 3;
-
- /**
- * A unique id
- *
- * @var string
- */
- protected $id;
-
- /**
- * The type of alert. This should be one of the TYPE_ constants.
- *
- * @var int
- */
- protected $type;
-
- /**
- * A human-readable description of the problem.
- *
- * @var string
- */
- protected $description;
-
- /**
- * A url to a website with more information for the user.
- *
- * @var string
- */
- protected $href;
-
- /**
- * Notification Etag
- *
- * @var string
- */
- protected $etag;
-
- /**
- * Creates the notification.
- *
- * Some kind of unique id should be provided. This is used to generate a
- * url.
- *
- * @param string $id
- * @param string $etag
- * @param int $type
- * @param string $description
- * @param string $href
- */
- public function __construct($id, $etag, $type = self::TYPE_HIGH, $description = null, $href = null) {
-
- $this->id = $id;
- $this->type = $type;
- $this->description = $description;
- $this->href = $href;
- $this->etag = $etag;
-
- }
-
- /**
- * Serializes the notification as a single property.
- *
- * You should usually just encode the single top-level element of the
- * notification.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serialize(DAV\Server $server, \DOMElement $node) {
-
- switch($this->type) {
- case self::TYPE_LOW :
- $type = 'low';
- break;
- case self::TYPE_MEDIUM :
- $type = 'medium';
- break;
- default :
- case self::TYPE_HIGH :
- $type = 'high';
- break;
- }
-
- $prop = $node->ownerDocument->createElement('cs:systemstatus');
- $prop->setAttribute('type', $type);
-
- $node->appendChild($prop);
-
- }
-
- /**
- * This method serializes the entire notification, as it is used in the
- * response body.
- *
- * @param DAV\Server $server
- * @param \DOMElement $node
- * @return void
- */
- public function serializeBody(DAV\Server $server, \DOMElement $node) {
-
- switch($this->type) {
- case self::TYPE_LOW :
- $type = 'low';
- break;
- case self::TYPE_MEDIUM :
- $type = 'medium';
- break;
- default :
- case self::TYPE_HIGH :
- $type = 'high';
- break;
- }
-
- $prop = $node->ownerDocument->createElement('cs:systemstatus');
- $prop->setAttribute('type', $type);
-
- if ($this->description) {
- $text = $node->ownerDocument->createTextNode($this->description);
- $desc = $node->ownerDocument->createElement('cs:description');
- $desc->appendChild($text);
- $prop->appendChild($desc);
- }
- if ($this->href) {
- $text = $node->ownerDocument->createTextNode($this->href);
- $href = $node->ownerDocument->createElement('d:href');
- $href->appendChild($text);
- $prop->appendChild($href);
- }
-
- $node->appendChild($prop);
-
- }
-
- /**
- * Returns a unique id for this notification
- *
- * This is just the base url. This should generally be some kind of unique
- * id.
- *
- * @return string
- */
- public function getId() {
-
- return $this->id;
-
- }
-
- /*
- * Returns the ETag for this notification.
- *
- * The ETag must be surrounded by literal double-quotes.
- *
- * @return string
- */
- public function getETag() {
-
- return $this->etag;
-
- }
-}