home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / SimplePie / Caption.php < prev    next >
Encoding:
PHP Script  |  2012-11-21  |  4.4 KB  |  211 lines

  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.  
  211.