Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
declare(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
 
46
namespace 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
 */
58
class 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
 
152
class_alias('SimplePie\Author', 'SimplePie_Author');