summaryrefslogtreecommitdiffstats
path: root/3rdparty/Sabre/VObject/Property.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/Sabre/VObject/Property.php')
-rw-r--r--3rdparty/Sabre/VObject/Property.php13
1 files changed, 10 insertions, 3 deletions
diff --git a/3rdparty/Sabre/VObject/Property.php b/3rdparty/Sabre/VObject/Property.php
index 624dd4b8a58..06058229043 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]);
}