オープンソース・ソフトウェアの開発とダウンロード

CVS リポジトリの参照

Contents of /pukiwiki/pukiwiki/plugin/rss10.inc.php

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (show annotations) (download) (as text)
Mon Jun 9 07:56:58 2003 UTC (20 years, 11 months ago) by arino
Branch: MAIN
CVS Tags: r1_4_rc3
Changes since 1.6: +10 -10 lines
File MIME type: application/x-httpd-php
BugTrack/369: $script -> $self

1 <?php
2 /////////////////////////////////////////////////
3 // PukiWiki - Yet another WikiWikiWeb clone.
4 //
5 // $Id: rss10.inc.php,v 1.6 2003/06/06 08:08:14 arino Exp $
6 //
7 // RecentChanges の RSS を出力
8 function plugin_rss10_action()
9 {
10 global $rss_max,$page_title,$whatsnew;
11 global $trackback;
12
13 $self = 'http://'.SERVER_NAME.PHP_SELF.'?';
14
15 $page_title_utf8 = mb_convert_encoding($page_title,'UTF-8',SOURCE_ENCODING);
16
17 $items = $rdf_li = '';
18
19 if (!file_exists(CACHE_DIR.'recent.dat'))
20 {
21 return '';
22 }
23 $recent = file(CACHE_DIR.'recent.dat');
24 $lines = array_splice($recent,0,$rss_max);
25 foreach ($lines as $line)
26 {
27 list($time,$page) = explode("\t",rtrim($line));
28 $r_page = rawurlencode($page);
29 $title = mb_convert_encoding($page,'UTF-8',SOURCE_ENCODING);
30 // 'O'が出力する時刻を'+09:00'の形に整形
31 $dc_date = substr_replace(get_date('Y-m-d\TH:i:sO',$time),':',-2,0);
32
33 // $desc = get_date('D, d M Y H:i:s T',$time);
34 // <description>$desc</description>
35
36 $dc_identifier = $trackback_ping = '';
37 if ($trackback)
38 {
39 $tb_id = md5($r_page);
40 $dc_identifier = " <dc:identifer>$self$r_page</dc:identifer>";
41 $trackback_ping = " <trackback:ping>{$self}plugin=tb&amp;tb_id=$tb_id</trackback:ping>";
42 }
43 $items .= <<<EOD
44 <item rdf:about="$self$r_page">
45 <title>$title</title>
46 <link>$self$r_page</link>
47 <dc:date>$dc_date</dc:date>
48 $dc_identifier
49 $trackback_ping
50 </item>
51
52 EOD;
53 $rdf_li .= " <rdf:li rdf:resource=\"$self$r_page\" />\n";
54 }
55
56 $xmlns_trackback = $trackback ?
57 ' xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"' : '';
58
59 header('Content-type: application/xml');
60
61 print <<<EOD
62 <?xml version="1.0" encoding="utf-8"?>
63
64 <rdf:RDF
65 xmlns:dc="http://purl.org/dc/elements/1.1/"
66 $xmlns_trackback
67 xmlns="http://purl.org/rss/1.0/"
68 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
69 xml:lang="ja">
70
71 <channel rdf:about="{$self}rss">
72 <title>$page_title_utf8</title>
73 <link>$self$whatsnew</link>
74 <description>PukiWiki RecentChanges</description>
75 <items>
76 <rdf:Seq>
77 $rdf_li
78 </rdf:Seq>
79 </items>
80 </channel>
81
82 $items
83 </rdf:RDF>
84 EOD;
85 exit;
86 }
87 ?>

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26