Wordpress 3.5
[autoinstalls/wordpress.git] / wp-includes / SimplePie / Caption.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 /**
47  * Handles `<media:text>` captions as defined in Media RSS.
48  *
49  * Used by {@see SimplePie_Enclosure::get_caption()} and {@see SimplePie_Enclosure::get_captions()}
50  *
51  * This class can be overloaded with {@see SimplePie::set_caption_class()}
52  *
53  * @package SimplePie
54  * @subpackage API
55  */
56 class SimplePie_Caption
57 {
58         /**
59          * Content type
60          *
61          * @var string
62          * @see get_type()
63          */
64         var $type;
65
66         /**
67          * Language
68          *
69          * @var string
70          * @see get_language()
71          */
72         var $lang;
73
74         /**
75          * Start time
76          *
77          * @var string
78          * @see get_starttime()
79          */
80         var $startTime;
81
82         /**
83          * End time
84          *
85          * @var string
86          * @see get_endtime()
87          */
88         var $endTime;
89
90         /**
91          * Caption text
92          *
93          * @var string
94          * @see get_text()
95          */
96         var $text;
97
98         /**
99          * Constructor, used to input the data
100          *
101          * For documentation on all the parameters, see the corresponding
102          * properties and their accessors
103          */
104         public function __construct($type = null, $lang = null, $startTime = null, $endTime = null, $text = null)
105         {
106                 $this->type = $type;
107                 $this->lang = $lang;
108                 $this->startTime = $startTime;
109                 $this->endTime = $endTime;
110                 $this->text = $text;
111         }
112
113         /**
114          * String-ified version
115          *
116          * @return string
117          */
118         public function __toString()
119         {
120                 // There is no $this->data here
121                 return md5(serialize($this));
122         }
123
124         /**
125          * Get the end time
126          *
127          * @return string|null Time in the format 'hh:mm:ss.SSS'
128          */
129         public function get_endtime()
130         {
131                 if ($this->endTime !== null)
132                 {
133                         return $this->endTime;
134                 }
135                 else
136                 {
137                         return null;
138                 }
139         }
140
141         /**
142          * Get the language
143          *
144          * @link http://tools.ietf.org/html/rfc3066
145          * @return string|null Language code as per RFC 3066
146          */
147         public function get_language()
148         {
149                 if ($this->lang !== null)
150                 {
151                         return $this->lang;
152                 }
153                 else
154                 {
155                         return null;
156                 }
157         }
158
159         /**
160          * Get the start time
161          *
162          * @return string|null Time in the format 'hh:mm:ss.SSS'
163          */
164         public function get_starttime()
165         {
166                 if ($this->startTime !== null)
167                 {
168                         return $this->startTime;
169                 }
170                 else
171                 {
172                         return null;
173                 }
174         }
175
176         /**
177          * Get the text of the caption
178          *
179          * @return string|null
180          */
181         public function get_text()
182         {
183                 if ($this->text !== null)
184                 {
185                         return $this->text;
186                 }
187                 else
188                 {
189                         return null;
190                 }
191         }
192
193         /**
194          * Get the content type (not MIME type)
195          *
196          * @return string|null Either 'text' or 'html'
197          */
198         public function get_type()
199         {
200                 if ($this->type !== null)
201                 {
202                         return $this->type;
203                 }
204                 else
205                 {
206                         return null;
207                 }
208         }
209 }
210