1<?php 2 3declare(strict_types=1); 4/** 5 * SimplePie 6 * 7 * A PHP-Based RSS and Atom Feed Framework. 8 * Takes the hard work out of managing a complete RSS/Atom solution. 9 * 10 * Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors 11 * All rights reserved. 12 * 13 * Redistribution and use in source and binary forms, with or without modification, are 14 * permitted provided that the following conditions are met: 15 * 16 * * Redistributions of source code must retain the above copyright notice, this list of 17 * conditions and the following disclaimer. 18 * 19 * * Redistributions in binary form must reproduce the above copyright notice, this list 20 * of conditions and the following disclaimer in the documentation and/or other materials 21 * provided with the distribution. 22 * 23 * * Neither the name of the SimplePie Team nor the names of its contributors may be used 24 * to endorse or promote products derived from this software without specific prior 25 * written permission. 26 * 27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 28 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 29 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS 30 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 34 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 * POSSIBILITY OF SUCH DAMAGE. 36 * 37 * @package SimplePie 38 * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue 39 * @author Ryan Parman 40 * @author Sam Sneddon 41 * @author Ryan McCue 42 * @link http://simplepie.org/ SimplePie 43 * @license http://www.opensource.org/licenses/bsd-license.php BSD License 44 */ 45 46namespace SimplePie; 47 48/** 49 * Manages all author-related data 50 * 51 * Used by {@see Item::get_author()} and {@see SimplePie::get_authors()} 52 * 53 * This class can be overloaded with {@see SimplePie::set_author_class()} 54 * 55 * @package SimplePie 56 * @subpackage API 57 */ 58class Author 59{ 60 /** 61 * Author's name 62 * 63 * @var string 64 * @see get_name() 65 */ 66 public $name; 67 68 /** 69 * Author's link 70 * 71 * @var string 72 * @see get_link() 73 */ 74 public $link; 75 76 /** 77 * Author's email address 78 * 79 * @var string 80 * @see get_email() 81 */ 82 public $email; 83 84 /** 85 * Constructor, used to input the data 86 * 87 * @param string $name 88 * @param string $link 89 * @param string $email 90 */ 91 public function __construct($name = null, $link = null, $email = null) 92 { 93 $this->name = $name; 94 $this->link = $link; 95 $this->email = $email; 96 } 97 98 /** 99 * String-ified version 100 * 101 * @return string 102 */ 103 public function __toString() 104 { 105 // There is no $this->data here 106 return md5(serialize($this)); 107 } 108 109 /** 110 * Author's name 111 * 112 * @return string|null 113 */ 114 public function get_name() 115 { 116 if ($this->name !== null) { 117 return $this->name; 118 } 119 120 return null; 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 return $this->link; 132 } 133 134 return null; 135 } 136 137 /** 138 * Author's email address 139 * 140 * @return string|null 141 */ 142 public function get_email() 143 { 144 if ($this->email !== null) { 145 return $this->email; 146 } 147 148 return null; 149 } 150} 151 152class_alias('SimplePie\Author', 'SimplePie_Author'); 153