Wordpress 3.5
[autoinstalls/wordpress.git] / wp-includes / SimplePie / Restriction.php
1 <?php
2 /**
3  * SimplePie
4  *
5  * A PHP-Based RSS and Atom Feed Framework.
6  * Takes the hard work out of managing a complete RSS/Atom solution.
7  *
8  * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
9  * All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without modification, are
12  * permitted provided that the following conditions are met:
13  *
14  *      * Redistributions of source code must retain the above copyright notice, this list of
15  *        conditions and the following disclaimer.
16  *
17  *      * Redistributions in binary form must reproduce the above copyright notice, this list
18  *        of conditions and the following disclaimer in the documentation and/or other materials
19  *        provided with the distribution.
20  *
21  *      * Neither the name of the SimplePie Team nor the names of its contributors may be used
22  *        to endorse or promote products derived from this software without specific prior
23  *        written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
26  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
27  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
28  * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
32  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *
35  * @package SimplePie
36  * @version 1.3.1
37  * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
38  * @author Ryan Parman
39  * @author Geoffrey Sneddon
40  * @author Ryan McCue
41  * @link http://simplepie.org/ SimplePie
42  * @license http://www.opensource.org/licenses/bsd-license.php BSD License
43  */
44
45 /**
46  * Handles `<media:restriction>` as defined in Media RSS
47  *
48  * Used by {@see SimplePie_Enclosure::get_restriction()} and {@see SimplePie_Enclosure::get_restrictions()}
49  *
50  * This class can be overloaded with {@see SimplePie::set_restriction_class()}
51  *
52  * @package SimplePie
53  * @subpackage API
54  */
55 class SimplePie_Restriction
56 {
57         /**
58          * Relationship ('allow'/'deny')
59          *
60          * @var string
61          * @see get_relationship()
62          */
63         var $relationship;
64
65         /**
66          * Type of restriction
67          *
68          * @var string
69          * @see get_type()
70          */
71         var $type;
72
73         /**
74          * Restricted values
75          *
76          * @var string
77          * @see get_value()
78          */
79         var $value;
80
81         /**
82          * Constructor, used to input the data
83          *
84          * For documentation on all the parameters, see the corresponding
85          * properties and their accessors
86          */
87         public function __construct($relationship = null, $type = null, $value = null)
88         {
89                 $this->relationship = $relationship;
90                 $this->type = $type;
91                 $this->value = $value;
92         }
93
94         /**
95          * String-ified version
96          *
97          * @return string
98          */
99         public function __toString()
100         {
101                 // There is no $this->data here
102                 return md5(serialize($this));
103         }
104
105         /**
106          * Get the relationship
107          *
108          * @return string|null Either 'allow' or 'deny'
109          */
110         public function get_relationship()
111         {
112                 if ($this->relationship !== null)
113                 {
114                         return $this->relationship;
115                 }
116                 else
117                 {
118                         return null;
119                 }
120         }
121
122         /**
123          * Get the type
124          *
125          * @return string|null
126          */
127         public function get_type()
128         {
129                 if ($this->type !== null)
130                 {
131                         return $this->type;
132                 }
133                 else
134                 {
135                         return null;
136                 }
137         }
138
139         /**
140          * Get the list of restricted things
141          *
142          * @return string|null
143          */
144         public function get_value()
145         {
146                 if ($this->value !== null)
147                 {
148                         return $this->value;
149                 }
150                 else
151                 {
152                         return null;
153                 }
154         }
155 }