annotate vendor/sabre/vobject/lib/Property/ICalendar/CalAddress.php @ 7:430dbd5346f7

vendor sabre as distributed
author Charlie Root
date Sat, 13 Jan 2018 09:06:10 -0500
parents
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\ICalendar;
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\Text;
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 * CalAddress 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 encodes CAL-ADDRESS values, as defined in rfc5545
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
12 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
13 * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
14 * @author Evert Pot (http://evertpot.com/)
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
15 * @license http://sabre.io/license/ Modified BSD License
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
16 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
17 class CalAddress extends Text {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
18
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
19 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
20 * 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
21 * delimiter.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
22 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
23 * @var string|null
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
24 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
25 public $delimiter = null;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
26
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
27 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
28 * Returns the type of value.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
29 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
30 * This corresponds to the VALUE= parameter. Every property also has a
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
31 * 'default' valueType.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
32 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
33 * @return string
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
34 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
35 public function getValueType() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
36
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
37 return 'CAL-ADDRESS';
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
38
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
39 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
40
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
41 /**
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
42 * This returns a normalized form of the value.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
43 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
44 * This is primarily used right now to turn mixed-cased schemes in user
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
45 * uris to lower-case.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
46 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
47 * Evolution in particular tends to encode mailto: as MAILTO:.
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
48 *
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
49 * @return string
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
50 */
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
51 public function getNormalizedValue() {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
52
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
53 $input = $this->getValue();
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
54 if (!strpos($input, ':')) {
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
55 return $input;
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
56 }
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
57 list($schema, $everythingElse) = explode(':', $input, 2);
430dbd5346f7 vendor sabre as distributed
Charlie Root
parents:
diff changeset
58 return strtolower($schema) . ':' . $everythingElse;
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 }