diff options
Diffstat (limited to 'vendor/sabre/dav/lib/Sabre/CalDAV/Notifications')
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; - - } -} |