source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/out/webdav/vendor/sabre/vobject/lib/Sabre/VObject/Parameter.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 1.7 KB
Line 
1<?php
2
3namespace Sabre\VObject;
4
5/**
6 * VObject Parameter
7 *
8 * This class represents a parameter. A parameter is always tied to a property.
9 * In the case of:
10 *   DTSTART;VALUE=DATE:20101108
11 * VALUE=DATE would be the parameter name and value.
12 *
13 * @copyright Copyright (C) 2007-2013 Rooftop Solutions. All rights reserved.
14 * @author Evert Pot (http://www.rooftopsolutions.nl/)
15 * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
16 */
17class Parameter extends Node {
18
19    /**
20     * Parameter name
21     *
22     * @var string
23     */
24    public $name;
25
26    /**
27     * Parameter value
28     *
29     * @var string
30     */
31    public $value;
32
33    /**
34     * Sets up the object
35     *
36     * @param string $name
37     * @param string $value
38     */
39    public function __construct($name, $value = null) {
40
41        if (!is_scalar($value) && !is_null($value)) {
42            throw new \InvalidArgumentException('The value argument must be a scalar value or null');
43        }
44
45        $this->name = strtoupper($name);
46        $this->value = $value;
47
48    }
49
50    /**
51     * Turns the object back into a serialized blob.
52     *
53     * @return string
54     */
55    public function serialize() {
56
57        if (is_null($this->value)) {
58            return $this->name;
59        }
60        $src = array(
61            '\\',
62            "\n",
63            ';',
64            ',',
65        );
66        $out = array(
67            '\\\\',
68            '\n',
69            '\;',
70            '\,',
71        );
72
73        return $this->name . '=' . str_replace($src, $out, $this->value);
74
75    }
76
77    /**
78     * Called when this object is being cast to a string
79     *
80     * @return string
81     */
82    public function __toString() {
83
84        return $this->value;
85
86    }
87
88}
Note: See TracBrowser for help on using the repository browser.