[Pkg-owncloud-commits] [owncloud] 05/75: upgrade to Sabredav 1.5.4

David Prévot taffit at alioth.debian.org
Fri Nov 8 23:08:27 UTC 2013


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to annotated tag v3.0.1
in repository owncloud.

commit 38a2cd0f486dccf56976f594d2d0e3cadfb158ce
Author: Robin Appelman <icewind1991 at gmail.com>
Date:   Sat Oct 29 00:49:52 2011 +0200

    upgrade to Sabredav 1.5.4
---
 3rdparty/Sabre.includes.php                        |    2 +-
 3rdparty/Sabre/CardDAV/AddressBook.php             |   10 ++---
 3rdparty/Sabre/CardDAV/Backend/Abstract.php        |   14 +++----
 3rdparty/Sabre/CardDAV/Backend/PDO.php             |    6 +--
 3rdparty/Sabre/CardDAV/Card.php                    |    8 +---
 3rdparty/Sabre/CardDAV/ICard.php                   |   10 ++---
 3rdparty/Sabre/CardDAV/Plugin.php                  |    9 ++--
 3rdparty/Sabre/CardDAV/UserAddressBooks.php        |    8 ++--
 3rdparty/Sabre/CardDAV/Version.php                 |    6 +--
 3rdparty/Sabre/DAV/Browser/GuessContentType.php    |    2 +-
 3rdparty/Sabre/DAV/Server.php                      |    2 +-
 3rdparty/Sabre/DAV/Version.php                     |    2 +-
 3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php |   10 ++---
 3rdparty/Sabre/DAVACL/PrincipalCollection.php      |    2 +-
 3rdparty/Sabre/VObject/Component.php               |   13 ++++--
 3rdparty/Sabre/VObject/Element/DateTime.php        |   43 ++++++++++++++++----
 3rdparty/Sabre/VObject/Element/MultiDateTime.php   |    6 +--
 3rdparty/Sabre/VObject/Node.php                    |    7 ++++
 3rdparty/Sabre/VObject/Property.php                |   13 ++++--
 3rdparty/Sabre/VObject/Reader.php                  |    6 ++-
 3rdparty/Sabre/VObject/Version.php                 |    2 +-
 21 files changed, 103 insertions(+), 78 deletions(-)

diff --git a/3rdparty/Sabre.includes.php b/3rdparty/Sabre.includes.php
index 9d38928..d41b287 100644
--- a/3rdparty/Sabre.includes.php
+++ b/3rdparty/Sabre.includes.php
@@ -71,6 +71,7 @@ include 'Sabre/DAV/IExtendedCollection.php';
 /* Node abstract implementations */
 include 'Sabre/DAV/Node.php';
 include 'Sabre/DAV/File.php';
+include 'Sabre/DAV/Collection.php';
 include 'Sabre/DAV/Directory.php';
 
 /* Utilities */
@@ -124,4 +125,3 @@ include 'Sabre/DAV/Auth/Backend/PDO.php';
 /* DavMount plugin */
 include 'Sabre/DAV/Mount/Plugin.php';
 
-
diff --git a/3rdparty/Sabre/CardDAV/AddressBook.php b/3rdparty/Sabre/CardDAV/AddressBook.php
index 3333480..471ca7b 100644
--- a/3rdparty/Sabre/CardDAV/AddressBook.php
+++ b/3rdparty/Sabre/CardDAV/AddressBook.php
@@ -1,7 +1,9 @@
 <?php
 
 /**
- * UserAddressBook class
+ * The AddressBook class represents a CardDAV addressbook, owned by a specific user
+ *
+ * The AddressBook can contain multiple vcards
  *
  * @package Sabre
  * @subpackage CardDAV
@@ -9,12 +11,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * The AddressBook class represents a CardDAV addressbook, owned by a specific user
- *
- * The AddressBook can contain multiple vcards
- */
 class Sabre_CardDAV_AddressBook extends Sabre_DAV_Collection implements Sabre_CardDAV_IAddressBook, Sabre_DAV_IProperties, Sabre_DAVACL_IACL {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/Backend/Abstract.php b/3rdparty/Sabre/CardDAV/Backend/Abstract.php
index f6d1029..1f0253d 100644
--- a/3rdparty/Sabre/CardDAV/Backend/Abstract.php
+++ b/3rdparty/Sabre/CardDAV/Backend/Abstract.php
@@ -2,6 +2,12 @@
 
 /**
  * Abstract Backend class
+ *
+ * This class serves as a base-class for addressbook backends
+ *
+ * Note that there are references to 'addressBookId' scattered throughout the 
+ * class. The value of the addressBookId is completely up to you, it can be any 
+ * arbitrary value you can use as an unique identifier.
  * 
  * @package Sabre
  * @subpackage CardDAV
@@ -9,14 +15,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * This class serves as a base-class for addressbook backends
- *
- * Note that there are references to 'addressBookId' scattered throughout the 
- * class. The value of the addressBookId is completely up to you, it can be any 
- * arbitrary value you can use as an unique identifier.
- */
 abstract class Sabre_CardDAV_Backend_Abstract {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/Backend/PDO.php b/3rdparty/Sabre/CardDAV/Backend/PDO.php
index 5556d0a..f4e4461 100644
--- a/3rdparty/Sabre/CardDAV/Backend/PDO.php
+++ b/3rdparty/Sabre/CardDAV/Backend/PDO.php
@@ -2,6 +2,8 @@
 
 /**
  * PDO CardDAV backend
+ *
+ * This CardDAV backend uses PDO to store addressbooks
  * 
  * @package Sabre
  * @subpackage CardDAV
@@ -9,10 +11,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * This CardDAV backend uses PDO to store addressbooks
- */
 class Sabre_CardDAV_Backend_PDO extends Sabre_CardDAV_Backend_Abstract {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/Card.php b/3rdparty/Sabre/CardDAV/Card.php
index 5298d31..2844eaf 100644
--- a/3rdparty/Sabre/CardDAV/Card.php
+++ b/3rdparty/Sabre/CardDAV/Card.php
@@ -1,18 +1,14 @@
 <?php
 
 /**
- * Card class
+ * The Card object represents a single Card from an addressbook
  * 
  * @package Sabre
  * @subpackage CardDAV
  * @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
- *
- /
-/**
- * The Card object represents a single Card from an addressbook
- */ 
+ */
 class Sabre_CardDAV_Card extends Sabre_DAV_File implements Sabre_CardDAV_ICard, Sabre_DAVACL_IACL {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/ICard.php b/3rdparty/Sabre/CardDAV/ICard.php
index 8f9bb09..25bcc55 100644
--- a/3rdparty/Sabre/CardDAV/ICard.php
+++ b/3rdparty/Sabre/CardDAV/ICard.php
@@ -2,18 +2,16 @@
 
 /**
  * Card interface 
+ *
+ * Extend the ICard interface to allow your custom nodes to be picked up as 
+ * 'Cards'. 
  * 
  * @package Sabre
  * @subpackage CardDAV
  * @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
- *
- /
-/**
- * Extend the ICard interface to allow your custom nodes to be picked up as 
- * 'Cards'. 
- */ 
+ */
 interface Sabre_CardDAV_ICard extends Sabre_DAV_IFile { 
 
 }
diff --git a/3rdparty/Sabre/CardDAV/Plugin.php b/3rdparty/Sabre/CardDAV/Plugin.php
index 17766b7..14c9c72 100644
--- a/3rdparty/Sabre/CardDAV/Plugin.php
+++ b/3rdparty/Sabre/CardDAV/Plugin.php
@@ -1,7 +1,9 @@
 <?php
 
 /**
- * CardDAV plugin 
+ * CardDAV plugin
+ *
+ * The CardDAV plugin adds CardDAV functionality to the WebDAV server
  *
  * @package Sabre
  * @subpackage CardDAV
@@ -9,11 +11,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-
-/**
- * The CardDAV plugin adds CardDAV functionality to the WebDAV server
- */
 class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/UserAddressBooks.php b/3rdparty/Sabre/CardDAV/UserAddressBooks.php
index 564ecd7..e9f2de7 100644
--- a/3rdparty/Sabre/CardDAV/UserAddressBooks.php
+++ b/3rdparty/Sabre/CardDAV/UserAddressBooks.php
@@ -2,17 +2,15 @@
 
 /**
  * UserAddressBooks class
- * 
+ *
+ * The UserAddressBooks collection contains a list of addressbooks associated with a user
+ *
  * @package Sabre
  * @subpackage CardDAV
  * @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * The UserAddressBooks collection contains a list of addressbooks associated with a user
- */
 class Sabre_CardDAV_UserAddressBooks extends Sabre_DAV_Collection implements Sabre_DAV_IExtendedCollection, Sabre_DAVACL_IACL {
 
     /**
diff --git a/3rdparty/Sabre/CardDAV/Version.php b/3rdparty/Sabre/CardDAV/Version.php
index c76ee36..900fbf5 100644
--- a/3rdparty/Sabre/CardDAV/Version.php
+++ b/3rdparty/Sabre/CardDAV/Version.php
@@ -2,6 +2,8 @@
 
 /**
  * Version Class
+ *
+ * This class contains the Sabre_CardDAV version information
  * 
  * @package Sabre
  * @subpackage CardDAV 
@@ -9,10 +11,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/)
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * This class contains the Sabre_CardDAV version information
- */
 class Sabre_CardDAV_Version {
 
     /**
diff --git a/3rdparty/Sabre/DAV/Browser/GuessContentType.php b/3rdparty/Sabre/DAV/Browser/GuessContentType.php
index 8b55ec3..ee8c698 100644
--- a/3rdparty/Sabre/DAV/Browser/GuessContentType.php
+++ b/3rdparty/Sabre/DAV/Browser/GuessContentType.php
@@ -88,7 +88,7 @@ class Sabre_DAV_Browser_GuessContentType extends Sabre_DAV_ServerPlugin {
     protected function getContentType($fileName) {
 
         // Just grabbing the extension
-        $extension = substr($fileName,strrpos($fileName,'.')+1);
+        $extension = strtolower(substr($fileName,strrpos($fileName,'.')+1));
         if (isset($this->extensionMap[$extension]))
             return $this->extensionMap[$extension];
 
diff --git a/3rdparty/Sabre/DAV/Server.php b/3rdparty/Sabre/DAV/Server.php
index b99866d..3d76d4f 100644
--- a/3rdparty/Sabre/DAV/Server.php
+++ b/3rdparty/Sabre/DAV/Server.php
@@ -821,7 +821,7 @@ class Sabre_DAV_Server {
 
             $node->put($body);
             $this->httpResponse->setHeader('Content-Length','0');
-            $this->httpResponse->sendStatus(200);
+            $this->httpResponse->sendStatus(204);
 
         } else {
 
diff --git a/3rdparty/Sabre/DAV/Version.php b/3rdparty/Sabre/DAV/Version.php
index e7f7f83..6bece19 100644
--- a/3rdparty/Sabre/DAV/Version.php
+++ b/3rdparty/Sabre/DAV/Version.php
@@ -14,7 +14,7 @@ class Sabre_DAV_Version {
     /**
      * Full version number
      */
-    const VERSION = '1.5.3';
+    const VERSION = '1.5.4';
 
     /**
      * Stability : alpha, beta, stable
diff --git a/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php b/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php
index 640ab8e..024ab66 100644
--- a/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php
+++ b/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php
@@ -2,6 +2,9 @@
 
 /**
  * NeedPrivileges 
+ *
+ * The 403-need privileges is thrown when a user didn't have the appropriate
+ * permissions to perform an operation
  * 
  * @package Sabre
  * @subpackage DAVACL
@@ -10,13 +13,6 @@
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
  */
-
-/**
- * NeedPrivileges 
- *
- * The 403-need privileges is thrown when a user didn't have the appropriate
- * permissions to perform an operation
- */
 class Sabre_DAVACL_Exception_NeedPrivileges extends Sabre_DAV_Exception_Forbidden {
 
     /**
diff --git a/3rdparty/Sabre/DAVACL/PrincipalCollection.php b/3rdparty/Sabre/DAVACL/PrincipalCollection.php
index 3cc0ae8..4d22bf8 100644
--- a/3rdparty/Sabre/DAVACL/PrincipalCollection.php
+++ b/3rdparty/Sabre/DAVACL/PrincipalCollection.php
@@ -9,7 +9,7 @@
  * The users are instances of Sabre_DAV_Auth_Principal
  * 
  * @package Sabre
- * @subpackage DAV
+ * @subpackage DAVACL
  * @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
  * @author Evert Pot (http://www.rooftopsolutions.nl/) 
  * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
diff --git a/3rdparty/Sabre/VObject/Component.php b/3rdparty/Sabre/VObject/Component.php
index 3d5a3d7..47cf9f3 100644
--- a/3rdparty/Sabre/VObject/Component.php
+++ b/3rdparty/Sabre/VObject/Component.php
@@ -83,13 +83,16 @@ class Sabre_VObject_Component extends Sabre_VObject_Element {
             if (!is_null($itemValue)) {
                 throw new InvalidArgumentException('The second argument must not be specified, when passing a VObject');
             }
+            $item->parent = $this;
             $this->children[] = $item;
         } elseif(is_string($item)) {
 
             if (!is_scalar($itemValue)) {
                 throw new InvalidArgumentException('The second argument must be scalar');
             }
-            $this->children[] = new Sabre_VObject_Property($item,$itemValue);
+            $item = new Sabre_VObject_Property($item,$itemValue);
+            $item->parent = $this;
+            $this->children[] = $item;
 
         } else {
             
@@ -208,16 +211,19 @@ class Sabre_VObject_Component extends Sabre_VObject_Element {
         $overWrite = count($matches)?key($matches):null;
 
         if ($value instanceof Sabre_VObject_Component || $value instanceof Sabre_VObject_Property) {
+            $value->parent = $this;
             if (!is_null($overWrite)) {
                 $this->children[$overWrite] = $value;
             } else {
                 $this->children[] = $value;
             }
         } elseif (is_scalar($value)) {
+            $property = new Sabre_VObject_Property($name,$value);
+            $property->parent = $this;
             if (!is_null($overWrite)) {
-                $this->children[$overWrite] = new Sabre_VObject_Property($name,$value);
+                $this->children[$overWrite] = $property;
             } else {
-                $this->children[] = new Sabre_VObject_Property($name,$value);
+                $this->children[] = $property;
             }
         } else {
             throw new InvalidArgumentException('You must pass a Sabre_VObject_Component, Sabre_VObject_Property or scalar type');
@@ -237,6 +243,7 @@ class Sabre_VObject_Component extends Sabre_VObject_Element {
         foreach($matches as $k=>$child) {
 
             unset($this->children[$k]);
+            $child->parent = null;
 
         }
 
diff --git a/3rdparty/Sabre/VObject/Element/DateTime.php b/3rdparty/Sabre/VObject/Element/DateTime.php
index 30e5c6c..3350ec0 100644
--- a/3rdparty/Sabre/VObject/Element/DateTime.php
+++ b/3rdparty/Sabre/VObject/Element/DateTime.php
@@ -70,7 +70,7 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
                 $this->setValue($dt->format('Ymd\\THis'));
                 $this->offsetUnset('VALUE');
                 $this->offsetUnset('TZID');
-                $this->offsetSet('VALUE','DATE-TIME');
+                $this->offsetSet('VALUE','DATE-TIME'); 
                 break;
             case self::UTC :
                 $dt->setTimeZone(new DateTimeZone('UTC'));
@@ -116,7 +116,7 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
         list(
             $this->dateType,
             $this->dateTime
-        ) = self::parseData($this->value, $this->offsetGet('TZID'));
+        ) = self::parseData($this->value, $this);
         return $this->dateTime;
 
     }
@@ -137,7 +137,7 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
         list(
             $this->dateType,
             $this->dateTime,
-        ) = self::parseData($this->value, $this->offsetGet('TZID'));
+        ) = self::parseData($this->value, $this);
         return $this->dateType;
 
     }
@@ -151,12 +151,12 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
      *   2. A DateTime object (or null)
      *
      * @param string|null $propertyValue The string to parse (yymmdd or 
-     *    ymmddThhmmss, etc..)
-     * @param string|null $tzid The value of the 'TZID' property.
+     *                                   ymmddThhmmss, etc..)
+     * @param Sabre_VObject_Property|null $property The instance of the 
+     *                                              property we're parsing. 
      * @return array 
      */
-    static public function parseData($propertyValue, $tzid) {
-        
+    static public function parseData($propertyValue, Sabre_VObject_Property $property = null) {
 
         if (is_null($propertyValue)) {
             return array(null, null);
@@ -195,6 +195,8 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
             );
         }
 
+        // Finding the timezone.
+        $tzid = $property['TZID'];
         if (!$tzid) {
             return array(
                 self::LOCAL,
@@ -202,7 +204,32 @@ class Sabre_VObject_Element_DateTime extends Sabre_VObject_Property {
             );
         }
 
-        $tz = new DateTimeZone($tzid->value);
+        try {
+            $tz = new DateTimeZone($tzid->value);
+        } catch (Exception $e) {
+
+            // The id was invalid, we're going to try to find the information 
+            // through the VTIMEZONE object.
+
+            // First we find the root object
+            $root = $property;
+            while($root->parent) {
+                $root = $root->parent;
+            }
+
+            if (isset($root->VTIMEZONE)) {
+                foreach($root->VTIMEZONE as $vtimezone) {
+                    if (((string)$vtimezone->TZID) == $tzid) {
+                        if (isset($vtimezone->{'X-LIC-LOCATION'})) {
+                            $tzid = (string)$vtimezone->{'X-LIC-LOCATION'};
+                        }
+                    }
+                }
+            }
+
+            $tz = new DateTimeZone($tzid);
+            
+        }
         $dt = new DateTime($dateStr, $tz);
         $dt->setTimeZone($tz);
 
diff --git a/3rdparty/Sabre/VObject/Element/MultiDateTime.php b/3rdparty/Sabre/VObject/Element/MultiDateTime.php
index 5e677f5..dc6ca5a 100644
--- a/3rdparty/Sabre/VObject/Element/MultiDateTime.php
+++ b/3rdparty/Sabre/VObject/Element/MultiDateTime.php
@@ -60,7 +60,7 @@ class Sabre_VObject_Element_MultiDateTime extends Sabre_VObject_Property {
                     $val[] = $i->format('Ymd\\THis');
                 }
                 $this->setValue(implode(',',$val));
-                $this->offsetSet('VALUE','DATE-TIME');
+                $this->offsetSet('VALUE','DATE-TIME'); 
                 break;
             case Sabre_VObject_Element_DateTime::UTC :
                 $val = array();
@@ -121,7 +121,7 @@ class Sabre_VObject_Element_MultiDateTime extends Sabre_VObject_Property {
             list(
                 $type,
                 $dt
-            ) = Sabre_VObject_Element_DateTime::parseData($val, $this->offsetGet('TZID'));
+            ) = Sabre_VObject_Element_DateTime::parseData($val, $this);
             $dts[] = $dt;
             $this->dateType = $type;
         }
@@ -154,7 +154,7 @@ class Sabre_VObject_Element_MultiDateTime extends Sabre_VObject_Property {
             list(
                 $type,
                 $dt
-            ) = Sabre_VObject_Element_DateTime::parseData($val, $this->offsetGet('TZID'));
+            ) = Sabre_VObject_Element_DateTime::parseData($val, $this);
             $dts[] = $dt;
             $this->dateType = $type; 
         }
diff --git a/3rdparty/Sabre/VObject/Node.php b/3rdparty/Sabre/VObject/Node.php
index efc7f76..7100b62 100644
--- a/3rdparty/Sabre/VObject/Node.php
+++ b/3rdparty/Sabre/VObject/Node.php
@@ -25,6 +25,13 @@ abstract class Sabre_VObject_Node implements IteratorAggregate, ArrayAccess, Cou
      */
     protected $iterator = null;
 
+    /**
+     * A link to the parent node
+     * 
+     * @var Sabre_VObject_Node 
+     */
+    protected $parent = null;
+
     /* {{{ IteratorAggregator interface */
 
     /**
diff --git a/3rdparty/Sabre/VObject/Property.php b/3rdparty/Sabre/VObject/Property.php
index 624dd4b..0605822 100644
--- a/3rdparty/Sabre/VObject/Property.php
+++ b/3rdparty/Sabre/VObject/Property.php
@@ -149,13 +149,16 @@ class Sabre_VObject_Property extends Sabre_VObject_Element {
             if (!is_null($itemValue)) {
                 throw new InvalidArgumentException('The second argument must not be specified, when passing a VObject');
             }
+            $item->parent = $this;
             $this->parameters[] = $item;
         } elseif(is_string($item)) {
 
             if (!is_scalar($itemValue)) {
                 throw new InvalidArgumentException('The second argument must be scalar');
             }
-            $this->parameters[] = new Sabre_VObject_Parameter($item,$itemValue);
+            $parameter = new Sabre_VObject_Parameter($item,$itemValue);
+            $parameter->parent = $this;
+            $this->parameters[] = $parameter;
 
         } else {
             
@@ -231,12 +234,15 @@ class Sabre_VObject_Property extends Sabre_VObject_Element {
                 throw new InvalidArgumentException('A parameter name must be specified. This means you cannot use the $array[]="string" to add parameters.');
 
             $this->offsetUnset($name);
-            $this->parameters[] = new Sabre_VObject_Parameter($name, $value);
+            $parameter = new Sabre_VObject_Parameter($name, $value);
+            $parameter->parent = $this;
+            $this->parameters[] = $parameter;
 
         } elseif ($value instanceof Sabre_VObject_Parameter) {
             if (!is_null($name))
                 throw new InvalidArgumentException('Don\'t specify a parameter name if you\'re passing a Sabre_VObject_Parameter. Add using $array[]=$parameterObject.');
-            
+
+            $value->parent = $this; 
             $this->parameters[] = $value;
         } else {
             throw new InvalidArgumentException('You can only add parameters to the property object');
@@ -258,6 +264,7 @@ class Sabre_VObject_Property extends Sabre_VObject_Element {
         $result = array();
         foreach($this->parameters as $key=>$parameter) {
             if ($parameter->name == $name) {
+                $parameter->parent = null;
                 unset($this->parameters[$key]);
             }
 
diff --git a/3rdparty/Sabre/VObject/Reader.php b/3rdparty/Sabre/VObject/Reader.php
index c38afbf..5ed7882 100644
--- a/3rdparty/Sabre/VObject/Reader.php
+++ b/3rdparty/Sabre/VObject/Reader.php
@@ -95,7 +95,7 @@ class Sabre_VObject_Reader {
 
             while(stripos($nextLine,"END:")!==0) {
 
-                $obj->children[] = self::readLine($lines);
+                $obj->add(self::readLine($lines));
                 $nextLine = current($lines);
 
                 if ($nextLine===false) 
@@ -140,7 +140,9 @@ class Sabre_VObject_Reader {
 
         if ($matches['parameters']) {
 
-            $obj->parameters = self::readParameters($matches['parameters']);
+            foreach(self::readParameters($matches['parameters']) as $param) {
+                $obj->add($param);
+            }
         } 
 
         return $obj;
diff --git a/3rdparty/Sabre/VObject/Version.php b/3rdparty/Sabre/VObject/Version.php
index 950c1c5..937c367 100644
--- a/3rdparty/Sabre/VObject/Version.php
+++ b/3rdparty/Sabre/VObject/Version.php
@@ -14,7 +14,7 @@ class Sabre_VObject_Version {
     /**
      * Full version number
      */
-    const VERSION = '1.2.2';
+    const VERSION = '1.2.4';
 
     /**
      * Stability : alpha, beta, stable

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list