annotate vendor/sabre/vobject/lib/Property/Float.php @ 43:771f6803cc4b default tip

somehow lost the correctly updated metadata so e.g. 'mail' package wasn't being imported
author Charlie Root
date Sun, 26 Jan 2025 13:13:49 -0500
parents 430dbd5346f7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
1 <?php
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
3 namespace Sabre\VObject\Property;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
4
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
5 use
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
6 Sabre\VObject\Property;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
7
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
8 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
9 * Float property
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
10 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
11 * This object represents FLOAT values. These can be 1 or more floating-point
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 * numbers.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 * @author Evert Pot (http://evertpot.com/)
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 * @license http://sabre.io/license/ Modified BSD License
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18 class Float extends Property {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
21 * In case this is a multi-value property. This string will be used as a
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 * delimiter.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 * @var string|null
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26 public $delimiter = ';';
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 * Sets a raw value coming from a mimedir (iCalendar/vCard) file.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 * This has been 'unfolded', so only 1 line will be passed. Unescaping is
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 * not yet done, but parameters are not included.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 * @param string $val
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 * @return void
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 public function setRawMimeDirValue($val) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 $val = explode($this->delimiter, $val);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40 foreach($val as &$item) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 $item = (float)$item;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 $this->setParts($val);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 * Returns a raw mime-dir representation of the value.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 * @return string
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52 public function getRawMimeDirValue() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 return implode(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 $this->delimiter,
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 $this->getParts()
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
59 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
60
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
61 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
62 * Returns the type of value.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
63 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
64 * This corresponds to the VALUE= parameter. Every property also has a
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
65 * 'default' valueType.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
66 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
67 * @return string
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
68 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
69 public function getValueType() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
70
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
71 return "FLOAT";
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
72
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
73 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
74
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
75 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
76 * Returns the value, in the format it should be encoded for json.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
77 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
78 * This method must always return an array.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
79 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
80 * @return array
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
81 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
82 public function getJsonValue() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
83
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
84 $val = array_map(
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
85 function($item) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
86
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
87 return (float)$item;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
88
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
89 },
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
90 $this->getParts()
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
91 );
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
92
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
93 // Special-casing the GEO property.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
94 //
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
95 // See:
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
96 // http://tools.ietf.org/html/draft-ietf-jcardcal-jcal-04#section-3.4.1.2
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
97 if ($this->name==='GEO') {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
98 return array($val);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
99 } else {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
100 return $val;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
101 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
102
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
103 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
104 }