Reworked ics handling by using sabre vobject

This results in more clean ics files, which for example respect spaces
which occur directly after a internal line break.
This commit is contained in:
Tim Schumacher 2016-06-02 16:01:44 +02:00
parent 7c30f8956e
commit b3a4836a10
10 changed files with 204 additions and 780 deletions

275
composer.lock generated
View file

@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "929ec448ee4bd9047bda7086b30492ef",
"content-hash": "855e0330604c2434a4fbbc453c11e2b0",
"hash": "b653fb6b6230d43a6048e92f7b208ff8",
"content-hash": "3a7c343089ce6886d5fefe973df0b6cc",
"packages": [
{
"name": "doctrine/annotations",
@ -1583,95 +1583,21 @@
"time": "2012-12-21 11:40:51"
},
{
"name": "sabre/dav",
"version": "2.1.10",
"name": "sabre/uri",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/fruux/sabre-dav.git",
"reference": "9f8c1939a3f66eb7170489fc48579ffd1461af62"
"url": "https://github.com/fruux/sabre-uri.git",
"reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruux/sabre-dav/zipball/9f8c1939a3f66eb7170489fc48579ffd1461af62",
"reference": "9f8c1939a3f66eb7170489fc48579ffd1461af62",
"url": "https://api.github.com/repos/fruux/sabre-uri/zipball/9012116434d84ef6e5e37a89dfdbfbe2204a8704",
"reference": "9012116434d84ef6e5e37a89dfdbfbe2204a8704",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-date": "*",
"ext-dom": "*",
"ext-iconv": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-pcre": "*",
"ext-simplexml": "*",
"ext-spl": "*",
"php": ">=5.4.1",
"sabre/event": "^2.0.0",
"sabre/http": "^3.0.0",
"sabre/vobject": "^3.3.4"
},
"require-dev": {
"evert/phpdoc-md": "~0.1.0",
"phpunit/phpunit": "~4.2",
"squizlabs/php_codesniffer": "~1.5.3"
},
"suggest": {
"ext-curl": "*",
"ext-pdo": "*"
},
"bin": [
"bin/sabredav",
"bin/naturalselection"
],
"type": "library",
"autoload": {
"psr-4": {
"Sabre\\DAV\\": "lib/DAV/",
"Sabre\\DAVACL\\": "lib/DAVACL/",
"Sabre\\CalDAV\\": "lib/CalDAV/",
"Sabre\\CardDAV\\": "lib/CardDAV/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "WebDAV Framework for PHP",
"homepage": "http://sabre.io/",
"keywords": [
"CalDAV",
"CardDAV",
"WebDAV",
"framework",
"iCalendar"
],
"time": "2016-03-10 20:49:48"
},
{
"name": "sabre/event",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/fruux/sabre-event.git",
"reference": "337b6f5e10ea6e0b21e22c7e5788dd3883ae73ff"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruux/sabre-event/zipball/337b6f5e10ea6e0b21e22c7e5788dd3883ae73ff",
"reference": "337b6f5e10ea6e0b21e22c7e5788dd3883ae73ff",
"shasum": ""
},
"require": {
"php": ">=5.4.1"
"php": ">=5.4.7"
},
"require-dev": {
"phpunit/phpunit": "*",
@ -1679,8 +1605,11 @@
},
"type": "library",
"autoload": {
"files": [
"lib/functions.php"
],
"psr-4": {
"Sabre\\Event\\": "lib/"
"Sabre\\Uri\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -1695,90 +1624,40 @@
"role": "Developer"
}
],
"description": "sabre/event is a library for lightweight event-based programming",
"homepage": "http://sabre.io/event/",
"description": "Functions for making sense out of URIs.",
"homepage": "http://sabre.io/uri/",
"keywords": [
"EventEmitter",
"events",
"hooks",
"plugin",
"promise",
"signal"
"rfc3986",
"uri",
"url"
],
"time": "2015-05-19 10:24:22"
},
{
"name": "sabre/http",
"version": "3.0.5",
"source": {
"type": "git",
"url": "https://github.com/fruux/sabre-http.git",
"reference": "6b06c03376219b3d608e1f878514ec105ed1b577"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruux/sabre-http/zipball/6b06c03376219b3d608e1f878514ec105ed1b577",
"reference": "6b06c03376219b3d608e1f878514ec105ed1b577",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.4",
"sabre/event": ">=1.0.0,<3.0.0"
},
"require-dev": {
"phpunit/phpunit": "~4.3",
"squizlabs/php_codesniffer": "~1.5.3"
},
"suggest": {
"ext-curl": " to make http requests with the Client class"
},
"type": "library",
"autoload": {
"psr-4": {
"Sabre\\HTTP\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "The sabre/http library provides utilities for dealing with http requests and responses. ",
"homepage": "https://github.com/fruux/sabre-http",
"keywords": [
"http"
],
"time": "2015-05-11 15:25:57"
"time": "2016-03-08 02:29:27"
},
{
"name": "sabre/vobject",
"version": "3.5.2",
"version": "4.1.0",
"source": {
"type": "git",
"url": "https://github.com/fruux/sabre-vobject.git",
"reference": "b7d6005b9f8e18bfe2b953d9847df0b3e4098441"
"reference": "8899c0e856b3178b17f4e9a4e85010209f32a2fa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/b7d6005b9f8e18bfe2b953d9847df0b3e4098441",
"reference": "b7d6005b9f8e18bfe2b953d9847df0b3e4098441",
"url": "https://api.github.com/repos/fruux/sabre-vobject/zipball/8899c0e856b3178b17f4e9a4e85010209f32a2fa",
"reference": "8899c0e856b3178b17f4e9a4e85010209f32a2fa",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.3.1"
"php": ">=5.5",
"sabre/xml": "~1.1"
},
"require-dev": {
"phpunit/phpunit": "*",
"squizlabs/php_codesniffer": "*"
"sabre/cs": "~0.0.3"
},
"suggest": {
"hoa/bench": "If you would like to run the benchmark scripts"
},
"bin": [
"bin/vobject",
@ -1787,7 +1666,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.2.x-dev"
"dev-master": "4.0.x-dev"
}
},
"autoload": {
@ -1811,18 +1690,106 @@
"email": "dominik@fruux.com",
"homepage": "http://tobschall.de/",
"role": "Developer"
},
{
"name": "Ivan Enderlin",
"email": "ivan.enderlin@hoa-project.net",
"homepage": "http://mnt.io/",
"role": "Developer"
}
],
"description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects",
"homepage": "http://sabre.io/vobject/",
"keywords": [
"VObject",
"availability",
"freebusy",
"iCalendar",
"ics",
"jCal",
"jCard",
"vCard"
"recurrence",
"rfc2425",
"rfc2426",
"rfc2739",
"rfc4770",
"rfc5545",
"rfc5546",
"rfc6321",
"rfc6350",
"rfc6351",
"rfc6474",
"rfc6638",
"rfc6715",
"rfc6868",
"vCard",
"vcf",
"xCal",
"xCard"
],
"time": "2016-04-24 07:05:24"
"time": "2016-04-07 00:48:27"
},
{
"name": "sabre/xml",
"version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/fruux/sabre-xml.git",
"reference": "f48d98c22a4a4bef76cabb5968ffaddbb2bb593e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruux/sabre-xml/zipball/f48d98c22a4a4bef76cabb5968ffaddbb2bb593e",
"reference": "f48d98c22a4a4bef76cabb5968ffaddbb2bb593e",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-xmlreader": "*",
"ext-xmlwriter": "*",
"lib-libxml": ">=2.6.20",
"php": ">=5.4.1",
"sabre/uri": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "*",
"sabre/cs": "~0.0.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Sabre\\Xml\\": "lib/"
},
"files": [
"lib/Deserializer/functions.php",
"lib/Serializer/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
},
{
"name": "Markus Staab",
"email": "markus.staab@redaxo.de",
"role": "Developer"
}
],
"description": "sabre/xml is an XML library that you may not hate.",
"homepage": "https://sabre.io/xml/",
"keywords": [
"XMLReader",
"XMLWriter",
"dom",
"xml"
],
"time": "2016-05-19 21:56:49"
},
{
"name": "sensio/distribution-bundle",