Wordpress 3.5
[autoinstalls/wordpress.git] / wp-includes / SimplePie / Author.php
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