OSDN Git Service

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