home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / SimplePie / Author.php next >
Encoding:
PHP Script  |  2012-11-21  |  3.5 KB  |  158 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.  * Manages all author-related data
  47.  *
  48.  * Used by {@see SimplePie_Item::get_author()} and {@see SimplePie::get_authors()}
  49.  *
  50.  * This class can be overloaded with {@see SimplePie::set_author_class()}
  51.  *
  52.  * @package SimplePie
  53.  * @subpackage API
  54.  */
  55. class SimplePie_Author
  56. {
  57.     /**
  58.      * Author's name
  59.      *
  60.      * @var string
  61.      * @see get_name()
  62.      */
  63.     var $name;
  64.  
  65.     /**
  66.      * Author's link
  67.      *
  68.      * @var string
  69.      * @see get_link()
  70.      */
  71.     var $link;
  72.  
  73.     /**
  74.      * Author's email address
  75.      *
  76.      * @var string
  77.      * @see get_email()
  78.      */
  79.     var $email;
  80.  
  81.     /**
  82.      * Constructor, used to input the data
  83.      *
  84.      * @param string $name
  85.      * @param string $link
  86.      * @param string $email
  87.      */
  88.     public function __construct($name = null, $link = null, $email = null)
  89.     {
  90.         $this->name = $name;
  91.         $this->link = $link;
  92.         $this->email = $email;
  93.     }
  94.  
  95.     /**
  96.      * String-ified version
  97.      *
  98.      * @return string
  99.      */
  100.     public function __toString()
  101.     {
  102.         // There is no $this->data here
  103.         return md5(serialize($this));
  104.     }
  105.  
  106.     /**
  107.      * Author's name
  108.      *
  109.      * @return string|null
  110.      */
  111.     public function get_name()
  112.     {
  113.         if ($this->name !== null)
  114.         {
  115.             return $this->name;
  116.         }
  117.         else
  118.         {
  119.             return null;
  120.         }
  121.     }
  122.  
  123.     /**
  124.      * Author's link
  125.      *
  126.      * @return string|null
  127.      */
  128.     public function get_link()
  129.     {
  130.         if ($this->link !== null)
  131.         {
  132.             return $this->link;
  133.         }
  134.         else
  135.         {
  136.             return null;
  137.         }
  138.     }
  139.  
  140.     /**
  141.      * Author's email address
  142.      *
  143.      * @return string|null
  144.      */
  145.     public function get_email()
  146.     {
  147.         if ($this->email !== null)
  148.         {
  149.             return $this->email;
  150.         }
  151.         else
  152.         {
  153.             return null;
  154.         }
  155.     }
  156. }
  157.  
  158.