aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav')
-rwxr-xr-xvendor/sabre/dav/bin/migrateto17.php284
-rw-r--r--vendor/sabre/dav/examples/addressbookserver.php57
-rw-r--r--vendor/sabre/dav/examples/sql/mysql.addressbook.sql28
-rw-r--r--vendor/sabre/dav/examples/sql/mysql.calendars.sql76
-rw-r--r--vendor/sabre/dav/examples/sql/mysql.locks.sql12
-rw-r--r--vendor/sabre/dav/examples/sql/mysql.principals.sql20
-rw-r--r--vendor/sabre/dav/examples/sql/mysql.users.sql9
-rw-r--r--vendor/sabre/dav/examples/sql/pgsql.addressbook.sql52
-rw-r--r--vendor/sabre/dav/examples/sql/pgsql.calendars.sql105
-rw-r--r--vendor/sabre/dav/examples/sql/pgsql.locks.sql19
-rw-r--r--vendor/sabre/dav/examples/sql/pgsql.principals.sql30
-rw-r--r--vendor/sabre/dav/examples/sql/pgsql.users.sql14
-rw-r--r--vendor/sabre/dav/examples/sql/sqlite.addressbooks.sql28
-rw-r--r--vendor/sabre/dav/examples/sql/sqlite.calendars.sql76
-rw-r--r--vendor/sabre/dav/examples/sql/sqlite.locks.sql12
-rw-r--r--vendor/sabre/dav/examples/sql/sqlite.principals.sql20
-rw-r--r--vendor/sabre/dav/examples/sql/sqlite.users.sql9
-rw-r--r--vendor/sabre/dav/examples/webserver/apache2_htaccess.conf16
-rw-r--r--vendor/sabre/dav/examples/webserver/apache2_vhost.conf29
-rw-r--r--vendor/sabre/dav/examples/webserver/apache2_vhost_cgi.conf21
-rw-r--r--vendor/sabre/dav/lib/CalDAV/IShareableCalendar.php48
-rw-r--r--vendor/sabre/dav/lib/CalDAV/ShareableCalendar.php72
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/ShareableCalendarTest.php60
-rw-r--r--vendor/sabre/dav/tests/phpunit.xml40
24 files changed, 0 insertions, 1137 deletions
diff --git a/vendor/sabre/dav/bin/migrateto17.php b/vendor/sabre/dav/bin/migrateto17.php
deleted file mode 100755
index 3ccf0a380..000000000
--- a/vendor/sabre/dav/bin/migrateto17.php
+++ /dev/null
@@ -1,284 +0,0 @@
-#!/usr/bin/env php
-<?php
-
-echo "SabreDAV migrate script for version 1.7\n";
-
-if ($argc<2) {
-
- echo <<<HELLO
-
-This script help you migrate from a pre-1.7 database to 1.7 and later\n
-Both the 'calendarobjects' and 'calendars' tables will be upgraded.
-
-If you do not have this table, or don't use the default PDO CalDAV backend
-it's pointless to run this script.
-
-Keep in mind that some processing will be done on every single record of this
-table and in addition, ALTER TABLE commands will be executed.
-If you have a large calendarobjects table, this may mean that this process
-takes a while.
-
-Usage:
-
-php {$argv[0]} [pdo-dsn] [username] [password]
-
-For example:
-
-php {$argv[0]} "mysql:host=localhost;dbname=sabredav" root password
-php {$argv[0]} sqlite:data/sabredav.db
-
-HELLO;
-
- exit();
-
-}
-
-// There's a bunch of places where the autoloader could be, so we'll try all of
-// them.
-$paths = array(
- __DIR__ . '/../vendor/autoload.php',
- __DIR__ . '/../../../autoload.php',
-);
-
-foreach($paths as $path) {
- if (file_exists($path)) {
- include $path;
- break;
- }
-}
-
-$dsn = $argv[1];
-$user = isset($argv[2])?$argv[2]:null;
-$pass = isset($argv[3])?$argv[3]:null;
-
-echo "Connecting to database: " . $dsn . "\n";
-
-$pdo = new PDO($dsn, $user, $pass);
-$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
-
-echo "Validating existing table layout\n";
-
-// The only cross-db way to do this, is to just fetch a single record.
-$row = $pdo->query("SELECT * FROM calendarobjects LIMIT 1")->fetch();
-
-if (!$row) {
- echo "Error: This database did not have any records in the calendarobjects table, you should just recreate the table.\n";
- exit(-1);
-}
-
-$requiredFields = array(
- 'id',
- 'calendardata',
- 'uri',
- 'calendarid',
- 'lastmodified',
-);
-
-foreach($requiredFields as $requiredField) {
- if (!array_key_exists($requiredField,$row)) {
- echo "Error: The current 'calendarobjects' table was missing a field we expected to exist.\n";
- echo "For safety reasons, this process is stopped.\n";
- exit(-1);
- }
-}
-
-$fields17 = array(
- 'etag',
- 'size',
- 'componenttype',
- 'firstoccurence',
- 'lastoccurence',
-);
-
-$found = 0;
-foreach($fields17 as $field) {
- if (array_key_exists($field, $row)) {
- $found++;
- }
-}
-
-if ($found === 0) {
- echo "The database had the 1.6 schema. Table will now be altered.\n";
- echo "This may take some time for large tables\n";
-
- switch($pdo->getAttribute(PDO::ATTR_DRIVER_NAME)) {
-
- case 'mysql' :
-
- $pdo->exec(<<<SQL
-ALTER TABLE calendarobjects
-ADD etag VARCHAR(32),
-ADD size INT(11) UNSIGNED,
-ADD componenttype VARCHAR(8),
-ADD firstoccurence INT(11) UNSIGNED,
-ADD lastoccurence INT(11) UNSIGNED
-SQL
- );
- break;
- case 'sqlite' :
- $pdo->exec('ALTER TABLE calendarobjects ADD etag text');
- $pdo->exec('ALTER TABLE calendarobjects ADD size integer');
- $pdo->exec('ALTER TABLE calendarobjects ADD componenttype TEXT');
- $pdo->exec('ALTER TABLE calendarobjects ADD firstoccurence integer');
- $pdo->exec('ALTER TABLE calendarobjects ADD lastoccurence integer');
- break;
-
- default :
- die('This upgrade script does not support this driver (' . $pdo->getAttribute(PDO::ATTR_DRIVER_NAME) . ")\n");
-
- }
- echo "Database schema upgraded.\n";
-
-} elseif ($found === 5) {
-
- echo "Database already had the 1.7 schema\n";
-
-} else {
-
- echo "The database had $found out of 5 from the changes for 1.7. This is scary and unusual, so we have to abort.\n";
- echo "You can manually try to upgrade the schema, and then run this script again.\n";
- exit(-1);
-
-}
-
-echo "Now, we need to parse every record and pull out some information.\n";
-
-$result = $pdo->query('SELECT id, calendardata FROM calendarobjects');
-$stmt = $pdo->prepare('UPDATE calendarobjects SET etag = ?, size = ?, componenttype = ?, firstoccurence = ?, lastoccurence = ? WHERE id = ?');
-
-echo "Total records found: " . $result->rowCount() . "\n";
-$done = 0;
-$total = $result->rowCount();
-while($row = $result->fetch()) {
-
- try {
- $newData = getDenormalizedData($row['calendardata']);
- } catch (Exception $e) {
- echo "===\nException caught will trying to parser calendarobject.\n";
- echo "Error message: " . $e->getMessage() . "\n";
- echo "Record id: " . $row['id'] . "\n";
- echo "This record is ignored, you should inspect it to see if there's anything wrong.\n===\n";
- continue;
- }
- $stmt->execute(array(
- $newData['etag'],
- $newData['size'],
- $newData['componentType'],
- $newData['firstOccurence'],
- $newData['lastOccurence'],
- $row['id'],
- ));
- $done++;
-
- if ($done % 500 === 0) {
- echo "Completed: $done / $total\n";
- }
-}
-echo "Completed: $done / $total\n";
-
-echo "Checking the calendars table needs changes.\n";
-$row = $pdo->query("SELECT * FROM calendars LIMIT 1")->fetch();
-
-if (array_key_exists('transparent', $row)) {
-
- echo "The calendars table is already up to date\n";
-
-} else {
-
- echo "Adding the 'transparent' field to the calendars table\n";
-
- switch($pdo->getAttribute(PDO::ATTR_DRIVER_NAME)) {
-
- case 'mysql' :
- $pdo->exec("ALTER TABLE calendars ADD transparent TINYINT(1) NOT NULL DEFAULT '0'");
- break;
- case 'sqlite' :
- $pdo->exec("ALTER TABLE calendars ADD transparent bool");
- break;
-
- default :
- die('This upgrade script does not support this driver (' . $pdo->getAttribute(PDO::ATTR_DRIVER_NAME) . ")\n");
-
- }
-
-}
-
-echo "Process completed!\n";
-
-/**
- * Parses some information from calendar objects, used for optimized
- * calendar-queries.
- *
- * Blantently copied from Sabre\CalDAV\Backend\PDO
- *
- * Returns an array with the following keys:
- * * etag
- * * size
- * * componentType
- * * firstOccurence
- * * lastOccurence
- *
- * @param string $calendarData
- * @return array
- */
-function getDenormalizedData($calendarData) {
-
- $vObject = \Sabre\VObject\Reader::read($calendarData);
- $componentType = null;
- $component = null;
- $firstOccurence = null;
- $lastOccurence = null;
- foreach($vObject->getComponents() as $component) {
- if ($component->name!=='VTIMEZONE') {
- $componentType = $component->name;
- break;
- }
- }
- if (!$componentType) {
- throw new \Sabre\DAV\Exception\BadRequest('Calendar objects must have a VJOURNAL, VEVENT or VTODO component');
- }
- if ($componentType === 'VEVENT') {
- $firstOccurence = $component->DTSTART->getDateTime()->getTimeStamp();
- // Finding the last occurence is a bit harder
- if (!isset($component->RRULE)) {
- if (isset($component->DTEND)) {
- $lastOccurence = $component->DTEND->getDateTime()->getTimeStamp();
- } elseif (isset($component->DURATION)) {
- $endDate = clone $component->DTSTART->getDateTime();
- $endDate->add(\Sabre\VObject\DateTimeParser::parse($component->DURATION->value));
- $lastOccurence = $endDate->getTimeStamp();
- } elseif (!$component->DTSTART->hasTime()) {
- $endDate = clone $component->DTSTART->getDateTime();
- $endDate->modify('+1 day');
- $lastOccurence = $endDate->getTimeStamp();
- } else {
- $lastOccurence = $firstOccurence;
- }
- } else {
- $it = new \Sabre\VObject\Recur\EventIterator($vObject, (string)$component->UID);
- $maxDate = new DateTime(\Sabre\CalDAV\Backend\PDO::MAX_DATE);
- if ($it->isInfinite()) {
- $lastOccurence = $maxDate->getTimeStamp();
- } else {
- $end = $it->getDtEnd();
- while($it->valid() && $end < $maxDate) {
- $end = $it->getDtEnd();
- $it->next();
-
- }
- $lastOccurence = $end->getTimeStamp();
- }
-
- }
- }
-
- return array(
- 'etag' => md5($calendarData),
- 'size' => strlen($calendarData),
- 'componentType' => $componentType,
- 'firstOccurence' => $firstOccurence,
- 'lastOccurence' => $lastOccurence,
- );
-
-}
diff --git a/vendor/sabre/dav/examples/addressbookserver.php b/vendor/sabre/dav/examples/addressbookserver.php
deleted file mode 100644
index 6d1c9b26c..000000000
--- a/vendor/sabre/dav/examples/addressbookserver.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
-
-Addressbook/CardDAV server example
-
-This server features CardDAV support
-
-*/
-
-// settings
-date_default_timezone_set('Canada/Eastern');
-
-// Make sure this setting is turned on and reflect the root url for your WebDAV server.
-// This can be for example the root / or a complete path to your server script
-$baseUri = '/';
-
-/* Database */
-$pdo = new PDO('sqlite:data/db.sqlite');
-$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-
-//Mapping PHP errors to exceptions
-function exception_error_handler($errno, $errstr, $errfile, $errline) {
- throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
-}
-set_error_handler("exception_error_handler");
-
-// Autoloader
-require_once 'vendor/autoload.php';
-
-// Backends
-$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
-$principalBackend = new Sabre\DAVACL\PrincipalBackend\PDO($pdo);
-$carddavBackend = new Sabre\CardDAV\Backend\PDO($pdo);
-//$caldavBackend = new Sabre\CalDAV\Backend\PDO($pdo);
-
-// Setting up the directory tree //
-$nodes = [
- new Sabre\DAVACL\PrincipalCollection($principalBackend),
-// new Sabre\CalDAV\CalendarRoot($authBackend, $caldavBackend),
- new Sabre\CardDAV\AddressBookRoot($principalBackend, $carddavBackend),
-];
-
-// The object tree needs in turn to be passed to the server class
-$server = new Sabre\DAV\Server($nodes);
-$server->setBaseUri($baseUri);
-
-// Plugins
-$server->addPlugin(new Sabre\DAV\Auth\Plugin($authBackend));
-$server->addPlugin(new Sabre\DAV\Browser\Plugin());
-//$server->addPlugin(new Sabre\CalDAV\Plugin());
-$server->addPlugin(new Sabre\CardDAV\Plugin());
-$server->addPlugin(new Sabre\DAVACL\Plugin());
-$server->addPlugin(new Sabre\DAV\Sync\Plugin());
-
-// And off we go!
-$server->exec();
diff --git a/vendor/sabre/dav/examples/sql/mysql.addressbook.sql b/vendor/sabre/dav/examples/sql/mysql.addressbook.sql
deleted file mode 100644
index 5ec8428a7..000000000
--- a/vendor/sabre/dav/examples/sql/mysql.addressbook.sql
+++ /dev/null
@@ -1,28 +0,0 @@
-CREATE TABLE addressbooks (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principaluri VARBINARY(255),
- displayname VARCHAR(255),
- uri VARBINARY(200),
- description TEXT,
- synctoken INT(11) UNSIGNED NOT NULL DEFAULT '1',
- UNIQUE(principaluri(100), uri(100))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-CREATE TABLE cards (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- addressbookid INT(11) UNSIGNED NOT NULL,
- carddata MEDIUMBLOB,
- uri VARBINARY(200),
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-CREATE TABLE addressbookchanges (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- synctoken INT(11) UNSIGNED NOT NULL,
- addressbookid INT(11) UNSIGNED NOT NULL,
- operation TINYINT(1) NOT NULL,
- INDEX addressbookid_synctoken (addressbookid, synctoken)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
diff --git a/vendor/sabre/dav/examples/sql/mysql.calendars.sql b/vendor/sabre/dav/examples/sql/mysql.calendars.sql
deleted file mode 100644
index 21c5bcb44..000000000
--- a/vendor/sabre/dav/examples/sql/mysql.calendars.sql
+++ /dev/null
@@ -1,76 +0,0 @@
-CREATE TABLE calendarobjects (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- calendardata MEDIUMBLOB,
- uri VARBINARY(200),
- calendarid INTEGER UNSIGNED NOT NULL,
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL,
- componenttype VARBINARY(8),
- firstoccurence INT(11) UNSIGNED,
- lastoccurence INT(11) UNSIGNED,
- uid VARBINARY(200),
- UNIQUE(calendarid, uri),
- INDEX calendarid_time (calendarid, firstoccurence)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE calendars (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- synctoken INTEGER UNSIGNED NOT NULL DEFAULT '1',
- components VARBINARY(21)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE calendarinstances (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- calendarid INTEGER UNSIGNED NOT NULL,
- principaluri VARBINARY(100),
- access TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1 = owner, 2 = read, 3 = readwrite',
- displayname VARCHAR(100),
- uri VARBINARY(200),
- description TEXT,
- calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
- calendarcolor VARBINARY(10),
- timezone TEXT,
- transparent TINYINT(1) NOT NULL DEFAULT '0',
- share_href VARBINARY(100),
- share_displayname VARCHAR(100),
- share_invitestatus TINYINT(1) NOT NULL DEFAULT '2' COMMENT '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid',
- UNIQUE(principaluri, uri),
- UNIQUE(calendarid, principaluri),
- UNIQUE(calendarid, share_href)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE calendarchanges (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- synctoken INT(11) UNSIGNED NOT NULL,
- calendarid INT(11) UNSIGNED NOT NULL,
- operation TINYINT(1) NOT NULL,
- INDEX calendarid_synctoken (calendarid, synctoken)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE calendarsubscriptions (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- principaluri VARBINARY(100) NOT NULL,
- source TEXT,
- displayname VARCHAR(100),
- refreshrate VARCHAR(10),
- calendarorder INT(11) UNSIGNED NOT NULL DEFAULT '0',
- calendarcolor VARBINARY(10),
- striptodos TINYINT(1) NULL,
- stripalarms TINYINT(1) NULL,
- stripattachments TINYINT(1) NULL,
- lastmodified INT(11) UNSIGNED,
- UNIQUE(principaluri, uri)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE schedulingobjects (
- id INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principaluri VARBINARY(255),
- calendardata MEDIUMBLOB,
- uri VARBINARY(200),
- lastmodified INT(11) UNSIGNED,
- etag VARBINARY(32),
- size INT(11) UNSIGNED NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
diff --git a/vendor/sabre/dav/examples/sql/mysql.locks.sql b/vendor/sabre/dav/examples/sql/mysql.locks.sql
deleted file mode 100644
index 96a3a88d9..000000000
--- a/vendor/sabre/dav/examples/sql/mysql.locks.sql
+++ /dev/null
@@ -1,12 +0,0 @@
-CREATE TABLE locks (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- owner VARCHAR(100),
- timeout INTEGER UNSIGNED,
- created INTEGER,
- token VARBINARY(100),
- scope TINYINT,
- depth TINYINT,
- uri VARBINARY(1000),
- INDEX(token),
- INDEX(uri(100))
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
diff --git a/vendor/sabre/dav/examples/sql/mysql.principals.sql b/vendor/sabre/dav/examples/sql/mysql.principals.sql
deleted file mode 100644
index ea0d16a27..000000000
--- a/vendor/sabre/dav/examples/sql/mysql.principals.sql
+++ /dev/null
@@ -1,20 +0,0 @@
-CREATE TABLE principals (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- uri VARBINARY(200) NOT NULL,
- email VARBINARY(80),
- displayname VARCHAR(80),
- UNIQUE(uri)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-CREATE TABLE groupmembers (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- principal_id INTEGER UNSIGNED NOT NULL,
- member_id INTEGER UNSIGNED NOT NULL,
- UNIQUE(principal_id, member_id)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-INSERT INTO principals (uri,email,displayname) VALUES
-('principals/admin', 'admin@example.org','Administrator'),
-('principals/admin/calendar-proxy-read', null, null),
-('principals/admin/calendar-proxy-write', null, null);
-
diff --git a/vendor/sabre/dav/examples/sql/mysql.users.sql b/vendor/sabre/dav/examples/sql/mysql.users.sql
deleted file mode 100644
index 22ac312d5..000000000
--- a/vendor/sabre/dav/examples/sql/mysql.users.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-CREATE TABLE users (
- id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
- username VARBINARY(50),
- digesta1 VARBINARY(32),
- UNIQUE(username)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-INSERT INTO users (username,digesta1) VALUES
-('admin', '87fd274b7b6c01e48d7c2f965da8ddf7');
diff --git a/vendor/sabre/dav/examples/sql/pgsql.addressbook.sql b/vendor/sabre/dav/examples/sql/pgsql.addressbook.sql
deleted file mode 100644
index ef2cc5b9a..000000000
--- a/vendor/sabre/dav/examples/sql/pgsql.addressbook.sql
+++ /dev/null
@@ -1,52 +0,0 @@
-CREATE TABLE addressbooks (
- id SERIAL NOT NULL,
- principaluri VARCHAR(255),
- displayname VARCHAR(255),
- uri VARCHAR(200),
- description TEXT,
- synctoken INTEGER NOT NULL DEFAULT 1
-);
-
-ALTER TABLE ONLY addressbooks
- ADD CONSTRAINT addressbooks_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX addressbooks_ukey
- ON addressbooks USING btree (principaluri, uri);
-
-CREATE TABLE cards (
- id SERIAL NOT NULL,
- addressbookid INTEGER NOT NULL,
- carddata TEXT,
- uri VARCHAR(200),
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL
-);
-
-ALTER TABLE ONLY cards
- ADD CONSTRAINT cards_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX cards_ukey
- ON cards USING btree (addressbookid, uri);
-
-ALTER TABLE ONLY cards
- ADD CONSTRAINT cards_addressbookid_fkey FOREIGN KEY (addressbookid) REFERENCES addressbooks(id)
- ON DELETE CASCADE;
-
-CREATE TABLE addressbookchanges (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- synctoken INTEGER NOT NULL,
- addressbookid INTEGER NOT NULL,
- operation SMALLINT NOT NULL
-);
-
-ALTER TABLE ONLY addressbookchanges
- ADD CONSTRAINT addressbookchanges_pkey PRIMARY KEY (id);
-
-CREATE INDEX addressbookchanges_addressbookid_synctoken_ix
- ON addressbookchanges USING btree (addressbookid, synctoken);
-
-ALTER TABLE ONLY addressbookchanges
- ADD CONSTRAINT addressbookchanges_addressbookid_fkey FOREIGN KEY (addressbookid) REFERENCES addressbooks(id)
- ON DELETE CASCADE;
diff --git a/vendor/sabre/dav/examples/sql/pgsql.calendars.sql b/vendor/sabre/dav/examples/sql/pgsql.calendars.sql
deleted file mode 100644
index 67dc41a5a..000000000
--- a/vendor/sabre/dav/examples/sql/pgsql.calendars.sql
+++ /dev/null
@@ -1,105 +0,0 @@
-CREATE TABLE calendarobjects (
- id SERIAL NOT NULL,
- calendardata BYTEA,
- uri VARCHAR(200),
- calendarid INTEGER NOT NULL,
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL,
- componenttype VARCHAR(8),
- firstoccurence INTEGER,
- lastoccurence INTEGER,
- uid VARCHAR(200)
-);
-
-ALTER TABLE ONLY calendarobjects
- ADD CONSTRAINT calendarobjects_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX calendarobjects_ukey
- ON calendarobjects USING btree (calendarid, uri);
-
-
-CREATE TABLE calendars (
- id SERIAL NOT NULL,
- synctoken INTEGER NOT NULL DEFAULT 1,
- components VARCHAR(21)
-);
-
-ALTER TABLE ONLY calendars
- ADD CONSTRAINT calendars_pkey PRIMARY KEY (id);
-
-
-CREATE TABLE calendarinstances (
- id SERIAL NOT NULL,
- calendarid INTEGER NOT NULL,
- principaluri VARCHAR(100),
- access SMALLINT NOT NULL DEFAULT '1', -- '1 = owner, 2 = read, 3 = readwrite'
- displayname VARCHAR(100),
- uri VARCHAR(200),
- description TEXT,
- calendarorder INTEGER NOT NULL DEFAULT 0,
- calendarcolor VARCHAR(10),
- timezone TEXT,
- transparent SMALLINT NOT NULL DEFAULT '0',
- share_href VARCHAR(100),
- share_displayname VARCHAR(100),
- share_invitestatus SMALLINT NOT NULL DEFAULT '2' -- '1 = noresponse, 2 = accepted, 3 = declined, 4 = invalid'
-);
-
-ALTER TABLE ONLY calendarinstances
- ADD CONSTRAINT calendarinstances_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX calendarinstances_principaluri_uri
- ON calendarinstances USING btree (principaluri, uri);
-
-
-CREATE UNIQUE INDEX calendarinstances_principaluri_calendarid
- ON calendarinstances USING btree (principaluri, calendarid);
-
-CREATE UNIQUE INDEX calendarinstances_principaluri_share_href
- ON calendarinstances USING btree (principaluri, share_href);
-
-CREATE TABLE calendarsubscriptions (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- principaluri VARCHAR(100) NOT NULL,
- source TEXT,
- displayname VARCHAR(100),
- refreshrate VARCHAR(10),
- calendarorder INTEGER NOT NULL DEFAULT 0,
- calendarcolor VARCHAR(10),
- striptodos SMALLINT NULL,
- stripalarms SMALLINT NULL,
- stripattachments SMALLINT NULL,
- lastmodified INTEGER
-);
-
-ALTER TABLE ONLY calendarsubscriptions
- ADD CONSTRAINT calendarsubscriptions_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX calendarsubscriptions_ukey
- ON calendarsubscriptions USING btree (principaluri, uri);
-
-CREATE TABLE calendarchanges (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- synctoken INTEGER NOT NULL,
- calendarid INTEGER NOT NULL,
- operation SMALLINT NOT NULL DEFAULT 0
-);
-
-ALTER TABLE ONLY calendarchanges
- ADD CONSTRAINT calendarchanges_pkey PRIMARY KEY (id);
-
-CREATE INDEX calendarchanges_calendarid_synctoken_ix
- ON calendarchanges USING btree (calendarid, synctoken);
-
-CREATE TABLE schedulingobjects (
- id SERIAL NOT NULL,
- principaluri VARCHAR(255),
- calendardata BYTEA,
- uri VARCHAR(200),
- lastmodified INTEGER,
- etag VARCHAR(32),
- size INTEGER NOT NULL
-);
diff --git a/vendor/sabre/dav/examples/sql/pgsql.locks.sql b/vendor/sabre/dav/examples/sql/pgsql.locks.sql
deleted file mode 100644
index 0290528ce..000000000
--- a/vendor/sabre/dav/examples/sql/pgsql.locks.sql
+++ /dev/null
@@ -1,19 +0,0 @@
-CREATE TABLE locks (
- id SERIAL NOT NULL,
- owner VARCHAR(100),
- timeout INTEGER,
- created INTEGER,
- token VARCHAR(100),
- scope SMALLINT,
- depth SMALLINT,
- uri TEXT
-);
-
-ALTER TABLE ONLY locks
- ADD CONSTRAINT locks_pkey PRIMARY KEY (id);
-
-CREATE INDEX locks_token_ix
- ON locks USING btree (token);
-
-CREATE INDEX locks_uri_ix
- ON locks USING btree (uri);
diff --git a/vendor/sabre/dav/examples/sql/pgsql.principals.sql b/vendor/sabre/dav/examples/sql/pgsql.principals.sql
deleted file mode 100644
index 5a65260a2..000000000
--- a/vendor/sabre/dav/examples/sql/pgsql.principals.sql
+++ /dev/null
@@ -1,30 +0,0 @@
-CREATE TABLE principals (
- id SERIAL NOT NULL,
- uri VARCHAR(200) NOT NULL,
- email VARCHAR(80),
- displayname VARCHAR(80)
-);
-
-ALTER TABLE ONLY principals
- ADD CONSTRAINT principals_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX principals_ukey
- ON principals USING btree (uri);
-
-CREATE TABLE groupmembers (
- id SERIAL NOT NULL,
- principal_id INTEGER NOT NULL,
- member_id INTEGER NOT NULL
-);
-
-ALTER TABLE ONLY groupmembers
- ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX groupmembers_ukey
- ON groupmembers USING btree (principal_id, member_id);
-
-INSERT INTO principals (uri,email,displayname) VALUES
-('principals/admin', 'admin@example.org','Administrator'),
-('principals/admin/calendar-proxy-read', null, null),
-('principals/admin/calendar-proxy-write', null, null);
-
diff --git a/vendor/sabre/dav/examples/sql/pgsql.users.sql b/vendor/sabre/dav/examples/sql/pgsql.users.sql
deleted file mode 100644
index 9d6047b8c..000000000
--- a/vendor/sabre/dav/examples/sql/pgsql.users.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-CREATE TABLE users (
- id SERIAL NOT NULL,
- username VARCHAR(50),
- digesta1 VARCHAR(32)
-);
-
-ALTER TABLE ONLY users
- ADD CONSTRAINT users_pkey PRIMARY KEY (id);
-
-CREATE UNIQUE INDEX users_ukey
- ON users USING btree (username);
-
-INSERT INTO users (username,digesta1) VALUES
-('admin', '87fd274b7b6c01e48d7c2f965da8ddf7');
diff --git a/vendor/sabre/dav/examples/sql/sqlite.addressbooks.sql b/vendor/sabre/dav/examples/sql/sqlite.addressbooks.sql
deleted file mode 100644
index 0baed8bfb..000000000
--- a/vendor/sabre/dav/examples/sql/sqlite.addressbooks.sql
+++ /dev/null
@@ -1,28 +0,0 @@
-CREATE TABLE addressbooks (
- id integer primary key asc NOT NULL,
- principaluri text NOT NULL,
- displayname text,
- uri text NOT NULL,
- description text,
- synctoken integer DEFAULT 1 NOT NULL
-);
-
-CREATE TABLE cards (
- id integer primary key asc NOT NULL,
- addressbookid integer NOT NULL,
- carddata blob,
- uri text NOT NULL,
- lastmodified integer,
- etag text,
- size integer
-);
-
-CREATE TABLE addressbookchanges (
- id integer primary key asc NOT NULL,
- uri text,
- synctoken integer NOT NULL,
- addressbookid integer NOT NULL,
- operation integer NOT NULL
-);
-
-CREATE INDEX addressbookid_synctoken ON addressbookchanges (addressbookid, synctoken);
diff --git a/vendor/sabre/dav/examples/sql/sqlite.calendars.sql b/vendor/sabre/dav/examples/sql/sqlite.calendars.sql
deleted file mode 100644
index 1c8070496..000000000
--- a/vendor/sabre/dav/examples/sql/sqlite.calendars.sql
+++ /dev/null
@@ -1,76 +0,0 @@
-CREATE TABLE calendarobjects (
- id integer primary key asc NOT NULL,
- calendardata blob NOT NULL,
- uri text NOT NULL,
- calendarid integer NOT NULL,
- lastmodified integer NOT NULL,
- etag text NOT NULL,
- size integer NOT NULL,
- componenttype text,
- firstoccurence integer,
- lastoccurence integer,
- uid text
-);
-
-CREATE TABLE calendars (
- id integer primary key asc NOT NULL,
- synctoken integer DEFAULT 1 NOT NULL,
- components text NOT NULL
-);
-
-CREATE TABLE calendarinstances (
- id integer primary key asc NOT NULL,
- calendarid integer NOT NULL,
- principaluri text NULL,
- access integer COMMENT '1 = owner, 2 = read, 3 = readwrite' NOT NULL DEFAULT '1',
- displayname text,
- uri text NOT NULL,
- description text,
- calendarorder integer,
- calendarcolor text,
- timezone text,
- transparent bool,
- share_href text,
- share_displayname text,
- share_invitestatus integer DEFAULT '2',
- UNIQUE (principaluri, uri),
- UNIQUE (calendarid, principaluri),
- UNIQUE (calendarid, share_href)
-);
-
-CREATE TABLE calendarchanges (
- id integer primary key asc NOT NULL,
- uri text,
- synctoken integer NOT NULL,
- calendarid integer NOT NULL,
- operation integer NOT NULL
-);
-
-CREATE INDEX calendarid_synctoken ON calendarchanges (calendarid, synctoken);
-
-CREATE TABLE calendarsubscriptions (
- id integer primary key asc NOT NULL,
- uri text NOT NULL,
- principaluri text NOT NULL,
- source text NOT NULL,
- displayname text,
- refreshrate text,
- calendarorder integer,
- calendarcolor text,
- striptodos bool,
- stripalarms bool,
- stripattachments bool,
- lastmodified int
-);
-
-CREATE TABLE schedulingobjects (
- id integer primary key asc NOT NULL,
- principaluri text NOT NULL,
- calendardata blob,
- uri text NOT NULL,
- lastmodified integer,
- etag text NOT NULL,
- size integer NOT NULL
-);
-
-CREATE INDEX principaluri_uri ON calendarsubscriptions (principaluri, uri);
diff --git a/vendor/sabre/dav/examples/sql/sqlite.locks.sql b/vendor/sabre/dav/examples/sql/sqlite.locks.sql
deleted file mode 100644
index 622baea42..000000000
--- a/vendor/sabre/dav/examples/sql/sqlite.locks.sql
+++ /dev/null
@@ -1,12 +0,0 @@
-BEGIN TRANSACTION;
-CREATE TABLE locks (
- id integer primary key asc NOT NULL,
- owner text,
- timeout integer,
- created integer,
- token text,
- scope integer,
- depth integer,
- uri text
-);
-COMMIT;
diff --git a/vendor/sabre/dav/examples/sql/sqlite.principals.sql b/vendor/sabre/dav/examples/sql/sqlite.principals.sql
deleted file mode 100644
index 4105156f8..000000000
--- a/vendor/sabre/dav/examples/sql/sqlite.principals.sql
+++ /dev/null
@@ -1,20 +0,0 @@
-CREATE TABLE principals (
- id INTEGER PRIMARY KEY ASC NOT NULL,
- uri TEXT NOT NULL,
- email TEXT,
- displayname TEXT,
- UNIQUE(uri)
-);
-
-CREATE TABLE groupmembers (
- id INTEGER PRIMARY KEY ASC NOT NULL,
- principal_id INTEGER NOT NULL,
- member_id INTEGER NOT NULL,
- UNIQUE(principal_id, member_id)
-);
-
-
-INSERT INTO principals (uri,email,displayname) VALUES ('principals/admin', 'admin@example.org','Administrator');
-INSERT INTO principals (uri,email,displayname) VALUES ('principals/admin/calendar-proxy-read', null, null);
-INSERT INTO principals (uri,email,displayname) VALUES ('principals/admin/calendar-proxy-write', null, null);
-
diff --git a/vendor/sabre/dav/examples/sql/sqlite.users.sql b/vendor/sabre/dav/examples/sql/sqlite.users.sql
deleted file mode 100644
index 5597b058a..000000000
--- a/vendor/sabre/dav/examples/sql/sqlite.users.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-CREATE TABLE users (
- id integer primary key asc NOT NULL,
- username TEXT NOT NULL,
- digesta1 TEXT NOT NULL,
- UNIQUE(username)
-);
-
-INSERT INTO users (username,digesta1) VALUES
-('admin', '87fd274b7b6c01e48d7c2f965da8ddf7');
diff --git a/vendor/sabre/dav/examples/webserver/apache2_htaccess.conf b/vendor/sabre/dav/examples/webserver/apache2_htaccess.conf
deleted file mode 100644
index c5f29ba80..000000000
--- a/vendor/sabre/dav/examples/webserver/apache2_htaccess.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-RewriteEngine On
-# This makes every request go to server.php
-RewriteRule (.*) server.php [L]
-
-# Output buffering needs to be off, to prevent high memory usage
-php_flag output_buffering off
-
-# This is also to prevent high memory usage
-php_flag always_populate_raw_post_data off
-
-# This is almost a given, but magic quotes is *still* on on some
-# linux distributions
-php_flag magic_quotes_gpc off
-
-# SabreDAV is not compatible with mbstring function overloading
-php_flag mbstring.func_overload off
diff --git a/vendor/sabre/dav/examples/webserver/apache2_vhost.conf b/vendor/sabre/dav/examples/webserver/apache2_vhost.conf
deleted file mode 100644
index 74289641e..000000000
--- a/vendor/sabre/dav/examples/webserver/apache2_vhost.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-# This is a sample configuration to setup a dedicated Apache vhost for WebDAV.
-#
-# The main thing that should be configured is the servername, and the path to
-# your SabreDAV installation (DocumentRoot).
-#
-# This configuration assumed mod_php5 is used, as it sets a few default php
-# settings as well.
-<VirtualHost *:*>
-
- # Don't forget to change the server name
- # ServerName dav.example.org
-
- # The DocumentRoot is also required
- # DocumentRoot /home/sabredav/
-
- RewriteEngine On
- # This makes every request go to server.php
- RewriteRule ^/(.*)$ /server.php [L]
-
- # Output buffering needs to be off, to prevent high memory usage
- php_flag output_buffering off
-
- # This is also to prevent high memory usage
- php_flag always_populate_raw_post_data off
-
- # SabreDAV is not compatible with mbstring function overloading
- php_flag mbstring.func_overload off
-
-</VirtualHost *:*>
diff --git a/vendor/sabre/dav/examples/webserver/apache2_vhost_cgi.conf b/vendor/sabre/dav/examples/webserver/apache2_vhost_cgi.conf
deleted file mode 100644
index 607254c6e..000000000
--- a/vendor/sabre/dav/examples/webserver/apache2_vhost_cgi.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-# This is a sample configuration to setup a dedicated Apache vhost for WebDAV.
-#
-# The main thing that should be configured is the servername, and the path to
-# your SabreDAV installation (DocumentRoot).
-#
-# This configuration assumes CGI or FastCGI is used.
-<VirtualHost *:*>
-
- # Don't forget to change the server name
- # ServerName dav.example.org
-
- # The DocumentRoot is also required
- # DocumentRoot /home/sabredav/
-
- # This makes every request go to server.php. This also makes sure
- # the Authentication information is available. If your server script is
- # not called server.php, be sure to change it.
- RewriteEngine On
- RewriteRule ^/(.*)$ /server.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-
-</VirtualHost *:*>
diff --git a/vendor/sabre/dav/lib/CalDAV/IShareableCalendar.php b/vendor/sabre/dav/lib/CalDAV/IShareableCalendar.php
deleted file mode 100644
index 7420d94f7..000000000
--- a/vendor/sabre/dav/lib/CalDAV/IShareableCalendar.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV;
-
-/**
- * This interface represents a Calendar that can be shared with other users.
- *
- * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-interface IShareableCalendar extends ICalendar {
-
- /**
- * Updates the list of shares.
- *
- * The first array is a list of people that are to be added to the
- * calendar.
- *
- * Every element in the add array has the following properties:
- * * href - A url. Usually a mailto: address
- * * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
- * * readOnly - A boolean value
- *
- * Every element in the remove array is just the address string.
- *
- * @param array $add
- * @param array $remove
- * @return void
- */
- function updateShares(array $add, array $remove);
-
- /**
- * Returns the list of people whom this calendar is shared with.
- *
- * Every element in this array should have the following properties:
- * * href - Often a mailto: address
- * * commonName - Optional, for example a first + last name
- * * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
- * * readOnly - boolean
- * * summary - Optional, a description for the share
- *
- * @return array
- */
- function getShares();
-
-}
diff --git a/vendor/sabre/dav/lib/CalDAV/ShareableCalendar.php b/vendor/sabre/dav/lib/CalDAV/ShareableCalendar.php
deleted file mode 100644
index c81c96300..000000000
--- a/vendor/sabre/dav/lib/CalDAV/ShareableCalendar.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV;
-
-/**
- * This object represents a CalDAV calendar that can be shared with other
- * users.
- *
- * @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 ShareableCalendar extends Calendar implements IShareableCalendar {
-
- /**
- * Updates the list of shares.
- *
- * The first array is a list of people that are to be added to the
- * calendar.
- *
- * Every element in the add array has the following properties:
- * * href - A url. Usually a mailto: address
- * * commonName - Usually a first and last name, or false
- * * summary - A description of the share, can also be false
- * * readOnly - A boolean value
- *
- * Every element in the remove array is just the address string.
- *
- * @param array $add
- * @param array $remove
- * @return void
- */
- function updateShares(array $add, array $remove) {
-
- $this->caldavBackend->updateShares($this->calendarInfo['id'], $add, $remove);
-
- }
-
- /**
- * Returns the list of people whom this calendar is shared with.
- *
- * Every element in this array should have the following properties:
- * * href - Often a mailto: address
- * * commonName - Optional, for example a first + last name
- * * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
- * * readOnly - boolean
- * * summary - Optional, a description for the share
- *
- * @return array
- */
- function getShares() {
-
- return $this->caldavBackend->getShares($this->calendarInfo['id']);
-
- }
-
- /**
- * Marks this calendar as published.
- *
- * Publishing a calendar should automatically create a read-only, public,
- * subscribable calendar.
- *
- * @param bool $value
- * @return void
- */
- function setPublishStatus($value) {
-
- $this->caldavBackend->setPublishStatus($this->calendarInfo['id'], $value);
-
- }
-
-}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ShareableCalendarTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ShareableCalendarTest.php
deleted file mode 100644
index 15b869d50..000000000
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/ShareableCalendarTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-namespace Sabre\CalDAV;
-
-use Sabre\DAVACL;
-
-class ShareableCalendarTest extends \PHPUnit_Framework_TestCase {
-
- protected $backend;
- protected $instance;
-
- function setUp() {
-
- $props = array(
- 'id' => 1,
- );
-
- $this->backend = new Backend\MockSharing(
- array($props)
- );
- $this->backend->updateShares(1, array(
- array(
- 'href' => 'mailto:removeme@example.org',
- 'commonName' => 'To be removed',
- 'readOnly' => true,
- ),
- ), array());
-
- $this->instance = new ShareableCalendar($this->backend, $props);
-
- }
-
- function testUpdateShares() {
-
- $this->instance->updateShares(array(
- array(
- 'href' => 'mailto:test@example.org',
- 'commonName' => 'Foo Bar',
- 'summary' => 'Booh',
- 'readOnly' => false,
- ),
- ), array('mailto:removeme@example.org'));
-
- $this->assertEquals(array(array(
- 'href' => 'mailto:test@example.org',
- 'commonName' => 'Foo Bar',
- 'summary' => 'Booh',
- 'readOnly' => false,
- 'status' => SharingPlugin::STATUS_NORESPONSE,
- )), $this->instance->getShares());
-
- }
-
- function testPublish() {
-
- $this->assertNull($this->instance->setPublishStatus(true));
- $this->assertNull($this->instance->setPublishStatus(false));
-
- }
-}
diff --git a/vendor/sabre/dav/tests/phpunit.xml b/vendor/sabre/dav/tests/phpunit.xml
deleted file mode 100644
index e16ec38b5..000000000
--- a/vendor/sabre/dav/tests/phpunit.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<phpunit
- colors="true"
- bootstrap="bootstrap.php"
- convertErrorsToExceptions="true"
- convertNoticesToExceptions="true"
- convertWarningsToExceptions="true"
- strict="true"
- >
- <testsuite name="sabre-vobject">
- <directory>../vendor/sabre/vobject/tests/VObject</directory>
- </testsuite>
- <testsuite name="sabre-event">
- <directory>../vendor/sabre/event/tests/</directory>
- </testsuite>
- <testsuite name="sabre-http">
- <directory>../vendor/sabre/http/tests/HTTP</directory>
- </testsuite>
- <testsuite name="sabre-dav">
- <directory>Sabre/DAV</directory>
- </testsuite>
- <testsuite name="sabre-davacl">
- <directory>Sabre/DAVACL</directory>
- </testsuite>
- <testsuite name="sabre-caldav">
- <directory>Sabre/CalDAV</directory>
- </testsuite>
- <testsuite name="sabre-carddav">
- <directory>Sabre/CardDAV</directory>
- </testsuite>
-
- <filter>
- <whitelist addUncoveredFilesFromWhitelist="true">
- <directory suffix=".php">../lib/</directory>
- <exclude>
- <file>../lib/Sabre/autoload.php</file>
- <file>../lib/Sabre/VObject/includes.php</file>
- </exclude>
- </whitelist>
- </filter>
-</phpunit>