aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php')
-rw-r--r--calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php72
1 files changed, 72 insertions, 0 deletions
diff --git a/calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php b/calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php
new file mode 100644
index 0000000..c27c678
--- /dev/null
+++ b/calendar/lib/SabreDAV/lib/OldSabre/CardDAV/Property/SupportedAddressData.php
@@ -0,0 +1,72 @@
+<?php
+
+namespace OldSabre\CardDAV\Property;
+
+use OldSabre\DAV;
+use OldSabre\CardDAV;
+
+/**
+ * Supported-address-data property
+ *
+ * This property is a representation of the supported-address-data property
+ * in the CardDAV namespace.
+ *
+ * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
+ * @author Evert Pot (http://evertpot.com/)
+ * @license http://sabre.io/license/ Modified BSD License
+ */
+class SupportedAddressData extends DAV\Property {
+
+ /**
+ * supported versions
+ *
+ * @var array
+ */
+ protected $supportedData = array();
+
+ /**
+ * Creates the property
+ *
+ * @param array|null $supportedData
+ */
+ public function __construct(array $supportedData = null) {
+
+ if (is_null($supportedData)) {
+ $supportedData = array(
+ array('contentType' => 'text/vcard', 'version' => '3.0'),
+ // array('contentType' => 'text/vcard', 'version' => '4.0'),
+ );
+ }
+
+ $this->supportedData = $supportedData;
+
+ }
+
+ /**
+ * Serializes the property in a DOMDocument
+ *
+ * @param DAV\Server $server
+ * @param \DOMElement $node
+ * @return void
+ */
+ public function serialize(DAV\Server $server,\DOMElement $node) {
+
+ $doc = $node->ownerDocument;
+
+ $prefix =
+ isset($server->xmlNamespaces[CardDAV\Plugin::NS_CARDDAV]) ?
+ $server->xmlNamespaces[CardDAV\Plugin::NS_CARDDAV] :
+ 'card';
+
+ foreach($this->supportedData as $supported) {
+
+ $caldata = $doc->createElementNS(CardDAV\Plugin::NS_CARDDAV, $prefix . ':address-data-type');
+ $caldata->setAttribute('content-type',$supported['contentType']);
+ $caldata->setAttribute('version',$supported['version']);
+ $node->appendChild($caldata);
+
+ }
+
+ }
+
+}

© 2014-2024 Faster IT GmbH | imprint | privacy policy