angelovcom.net

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

Author.php (3513B)


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