[Pkg-owncloud-commits] [php-sabredav] 38/66: Merge branch '1.8'
David Prévot
taffit at moszumanska.debian.org
Sat Jan 18 20:08:21 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository php-sabredav.
commit 781b0906bd74c92285a945489899221b8684b494
Merge: 7d01be2 10dd6f9
Author: Evert Pot <evert at rooftopsolutions.nl>
Date: Thu Jan 2 12:39:09 2014 +0100
Merge branch '1.8'
Conflicts:
ChangeLog
lib/Sabre/CalDAV/ICSExportPlugin.php
lib/Sabre/CalDAV/Version.php
lib/Sabre/CardDAV/Version.php
lib/Sabre/DAV/URLUtil.php
lib/Sabre/DAV/Version.php
lib/Sabre/DAVACL/Version.php
lib/Sabre/HTTP/AWSAuth.php
lib/Sabre/HTTP/AbstractAuth.php
lib/Sabre/HTTP/BasicAuth.php
lib/Sabre/HTTP/DigestAuth.php
lib/Sabre/HTTP/Request.php
lib/Sabre/HTTP/Response.php
lib/Sabre/HTTP/Util.php
lib/Sabre/HTTP/Version.php
tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php
tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php
tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php
tests/Sabre/CalDAV/GetEventsByTimerangeTest.php
tests/Sabre/CalDAV/Issue203Test.php
tests/Sabre/CalDAV/Issue205Test.php
tests/Sabre/CalDAV/Issue211Test.php
tests/Sabre/CalDAV/Issue220Test.php
tests/Sabre/CalDAV/Issue228Test.php
tests/Sabre/CalDAV/Schedule/IMip/Mock.php
tests/Sabre/DAV/URLUtilTest.php
tests/Sabre/DAVServerTest.php
ChangeLog | 10 ++++++++--
LICENSE | 2 +-
lib/Sabre/CalDAV/Backend/AbstractBackend.php | 2 +-
lib/Sabre/CalDAV/Backend/BackendInterface.php | 2 +-
lib/Sabre/CalDAV/Backend/NotificationSupport.php | 2 +-
lib/Sabre/CalDAV/Backend/PDO.php | 2 +-
lib/Sabre/CalDAV/Backend/SharingSupport.php | 2 +-
lib/Sabre/CalDAV/Calendar.php | 2 +-
lib/Sabre/CalDAV/CalendarObject.php | 2 +-
lib/Sabre/CalDAV/CalendarQueryParser.php | 2 +-
lib/Sabre/CalDAV/CalendarQueryValidator.php | 2 +-
lib/Sabre/CalDAV/CalendarRootNode.php | 2 +-
lib/Sabre/CalDAV/Exception/InvalidComponentType.php | 2 +-
lib/Sabre/CalDAV/ICSExportPlugin.php | 2 +-
lib/Sabre/CalDAV/ICalendar.php | 2 +-
lib/Sabre/CalDAV/ICalendarObject.php | 2 +-
lib/Sabre/CalDAV/IShareableCalendar.php | 2 +-
lib/Sabre/CalDAV/ISharedCalendar.php | 2 +-
lib/Sabre/CalDAV/Notifications/Collection.php | 2 +-
lib/Sabre/CalDAV/Notifications/ICollection.php | 2 +-
lib/Sabre/CalDAV/Notifications/INode.php | 2 +-
lib/Sabre/CalDAV/Notifications/INotificationType.php | 2 +-
lib/Sabre/CalDAV/Notifications/Node.php | 2 +-
lib/Sabre/CalDAV/Notifications/Notification/Invite.php | 2 +-
lib/Sabre/CalDAV/Notifications/Notification/InviteReply.php | 2 +-
lib/Sabre/CalDAV/Notifications/Notification/SystemStatus.php | 2 +-
lib/Sabre/CalDAV/Plugin.php | 2 +-
lib/Sabre/CalDAV/Principal/Collection.php | 2 +-
lib/Sabre/CalDAV/Principal/IProxyRead.php | 2 +-
lib/Sabre/CalDAV/Principal/IProxyWrite.php | 2 +-
lib/Sabre/CalDAV/Principal/ProxyRead.php | 2 +-
lib/Sabre/CalDAV/Principal/ProxyWrite.php | 2 +-
lib/Sabre/CalDAV/Principal/User.php | 2 +-
lib/Sabre/CalDAV/Property/AllowedSharingModes.php | 2 +-
lib/Sabre/CalDAV/Property/Invite.php | 2 +-
lib/Sabre/CalDAV/Property/ScheduleCalendarTransp.php | 2 +-
lib/Sabre/CalDAV/Property/SupportedCalendarComponentSet.php | 2 +-
lib/Sabre/CalDAV/Property/SupportedCalendarData.php | 2 +-
lib/Sabre/CalDAV/Property/SupportedCollationSet.php | 2 +-
lib/Sabre/CalDAV/Schedule/IMip.php | 2 +-
lib/Sabre/CalDAV/Schedule/IOutbox.php | 2 +-
lib/Sabre/CalDAV/Schedule/Outbox.php | 2 +-
lib/Sabre/CalDAV/ShareableCalendar.php | 2 +-
lib/Sabre/CalDAV/SharedCalendar.php | 2 +-
lib/Sabre/CalDAV/SharingPlugin.php | 2 +-
lib/Sabre/CalDAV/UserCalendars.php | 2 +-
lib/Sabre/CardDAV/AddressBook.php | 2 +-
lib/Sabre/CardDAV/AddressBookQueryParser.php | 2 +-
lib/Sabre/CardDAV/AddressBookRoot.php | 2 +-
lib/Sabre/CardDAV/Backend/AbstractBackend.php | 2 +-
lib/Sabre/CardDAV/Backend/BackendInterface.php | 2 +-
lib/Sabre/CardDAV/Backend/PDO.php | 2 +-
lib/Sabre/CardDAV/Card.php | 2 +-
lib/Sabre/CardDAV/IAddressBook.php | 2 +-
lib/Sabre/CardDAV/ICard.php | 2 +-
lib/Sabre/CardDAV/IDirectory.php | 2 +-
lib/Sabre/CardDAV/Plugin.php | 2 +-
lib/Sabre/CardDAV/Property/SupportedAddressData.php | 2 +-
lib/Sabre/CardDAV/UserAddressBooks.php | 2 +-
lib/Sabre/CardDAV/VCFExportPlugin.php | 2 +-
lib/Sabre/DAV/Auth/Backend/AbstractBasic.php | 2 +-
lib/Sabre/DAV/Auth/Backend/AbstractDigest.php | 2 +-
lib/Sabre/DAV/Auth/Backend/Apache.php | 2 +-
lib/Sabre/DAV/Auth/Backend/BackendInterface.php | 2 +-
lib/Sabre/DAV/Auth/Backend/File.php | 2 +-
lib/Sabre/DAV/Auth/Backend/PDO.php | 2 +-
lib/Sabre/DAV/Auth/Plugin.php | 2 +-
lib/Sabre/DAV/Browser/GuessContentType.php | 2 +-
lib/Sabre/DAV/Browser/MapGetToPropFind.php | 2 +-
lib/Sabre/DAV/Browser/Plugin.php | 4 ++--
lib/Sabre/DAV/Client.php | 2 +-
lib/Sabre/DAV/Collection.php | 2 +-
lib/Sabre/DAV/Exception.php | 2 +-
lib/Sabre/DAV/Exception/BadRequest.php | 2 +-
lib/Sabre/DAV/Exception/Conflict.php | 2 +-
lib/Sabre/DAV/Exception/ConflictingLock.php | 2 +-
lib/Sabre/DAV/Exception/FileNotFound.php | 2 +-
lib/Sabre/DAV/Exception/Forbidden.php | 2 +-
lib/Sabre/DAV/Exception/InsufficientStorage.php | 2 +-
lib/Sabre/DAV/Exception/InvalidResourceType.php | 2 +-
lib/Sabre/DAV/Exception/LockTokenMatchesRequestUri.php | 2 +-
lib/Sabre/DAV/Exception/Locked.php | 2 +-
lib/Sabre/DAV/Exception/MethodNotAllowed.php | 2 +-
lib/Sabre/DAV/Exception/NotAuthenticated.php | 2 +-
lib/Sabre/DAV/Exception/NotFound.php | 2 +-
lib/Sabre/DAV/Exception/NotImplemented.php | 2 +-
lib/Sabre/DAV/Exception/PaymentRequired.php | 2 +-
lib/Sabre/DAV/Exception/PreconditionFailed.php | 2 +-
lib/Sabre/DAV/Exception/ReportNotSupported.php | 2 +-
lib/Sabre/DAV/Exception/RequestedRangeNotSatisfiable.php | 2 +-
lib/Sabre/DAV/Exception/ServiceUnavailable.php | 2 +-
lib/Sabre/DAV/Exception/UnsupportedMediaType.php | 2 +-
lib/Sabre/DAV/FS/Directory.php | 2 +-
lib/Sabre/DAV/FS/File.php | 2 +-
lib/Sabre/DAV/FS/Node.php | 2 +-
lib/Sabre/DAV/FSExt/Directory.php | 2 +-
lib/Sabre/DAV/FSExt/File.php | 2 +-
lib/Sabre/DAV/FSExt/Node.php | 2 +-
lib/Sabre/DAV/File.php | 2 +-
lib/Sabre/DAV/ICollection.php | 2 +-
lib/Sabre/DAV/IExtendedCollection.php | 2 +-
lib/Sabre/DAV/IFile.php | 2 +-
lib/Sabre/DAV/INode.php | 2 +-
lib/Sabre/DAV/IProperties.php | 2 +-
lib/Sabre/DAV/IQuota.php | 2 +-
lib/Sabre/DAV/Locks/Backend/AbstractBackend.php | 2 +-
lib/Sabre/DAV/Locks/Backend/BackendInterface.php | 2 +-
lib/Sabre/DAV/Locks/Backend/FS.php | 2 +-
lib/Sabre/DAV/Locks/Backend/File.php | 2 +-
lib/Sabre/DAV/Locks/Backend/PDO.php | 2 +-
lib/Sabre/DAV/Locks/LockInfo.php | 2 +-
lib/Sabre/DAV/Locks/Plugin.php | 2 +-
lib/Sabre/DAV/Mount/Plugin.php | 2 +-
lib/Sabre/DAV/Node.php | 2 +-
lib/Sabre/DAV/ObjectTree.php | 2 +-
lib/Sabre/DAV/PartialUpdate/IFile.php | 2 +-
lib/Sabre/DAV/PartialUpdate/Plugin.php | 2 +-
lib/Sabre/DAV/Property.php | 2 +-
lib/Sabre/DAV/Property/GetLastModified.php | 2 +-
lib/Sabre/DAV/Property/Href.php | 2 +-
lib/Sabre/DAV/Property/HrefList.php | 2 +-
lib/Sabre/DAV/Property/IHref.php | 2 +-
lib/Sabre/DAV/Property/LockDiscovery.php | 2 +-
lib/Sabre/DAV/Property/ResourceType.php | 2 +-
lib/Sabre/DAV/Property/Response.php | 2 +-
lib/Sabre/DAV/Property/ResponseList.php | 2 +-
lib/Sabre/DAV/Property/SupportedLock.php | 2 +-
lib/Sabre/DAV/Property/SupportedReportSet.php | 2 +-
lib/Sabre/DAV/PropertyInterface.php | 2 +-
lib/Sabre/DAV/Server.php | 2 +-
lib/Sabre/DAV/ServerPlugin.php | 2 +-
lib/Sabre/DAV/SimpleCollection.php | 2 +-
lib/Sabre/DAV/SimpleFile.php | 2 +-
lib/Sabre/DAV/StringUtil.php | 2 +-
lib/Sabre/DAV/TemporaryFileFilterPlugin.php | 2 +-
lib/Sabre/DAV/Tree.php | 2 +-
lib/Sabre/DAV/Tree/Filesystem.php | 2 +-
lib/Sabre/DAV/URLUtil.php | 3 +--
lib/Sabre/DAV/UUIDUtil.php | 2 +-
lib/Sabre/DAV/Version.php | 2 +-
lib/Sabre/DAV/XMLUtil.php | 2 +-
lib/Sabre/DAVACL/AbstractPrincipalCollection.php | 2 +-
lib/Sabre/DAVACL/Exception/AceConflict.php | 2 +-
lib/Sabre/DAVACL/Exception/NeedPrivileges.php | 2 +-
lib/Sabre/DAVACL/Exception/NoAbstract.php | 2 +-
lib/Sabre/DAVACL/Exception/NotRecognizedPrincipal.php | 2 +-
lib/Sabre/DAVACL/Exception/NotSupportedPrivilege.php | 2 +-
lib/Sabre/DAVACL/IACL.php | 2 +-
lib/Sabre/DAVACL/IPrincipal.php | 2 +-
lib/Sabre/DAVACL/IPrincipalCollection.php | 2 +-
lib/Sabre/DAVACL/Plugin.php | 2 +-
lib/Sabre/DAVACL/Principal.php | 2 +-
lib/Sabre/DAVACL/PrincipalBackend/AbstractBackend.php | 2 +-
lib/Sabre/DAVACL/PrincipalBackend/BackendInterface.php | 2 +-
lib/Sabre/DAVACL/PrincipalBackend/PDO.php | 2 +-
lib/Sabre/DAVACL/PrincipalCollection.php | 2 +-
lib/Sabre/DAVACL/Property/Acl.php | 2 +-
lib/Sabre/DAVACL/Property/AclRestrictions.php | 2 +-
lib/Sabre/DAVACL/Property/CurrentUserPrivilegeSet.php | 2 +-
lib/Sabre/DAVACL/Property/Principal.php | 2 +-
lib/Sabre/DAVACL/Property/SupportedPrivilegeSet.php | 2 +-
lib/Sabre/autoload.php | 2 +-
tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php | 2 +-
tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php | 3 +--
tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php | 2 +-
tests/Sabre/CalDAV/GetEventsByTimerangeTest.php | 3 +--
tests/Sabre/CalDAV/Issue203Test.php | 3 +--
tests/Sabre/CalDAV/Issue205Test.php | 3 +--
tests/Sabre/CalDAV/Issue211Test.php | 3 +--
tests/Sabre/CalDAV/Issue220Test.php | 3 +--
tests/Sabre/CalDAV/Issue228Test.php | 2 +-
tests/Sabre/CalDAV/Schedule/IMip/Mock.php | 6 ++----
tests/Sabre/DAVServerTest.php | 3 +--
173 files changed, 182 insertions(+), 186 deletions(-)
diff --cc ChangeLog
index 610cb9d,57c9296..91195af
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,82 -1,9 +1,85 @@@
+1.9.0-alpha2 (2013-??-??)
+ * Added: Browser can now inspect any node, if ?sabreaction=browser is
+ appended.
+
+1.9.0-alpha1 (2013-11-07)
+ * The zip release ships with sabre/vobject 3.1.3, sabre/http 2.0.0alpha5,
+ and sabre/event 1.0.0.
+ * BC Break: The CardDAV and CalDAV BackendInterface each have a new
+ method: getMultipleCards and getMultipleCalendarObjects. The Abstract
+ and PDO backends have default implementations, but if you implement that
+ interface directly, this method is now required.
+ * BC Break: XML property classes now receive an extra argument in their
+ unserialize method ($propertyMap). This allows for recursively parsing
+ properties, if needed.
+ * BC Break: Now using sabre/event for event emitting/subscription. For
+ plugin authors this means Server::subscribeEvent is now Server::on, and
+ Server::broadcastEvent is now Server::emit.
+ * BC Break: Almost all core functionality moved into a CorePlugin.
+ * BC Break: Most events triggered by the server got an overhaul.
+ * Changed: Sabre\HTTP now moved into a dedicated sabre/http package.
+ * Added: Support for WebDAV-sync (rfc6578).
+ * Added: Support for caldav-subscriptions, which is an easy way for caldav
+ clients to manage a list of subscriptions on the server.
+ * Added: Support for emitting and receiving jCal instead of iCalendar for
+ CalDAV.
+ * Added: BasicCallback authenticaton backend, for creating simple
+ authentication systems without having to define any classes.
+ * Added: A $transactionType property on the server class. This can be used
+ for logging and performance measuring purposes.
+ * Fixed: If event handlers modify the request body from a PUT request, an
+ ETag is no longer sent back.
+ * Added: Sabre\DAV\IMultiGet to optimize requests that retrieve
+ information about lists of resources.
+ * Added: MultiGet support to default CalDAV and CardDAV backends, speeding
+ up the multiget and sync reports quite a bit!
+ * Added: ICSExportPlugin can now generate jCal, filter on time-ranges and
+ expand recurrences.
+ * Fixed: Read-only access to calendars still allows the sharee to modify
+ basic calendar properties, such as the displayname and color.
+ * Changed: The default supportedPrivilegeSet has changed. Most privileges
+ are no longer marked as abstract.
+ * Changed: More elegant ACL management for CalendarObject and Card nodes.
+ * Added: Browser plugin now marks a carddav directory as type Directory,
+ and a shared calendar as 'Shared'.
+ * Added: When debugExceptions is turned on, all previous exceptions are
+ also traversed.
+ * Removed: Got rid of the Version classes for CalDAV, CardDAV, HTTP, and
+ DAVACL. Now that there's no separate packages anymore, this makes a bit
+ more sense.
+ * Added: Generalized the multistatus response parser a bit more, for
+ better re-use.
+ * Added: Sabre\DAV\Client now has support for complex properties for
+ PROPPATCH. (Issue #299).
+ * Added: Sabre\DAV\Client has support for gzip and deflate encoding.
+ * Added: Sabre\DAV\Client now has support for sending objects as streams.
+ * Added: Deserializer for {DAV:}current-user-privilege-set.
+ * Added: Addressbooks or backends can now specify custom acl rules when
+ creating cards.
+ * Added: The ability for plugins to validate custom tokens in If: headers.
+ * Changed: Completely refactored the Lock plugin to deal with the new If:
+ header system.
+ * Added: Checking preconditions for MOVE, COPY, DELETE and PROPPATCH methods.
+ * Added: has() method on DAV\Property\SupportedReportSet.
+ * Added: If header now gets checked (with ETag) all the time. Before the
+ dealing with the If-header was a responsibility of the Locking plugin.
+ * Fixed: Outbox access for delegates.
+ * Added: Issue 333: It's now possible to override the calendar-home in the
+ CalDAV plugin.
+ * Added: A negotiateContentType to HTTP\Request. A convenience method.
+ * Fixed: Issue 349: Denying copying or moving a resource into it's own
+ subtree.
+ * Fixed: SabreDAV catches every exception again.
+ * Added: Issue #358, adding a component=vevent parameter to the
+ content-types for calendar objects, if the caldav backend provides this
+ info.
+
+ 1.8.8-stable (2013-??-??)
+ * includes changes from version 1.7.10.
+
1.8.7-stable (2013-10-02)
- * The zip release ships with sabre/vobject 2.1.3.
- * Includes changes from version 1.7.9.
+ * the zip release ships with sabre/vobject 2.1.3.
+ * includes changes from version 1.7.9.
1.8.6-stable (2013-06-18)
* The zip release ships with sabre/vobject 2.1.0.
diff --cc lib/Sabre/CalDAV/ICSExportPlugin.php
index 9fc90de,a2153b5..91330e5
--- a/lib/Sabre/CalDAV/ICSExportPlugin.php
+++ b/lib/Sabre/CalDAV/ICSExportPlugin.php
@@@ -17,30 -12,7 +17,30 @@@ us
* This is useful for clients that don't support CalDAV yet. They often do
* support ics files.
*
+ * To use this, point a http client to a caldav calendar, and add ?expand to
+ * the url.
+ *
+ * Further options that can be added to the url:
+ * start=123456789 - Only return events after the given unix timestamp
+ * end=123245679 - Only return events from before the given unix timestamp
+ * expand=1 - Strip timezone information and expand recurring events.
+ * If you'd like to expand, you _must_ also specify start
+ * and end.
+ *
+ * By default this plugin returns data in the text/calendar format (iCalendar
+ * 2.0). If you'd like to receive jCal data instead, you can use an Accept
+ * header:
+ *
+ * Accept: application/calendar+json
+ *
+ * Alternatively, you can also specify this in the url using
+ * accept=application/calendar+json, or accept=jcal for short. If the url
+ * parameter and Accept header is specified, the url parameter wins.
+ *
+ * Note that specifying a start or end data implies that only events will be
+ * returned. VTODO and VJOURNAL will be stripped.
+ *
- * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
+ * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
diff --cc lib/Sabre/CalDAV/UserCalendars.php
index d43851e,67de131..478a564
--- a/lib/Sabre/CalDAV/UserCalendars.php
+++ b/lib/Sabre/CalDAV/UserCalendars.php
@@@ -2,15 -2,13 +2,15 @@@
namespace Sabre\CalDAV;
-use Sabre\DAV;
-use Sabre\DAVACL;
+use
+ Sabre\DAV,
+ Sabre\DAVACL,
+ Sabre\HTTP\URLUtil;
/**
- * The UserCalenders class contains all calendars associated to one user
+ * The UserCalendars class contains all calendars associated to one user
*
- * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
+ * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
diff --cc lib/Sabre/DAV/Auth/Backend/PDO.php
index b4a7697,a5fb5f1..b00ffac
--- a/lib/Sabre/DAV/Auth/Backend/PDO.php
+++ b/lib/Sabre/DAV/Auth/Backend/PDO.php
@@@ -3,9 -3,11 +3,9 @@@
namespace Sabre\DAV\Auth\Backend;
/**
- * This is an authentication backend that uses a file to manage passwords.
- *
- * The backend file must conform to Apache's htdigest format
+ * This is an authentication backend that uses a database to manage passwords.
*
- * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
+ * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
diff --cc lib/Sabre/DAV/URLUtil.php
index 42e95bb,1ab8740..eee51ed
--- a/lib/Sabre/DAV/URLUtil.php
+++ b/lib/Sabre/DAV/URLUtil.php
@@@ -2,22 -2,123 +2,21 @@@
namespace Sabre\DAV;
+use Sabre\HTTP;
+
/**
- * URL utility class
- *
- * This class provides methods to deal with encoding and decoding url (percent encoded) strings.
- *
- * It was not possible to use PHP's built-in methods for this, because some clients don't like
- * encoding of certain characters.
- *
- * Specifically, it was found that GVFS (gnome's webdav client) does not like encoding of ( and
- * ). Since these are reserved, but don't have a reserved meaning in url, these characters are
- * kept as-is.
+ * URLUtil
*
- * It was also discovered that versions of the SOGO connector for thunderbird
- * has issues with urlencoded colons.
+ * This file moved to the HTTP package and is now deprecated. Use
+ * Sabre\HTTP\URLUtil instead.
*
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
+ * This file will be removed in a future version.
+ *
- * @copyright Copyright (C) 2007-2013 fruux GmbH. All rights reserved.
++ * @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
+ * @author Evert Pot (http://evertpot.com/)
+ * @deprecated Use Sabre\HTTP\URLUtil instead!
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
-class URLUtil {
-
- /**
- * Encodes the path of a url.
- *
- * slashes (/) are treated as path-separators.
- *
- * @param string $path
- * @return string
- */
- static function encodePath($path) {
-
- return preg_replace_callback('/([^A-Za-z0-9_\-\.~\(\)\/:])/',function($match) {
-
- return '%'.sprintf('%02x',ord($match[0]));
-
- }, $path);
-
- }
-
- /**
- * Encodes a 1 segment of a path
- *
- * Slashes are considered part of the name, and are encoded as %2f
- *
- * @param string $pathSegment
- * @return string
- */
- static function encodePathSegment($pathSegment) {
-
- return preg_replace_callback('/([^A-Za-z0-9_\-\.~\(\):])/',function($match) {
-
- return '%'.sprintf('%02x',ord($match[0]));
-
- }, $pathSegment);
- }
-
- /**
- * Decodes a url-encoded path
- *
- * @param string $path
- * @return string
- */
- static function decodePath($path) {
-
- return self::decodePathSegment($path);
-
- }
-
- /**
- * Decodes a url-encoded path segment
- *
- * @param string $path
- * @return string
- */
- static function decodePathSegment($path) {
-
- $path = rawurldecode($path);
- $encoding = mb_detect_encoding($path, array('UTF-8','ISO-8859-1'));
-
- switch($encoding) {
-
- case 'ISO-8859-1' :
- $path = utf8_encode($path);
-
- }
-
- return $path;
-
- }
-
- /**
- * Returns the 'dirname' and 'basename' for a path.
- *
- * The reason there is a custom function for this purpose, is because
- * basename() is locale aware (behaviour changes if C locale or a UTF-8 locale is used)
- * and we need a method that just operates on UTF-8 characters.
- *
- * In addition basename and dirname are platform aware, and will treat backslash (\) as a
- * directory separator on windows.
- *
- * This method returns the 2 components as an array.
- *
- * If there is no dirname, it will return an empty string. Any / appearing at the end of the
- * string is stripped off.
- *
- * @param string $path
- * @return array
- */
- static function splitPath($path) {
-
- $matches = array();
- if(preg_match('/^(?:(?:(.*)(?:\/+))?([^\/]+))(?:\/?)$/u',$path,$matches)) {
- return array($matches[1],$matches[2]);
- } else {
- return array(null,null);
- }
-
- }
+class URLUtil extends HTTP\URLUtil {
-
}
diff --cc tests/Sabre/CalDAV/Issue203Test.php
index 8f0b97c,a27e3a9..9b8b55d
--- a/tests/Sabre/CalDAV/Issue203Test.php
+++ b/tests/Sabre/CalDAV/Issue203Test.php
@@@ -7,8 -7,8 +7,7 @@@ use Sabre\VObject
/**
* This unittest is created to find out why an overwritten DAILY event has wrong DTSTART, DTEND, SUMMARY and RECURRENCEID
*
-- *
- * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
- * @copyright Copyright (C) 2007-2014 Rooftop Solutions. All rights reserved.
++ * @copyright Copyright (C) 2007-2014 fruux GmbH. All rights reserved.
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
diff --cc tests/Sabre/CalDAV/Schedule/IMip/Mock.php
index 0d85c08,a97eb3b..349456d
--- a/tests/Sabre/CalDAV/Schedule/IMip/Mock.php
+++ b/tests/Sabre/CalDAV/Schedule/IMip/Mock.php
@@@ -5,16 -5,14 +5,14 @@@ namespace Sabre\CalDAV\Schedule\IMip
/**
* iMIP handler.
*
- * This class is responsible for sending out iMIP messages. iMIP is the
- * email-based transport for iTIP. iTIP deals with scheduling operations for
+ * This class is responsible for sending out iMIP messages. iMIP is the
+ * email-based transport for iTIP. iTIP deals with scheduling operations for
* iCalendar objects.
*
- * If you want to customize the email that gets sent out, you can do so by
+ * If you want to customize the email that gets sent out, you can do so by
* extending this class and overriding the sendMessage method.
- *
- * @package Sabre
- * @subpackage CalDAV
- * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
+ *
+ * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
* @author Evert Pot (http://evertpot.com/)
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/php-sabredav.git
More information about the Pkg-owncloud-commits
mailing list