balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

Caption.php (4401B)


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