--- /dev/null
+<?php\r
+\r
+/**\r
+ * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
+ * Copyright (C) 2002-2004 The Nucleus Group\r
+ *\r
+ * This program is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License\r
+ * as published by the Free Software Foundation; either version 2\r
+ * of the License, or (at your option) any later version.\r
+ * (see nucleus/documentation/index.html#license for more info)\r
+ *\r
+ * Nucleus RSS syndication channel skin\r
+ */\r
+\r
+header("Pragma: no-cache");\r
+\r
+$CONF = array();\r
+$CONF['Self'] = "xml-rss2.php";\r
+\r
+include('./config.php');\r
+\r
+if (!$CONF['DisableSite']) {\r
+ // get feed into $feed\r
+ ob_start();\r
+ selectSkin('feeds/rss20');\r
+ selector();\r
+ $feed = ob_get_contents();\r
+ ob_end_clean();\r
+ \r
+ // create ETAG (hash of feed)\r
+ // (HTTP_IF_NONE_MATCH has quotes around it)\r
+ $eTag = '"'.md5($feed).'"';\r
+ header('Etag: '.$eTag);\r
+ \r
+ // compare Etag to what we got\r
+ if ($eTag == serverVar('HTTP_IF_NONE_MATCH')) { \r
+ header("HTTP/1.0 304 Not Modified");\r
+ header('Content-Length: 0');\r
+ } else {\r
+ header("Content-Type: application/xml");\r
+ // dump feed\r
+ echo $feed;\r
+ }\r
+ \r
+} else {\r
+ // output empty RSS file...\r
+ // (because site is disabled)\r
+ \r
+ echo '<' . '?xml version="1.0" encoding="ISO-8859-1"?' . '>';\r
+ \r
+ ?>\r
+ <rss version="2.0">\r
+ <channel>\r
+ <title><?php echo htmlspecialchars($CONF['SiteName'])?></title>\r
+ <link><?php echo htmlspecialchars($CONF['IndexURL'])?></link>\r
+ <description></description>\r
+ <docs>http://backend.userland.com/rss</docs>\r
+ </channel>\r
+ </rss> \r
+ <?php\r
+}\r
+\r
+?>\r