diff options
Diffstat (limited to 'libcalendaring/lib/OldSabre/VObject/Parameter.php')
-rw-r--r-- | libcalendaring/lib/OldSabre/VObject/Parameter.php | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/libcalendaring/lib/OldSabre/VObject/Parameter.php b/libcalendaring/lib/OldSabre/VObject/Parameter.php new file mode 100644 index 0000000..19fc024 --- /dev/null +++ b/libcalendaring/lib/OldSabre/VObject/Parameter.php @@ -0,0 +1,91 @@ +<?php + +namespace OldSabre\VObject; + +/** + * VObject Parameter + * + * This class represents a parameter. A parameter is always tied to a property. + * In the case of: + * DTSTART;VALUE=DATE:20101108 + * VALUE=DATE would be the parameter name and value. + * + * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/). + * @author Evert Pot (http://evertpot.com/) + * @license http://sabre.io/license/ Modified BSD License + */ +class Parameter extends Node { + + /** + * Parameter name + * + * @var string + */ + public $name; + + /** + * Parameter value + * + * @var string + */ + public $value; + + /** + * Sets up the object + * + * @param string $name + * @param string $value + */ + public function __construct($name, $value = null) { + + if (!is_scalar($value) && !is_null($value)) { + throw new \InvalidArgumentException('The value argument must be a scalar value or null'); + } + + $this->name = strtoupper($name); + $this->value = $value; + + } + + /** + * Returns the parameter's internal value. + * + * @return string + */ + public function getValue() { + + return $this->value; + + } + + + /** + * Turns the object back into a serialized blob. + * + * @return string + */ + public function serialize() { + + if (is_null($this->value)) { + return $this->name; + } + $value = str_replace("\n", '\n', $this->value); + if (preg_match('#(?: [:;\\\\])#x', $value)) { + $value = '"' . $value . '"'; + } + return $this->name . '=' . $value; + + } + + /** + * Called when this object is being cast to a string + * + * @return string + */ + public function __toString() { + + return $this->value; + + } + +} |