Elgg  Version master
default.php
Go to the documentation of this file.
1 <?php
11 
12 // Don't show RSS if disabled
13 if (elgg()->config->disable_rss) {
14  throw new PageNotFoundException();
15 }
16 
17 // Set title
18 $title = elgg_get_site_entity()->getDisplayName();
19 if (!empty($vars['title'])) {
20  $title .= ": {$vars['title']}";
21 }
22 
23 // Remove RSS from URL
25 
26 $rssurl = htmlspecialchars($url, ENT_NOQUOTES, 'UTF-8');
27 $url = htmlspecialchars($url, ENT_NOQUOTES, 'UTF-8');
28 
29 $body = elgg_extract('body', $vars, '');
30 $description = elgg_extract('description', $vars, '');
31 
32 $namespaces = elgg_view('extensions/xmlns');
33 $extensions = elgg_view('extensions/channel');
34 
35 // allow caching as required by stupid MS products for https feeds.
36 elgg_set_http_header('Pragma: public');
37 elgg_set_http_header('Content-Type: text/xml; charset=utf-8');
38 
39 // echo is needed because of PHP short tag support
40 // https://www.php.net/manual/en/ini.core.php#ini.short-open-tag
41 echo "<?xml version='1.0'?>";
42 ?>
43 <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" <?= $namespaces; ?>>
44 <channel>
45  <title><![CDATA[<?= $title; ?>}]]></title>
46  <link><?= $url; ?></link>
47  <atom:link href="<?= $rssurl; ?>" rel="self" type="application/rss+xml" />
48  <description><![CDATA[<?= $description; ?>}]]></description>
49  <?= $extensions; ?>
50  <?= $body; ?>
51 </channel>
52 </rss>
$site description
Definition: settings.php:14
Thrown when page is not accessible.
if(!array_key_exists($size, $icon_sizes)) $vars['size']
Definition: default.php:25
$url
Definition: default.php:31
$title
Definition: default.php:29
$body
Definition: default.php:22
elgg()
Bootstrapping and helper procedural code available for use in Elgg core and plugins.
Definition: elgglib.php:12
elgg_http_remove_url_query_element(string $url, string $element)
Removes an element from a URL's query string.
Definition: elgglib.php:169
elgg_set_http_header(string $header, bool $replace=true)
Set a response HTTP header.
Definition: elgglib.php:26
elgg_extract($key, $array, $default=null, bool $strict=true)
Checks for $array[$key] and returns its value if it exists, else returns $default.
Definition: elgglib.php:256
elgg_get_site_entity()
Get the current site entity.
Definition: entities.php:101
elgg_view(string $view, array $vars=[], string $viewtype='')
Return a parsed view.
Definition: views.php:156
string version
Definition: conf.py:60
elgg_get_current_url()
Returns the current page's complete URL.
$description
Definition: default.php:20
$namespaces
Definition: default.php:32
$extensions
Definition: default.php:33
$rssurl
Definition: default.php:26