Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/aimogen-pro/res/simplepie/src/Source.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
/**
4
+
* SimplePie
5
+
*
6
+
* A PHP-Based RSS and Atom Feed Framework.
7
+
* Takes the hard work out of managing a complete RSS/Atom solution.
8
+
*
9
+
* Copyright (c) 2004-2022, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
10
+
* All rights reserved.
11
+
*
12
+
* Redistribution and use in source and binary forms, with or without modification, are
13
+
* permitted provided that the following conditions are met:
14
+
*
15
+
* * Redistributions of source code must retain the above copyright notice, this list of
16
+
* conditions and the following disclaimer.
17
+
*
18
+
* * Redistributions in binary form must reproduce the above copyright notice, this list
19
+
* of conditions and the following disclaimer in the documentation and/or other materials
20
+
* provided with the distribution.
21
+
*
22
+
* * Neither the name of the SimplePie Team nor the names of its contributors may be used
23
+
* to endorse or promote products derived from this software without specific prior
24
+
* written permission.
25
+
*
26
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
27
+
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
28
+
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
29
+
* AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
33
+
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
+
* POSSIBILITY OF SUCH DAMAGE.
35
+
*
36
+
* @package SimplePie
37
+
* @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
38
+
* @author Ryan Parman
39
+
* @author Sam 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
+
namespace SimplePie;
46
+
47
+
/**
48
+
* Handles `<atom:source>`
49
+
*
50
+
* Used by {@see \SimplePie\Item::get_source()}
51
+
*
52
+
* This class can be overloaded with {@see \SimplePie::set_source_class()}
53
+
*
54
+
* @package SimplePie
55
+
* @subpackage API
56
+
*/
57
+
class Source implements RegistryAware
58
+
{
59
+
public $item;
60
+
public $data = [];
61
+
protected $registry;
62
+
63
+
public function __construct($item, $data)
64
+
{
65
+
$this->item = $item;
66
+
$this->data = $data;
67
+
}
68
+
69
+
public function set_registry(\SimplePie\Registry $registry)/* : void */
70
+
{
71
+
$this->registry = $registry;
72
+
}
73
+
74
+
public function __toString()
75
+
{
76
+
return md5(serialize($this->data));
77
+
}
78
+
79
+
public function get_source_tags($namespace, $tag)
80
+
{
81
+
if (isset($this->data['child'][$namespace][$tag])) {
82
+
return $this->data['child'][$namespace][$tag];
83
+
}
84
+
85
+
return null;
86
+
}
87
+
88
+
public function get_base($element = [])
89
+
{
90
+
return $this->item->get_base($element);
91
+
}
92
+
93
+
public function sanitize($data, $type, $base = '')
94
+
{
95
+
return $this->item->sanitize($data, $type, $base);
96
+
}
97
+
98
+
public function get_item()
99
+
{
100
+
return $this->item;
101
+
}
102
+
103
+
public function get_title()
104
+
{
105
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'title')) {
106
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_10_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
107
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'title')) {
108
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_03_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
109
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_10, 'title')) {
110
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
111
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_090, 'title')) {
112
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
113
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'title')) {
114
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
115
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'title')) {
116
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
117
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'title')) {
118
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
119
+
}
120
+
121
+
return null;
122
+
}
123
+
124
+
public function get_category($key = 0)
125
+
{
126
+
$categories = $this->get_categories();
127
+
if (isset($categories[$key])) {
128
+
return $categories[$key];
129
+
}
130
+
131
+
return null;
132
+
}
133
+
134
+
public function get_categories()
135
+
{
136
+
$categories = [];
137
+
138
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'category') as $category) {
139
+
$term = null;
140
+
$scheme = null;
141
+
$label = null;
142
+
if (isset($category['attribs']['']['term'])) {
143
+
$term = $this->sanitize($category['attribs']['']['term'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
144
+
}
145
+
if (isset($category['attribs']['']['scheme'])) {
146
+
$scheme = $this->sanitize($category['attribs']['']['scheme'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
147
+
}
148
+
if (isset($category['attribs']['']['label'])) {
149
+
$label = $this->sanitize($category['attribs']['']['label'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
150
+
}
151
+
$categories[] = $this->registry->create(Category::class, [$term, $scheme, $label]);
152
+
}
153
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'category') as $category) {
154
+
// This is really the label, but keep this as the term also for BC.
155
+
// Label will also work on retrieving because that falls back to term.
156
+
$term = $this->sanitize($category['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
157
+
if (isset($category['attribs']['']['domain'])) {
158
+
$scheme = $this->sanitize($category['attribs']['']['domain'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
159
+
} else {
160
+
$scheme = null;
161
+
}
162
+
$categories[] = $this->registry->create(Category::class, [$term, $scheme, null]);
163
+
}
164
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'subject') as $category) {
165
+
$categories[] = $this->registry->create(Category::class, [$this->sanitize($category['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT), null, null]);
166
+
}
167
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'subject') as $category) {
168
+
$categories[] = $this->registry->create(Category::class, [$this->sanitize($category['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT), null, null]);
169
+
}
170
+
171
+
if (!empty($categories)) {
172
+
return array_unique($categories);
173
+
}
174
+
175
+
return null;
176
+
}
177
+
178
+
public function get_author($key = 0)
179
+
{
180
+
$authors = $this->get_authors();
181
+
if (isset($authors[$key])) {
182
+
return $authors[$key];
183
+
}
184
+
185
+
return null;
186
+
}
187
+
188
+
public function get_authors()
189
+
{
190
+
$authors = [];
191
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'author') as $author) {
192
+
$name = null;
193
+
$uri = null;
194
+
$email = null;
195
+
if (isset($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['name'][0]['data'])) {
196
+
$name = $this->sanitize($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['name'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
197
+
}
198
+
if (isset($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]['data'])) {
199
+
$uri = $this->sanitize($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]));
200
+
}
201
+
if (isset($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['email'][0]['data'])) {
202
+
$email = $this->sanitize($author['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['email'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
203
+
}
204
+
if ($name !== null || $email !== null || $uri !== null) {
205
+
$authors[] = $this->registry->create(Author::class, [$name, $uri, $email]);
206
+
}
207
+
}
208
+
if ($author = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'author')) {
209
+
$name = null;
210
+
$url = null;
211
+
$email = null;
212
+
if (isset($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['name'][0]['data'])) {
213
+
$name = $this->sanitize($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['name'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
214
+
}
215
+
if (isset($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]['data'])) {
216
+
$url = $this->sanitize($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]));
217
+
}
218
+
if (isset($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['email'][0]['data'])) {
219
+
$email = $this->sanitize($author[0]['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['email'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
220
+
}
221
+
if ($name !== null || $email !== null || $url !== null) {
222
+
$authors[] = $this->registry->create(Author::class, [$name, $url, $email]);
223
+
}
224
+
}
225
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'creator') as $author) {
226
+
$authors[] = $this->registry->create(Author::class, [$this->sanitize($author['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT), null, null]);
227
+
}
228
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'creator') as $author) {
229
+
$authors[] = $this->registry->create(Author::class, [$this->sanitize($author['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT), null, null]);
230
+
}
231
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ITUNES, 'author') as $author) {
232
+
$authors[] = $this->registry->create(Author::class, [$this->sanitize($author['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT), null, null]);
233
+
}
234
+
235
+
if (!empty($authors)) {
236
+
return array_unique($authors);
237
+
}
238
+
239
+
return null;
240
+
}
241
+
242
+
public function get_contributor($key = 0)
243
+
{
244
+
$contributors = $this->get_contributors();
245
+
if (isset($contributors[$key])) {
246
+
return $contributors[$key];
247
+
}
248
+
249
+
return null;
250
+
}
251
+
252
+
public function get_contributors()
253
+
{
254
+
$contributors = [];
255
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'contributor') as $contributor) {
256
+
$name = null;
257
+
$uri = null;
258
+
$email = null;
259
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['name'][0]['data'])) {
260
+
$name = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['name'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
261
+
}
262
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]['data'])) {
263
+
$uri = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['uri'][0]));
264
+
}
265
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['email'][0]['data'])) {
266
+
$email = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['email'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
267
+
}
268
+
if ($name !== null || $email !== null || $uri !== null) {
269
+
$contributors[] = $this->registry->create(Author::class, [$name, $uri, $email]);
270
+
}
271
+
}
272
+
foreach ((array) $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'contributor') as $contributor) {
273
+
$name = null;
274
+
$url = null;
275
+
$email = null;
276
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['name'][0]['data'])) {
277
+
$name = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['name'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
278
+
}
279
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]['data'])) {
280
+
$url = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['url'][0]));
281
+
}
282
+
if (isset($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['email'][0]['data'])) {
283
+
$email = $this->sanitize($contributor['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['email'][0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
284
+
}
285
+
if ($name !== null || $email !== null || $url !== null) {
286
+
$contributors[] = $this->registry->create(Author::class, [$name, $url, $email]);
287
+
}
288
+
}
289
+
290
+
if (!empty($contributors)) {
291
+
return array_unique($contributors);
292
+
}
293
+
294
+
return null;
295
+
}
296
+
297
+
public function get_link($key = 0, $rel = 'alternate')
298
+
{
299
+
$links = $this->get_links($rel);
300
+
if (isset($links[$key])) {
301
+
return $links[$key];
302
+
}
303
+
304
+
return null;
305
+
}
306
+
307
+
/**
308
+
* Added for parity between the parent-level and the item/entry-level.
309
+
*/
310
+
public function get_permalink()
311
+
{
312
+
return $this->get_link(0);
313
+
}
314
+
315
+
public function get_links($rel = 'alternate')
316
+
{
317
+
if (!isset($this->data['links'])) {
318
+
$this->data['links'] = [];
319
+
if ($links = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'link')) {
320
+
foreach ($links as $link) {
321
+
if (isset($link['attribs']['']['href'])) {
322
+
$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
323
+
$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($link));
324
+
}
325
+
}
326
+
}
327
+
if ($links = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'link')) {
328
+
foreach ($links as $link) {
329
+
if (isset($link['attribs']['']['href'])) {
330
+
$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
331
+
$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($link));
332
+
}
333
+
}
334
+
}
335
+
if ($links = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_10, 'link')) {
336
+
$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($links[0]));
337
+
}
338
+
if ($links = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_090, 'link')) {
339
+
$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($links[0]));
340
+
}
341
+
if ($links = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'link')) {
342
+
$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($links[0]));
343
+
}
344
+
345
+
$keys = array_keys($this->data['links']);
346
+
foreach ($keys as $key) {
347
+
if ($this->registry->call(Misc::class, 'is_isegment_nz_nc', [$key])) {
348
+
if (isset($this->data['links'][\SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY . $key])) {
349
+
$this->data['links'][\SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][\SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY . $key]);
350
+
$this->data['links'][$key] = &$this->data['links'][\SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY . $key];
351
+
} else {
352
+
$this->data['links'][\SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY . $key] = &$this->data['links'][$key];
353
+
}
354
+
} elseif (substr($key, 0, 41) === \SimplePie\SimplePie::IANA_LINK_RELATIONS_REGISTRY) {
355
+
$this->data['links'][substr($key, 41)] = &$this->data['links'][$key];
356
+
}
357
+
$this->data['links'][$key] = array_unique($this->data['links'][$key]);
358
+
}
359
+
}
360
+
361
+
if (isset($this->data['links'][$rel])) {
362
+
return $this->data['links'][$rel];
363
+
}
364
+
365
+
return null;
366
+
}
367
+
368
+
public function get_description()
369
+
{
370
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'subtitle')) {
371
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_10_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
372
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'tagline')) {
373
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_03_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
374
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_10, 'description')) {
375
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
376
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_090, 'description')) {
377
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
378
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'description')) {
379
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
380
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'description')) {
381
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
382
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'description')) {
383
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
384
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ITUNES, 'summary')) {
385
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_HTML, $this->get_base($return[0]));
386
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ITUNES, 'subtitle')) {
387
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_HTML, $this->get_base($return[0]));
388
+
}
389
+
390
+
return null;
391
+
}
392
+
393
+
public function get_copyright()
394
+
{
395
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'rights')) {
396
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_10_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
397
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_03, 'copyright')) {
398
+
return $this->sanitize($return[0]['data'], $this->registry->call(Misc::class, 'atom_03_construct_type', [$return[0]['attribs']]), $this->get_base($return[0]));
399
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'copyright')) {
400
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
401
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'rights')) {
402
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
403
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'rights')) {
404
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
405
+
}
406
+
407
+
return null;
408
+
}
409
+
410
+
public function get_language()
411
+
{
412
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_RSS_20, 'language')) {
413
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
414
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_11, 'language')) {
415
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
416
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_DC_10, 'language')) {
417
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
418
+
} elseif (isset($this->data['xml_lang'])) {
419
+
return $this->sanitize($this->data['xml_lang'], \SimplePie\SimplePie::CONSTRUCT_TEXT);
420
+
}
421
+
422
+
return null;
423
+
}
424
+
425
+
public function get_latitude()
426
+
{
427
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_W3C_BASIC_GEO, 'lat')) {
428
+
return (float) $return[0]['data'];
429
+
} elseif (($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match)) {
430
+
return (float) $match[1];
431
+
}
432
+
433
+
return null;
434
+
}
435
+
436
+
public function get_longitude()
437
+
{
438
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_W3C_BASIC_GEO, 'long')) {
439
+
return (float) $return[0]['data'];
440
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_W3C_BASIC_GEO, 'lon')) {
441
+
return (float) $return[0]['data'];
442
+
} elseif (($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match)) {
443
+
return (float) $match[2];
444
+
}
445
+
446
+
return null;
447
+
}
448
+
449
+
public function get_image_url()
450
+
{
451
+
if ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ITUNES, 'image')) {
452
+
return $this->sanitize($return[0]['attribs']['']['href'], \SimplePie\SimplePie::CONSTRUCT_IRI);
453
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'logo')) {
454
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($return[0]));
455
+
} elseif ($return = $this->get_source_tags(\SimplePie\SimplePie::NAMESPACE_ATOM_10, 'icon')) {
456
+
return $this->sanitize($return[0]['data'], \SimplePie\SimplePie::CONSTRUCT_IRI, $this->get_base($return[0]));
457
+
}
458
+
459
+
return null;
460
+
}
461
+
}
462
+
463
+
class_alias('SimplePie\Source', 'SimplePie_Source');
464
+