aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject/lib/Property/Float.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject/lib/Property/Float.php')
-rw-r--r--vendor/sabre/vobject/lib/Property/Float.php104
1 files changed, 104 insertions, 0 deletions
diff --git a/vendor/sabre/vobject/lib/Property/Float.php b/vendor/sabre/vobject/lib/Property/Float.php
new file mode 100644
index 000000000..25bcd3db2
--- /dev/null
+++ b/vendor/sabre/vobject/lib/Property/Float.php
@@ -0,0 +1,104 @@
+<?php
+
+namespace Sabre\VObject\Property;
+
+use
+ Sabre\VObject\Property;
+
+/**
+ * Float property
+ *
+ * This object represents FLOAT values. These can be 1 or more floating-point
+ * numbers.
+ *
+ * @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 Float extends Property {
+
+ /**
+ * In case this is a multi-value property. This string will be used as a
+ * delimiter.
+ *
+ * @var string|null
+ */
+ public $delimiter = ';';
+
+ /**
+ * Sets a raw value coming from a mimedir (iCalendar/vCard) file.
+ *
+ * This has been 'unfolded', so only 1 line will be passed. Unescaping is
+ * not yet done, but parameters are not included.
+ *
+ * @param string $val
+ * @return void
+ */
+ public function setRawMimeDirValue($val) {
+
+ $val = explode($this->delimiter, $val);
+ foreach($val as &$item) {
+ $item = (float)$item;
+ }
+ $this->setParts($val);
+
+ }
+
+ /**
+ * Returns a raw mime-dir representation of the value.
+ *
+ * @return string
+ */
+ public function getRawMimeDirValue() {
+
+ return implode(
+ $this->delimiter,
+ $this->getParts()
+ );
+
+ }
+
+ /**
+ * Returns the type of value.
+ *
+ * This corresponds to the VALUE= parameter. Every property also has a
+ * 'default' valueType.
+ *
+ * @return string
+ */
+ public function getValueType() {
+
+ return "FLOAT";
+
+ }
+
+ /**
+ * Returns the value, in the format it should be encoded for json.
+ *
+ * This method must always return an array.
+ *
+ * @return array
+ */
+ public function getJsonValue() {
+
+ $val = array_map(
+ function($item) {
+
+ return (float)$item;
+
+ },
+ $this->getParts()
+ );
+
+ // Special-casing the GEO property.
+ //
+ // See:
+ // http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-04#section-3.4.1.2
+ if ($this->name==='GEO') {
+ return array($val);
+ } else {
+ return $val;
+ }
+
+ }
+}