forked from NucleusCMS/NucleusCMS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxml-rss2.php
73 lines (60 loc) · 1.76 KB
/
xml-rss2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/*
* Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
* Copyright (C) The Nucleus Group
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* (see nucleus/documentation/index.html#license for more info)
*/
/**
* Nucleus RSS syndication channel skin
* @license http://nucleuscms.org/license.txt GNU General Public License
* @copyright Copyright (C) 2002-2009 The Nucleus Group
* @version $Id$
*/
header('Pragma: no-cache');
$CONF = array();
$CONF['Self'] = 'xml-rss2.php';
include('./config.php');
if (!$CONF['DisableSite']) {
// get feed into $feed
ob_start();
selectSkin('feeds/rss20');
selector();
$feed = ob_get_contents();
ob_end_clean();
// create ETAG (hash of feed)
// (HTTP_IF_NONE_MATCH has quotes around it)
$eTag = '"' . md5($feed) . '"';
header('Etag: ' . $eTag);
// compare Etag to what we got
if ($eTag == serverVar('HTTP_IF_NONE_MATCH') ) {
header('HTTP/1.0 304 Not Modified');
header('Content-Length: 0');
} else {
if ((strtolower(_CHARSET) != 'utf-8') && (function_exists('mb_convert_encoding'))) {
$feed = mb_convert_encoding($feed, "UTF-8", _CHARSET);
}
header("Content-Type: application/xml");
// dump feed
echo $feed;
}
} else {
// output empty RSS file...
// (because site is disabled)
echo '<' . '?xml version="1.0" encoding="' . _CHARSET . '"?' . '>';
?>
<rss version="2.0">
<channel>
<title><?php echo hsc($CONF['SiteName']); ?></title>
<link><?php echo hsc($CONF['IndexURL']); ?></link>
<description></description>
<docs>http://backend.userland.com/rss</docs>
</channel>
</rss>
<?php
}
?>