Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 310 and 311] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403] [Versions 39 and 311]

   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  }