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

CVS リポジトリの参照

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

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

revision 1.3 by panda, Mon Feb 24 10:09:43 2003 UTC revision 1.10 by arino, Sun Feb 29 07:43:21 2004 UTC
# Line 8  Line 8 
8  function plugin_rss10_action()  function plugin_rss10_action()
9  {  {
10          global $script,$rss_max,$page_title,$whatsnew;          global $script,$rss_max,$page_title,$whatsnew;
11            global $trackback;
12                    
13          $self = $script.'?';          $self = (preg_match('#^https?://#',$script) ? $script : get_script_uri());
14            if ($self === FALSE)
15          $page_title_utf8 = $page_title;          {
16          if (function_exists('mb_convert_encoding')) {                  die_message("please set '\$script' in ".INI_FILE);
                 $page_title_utf8 = mb_convert_encoding($page_title_utf8,'UTF-8',SOURCE_ENCODING);  
17          }          }
18            
19            $page_title_utf8 = mb_convert_encoding($page_title,'UTF-8',SOURCE_ENCODING);
20            
21          $items = $rdf_li = '';          $items = $rdf_li = '';
22            
23          if (!file_exists(CACHE_DIR.'recent.dat')) {          if (!file_exists(CACHE_DIR.'recent.dat'))
24            {
25                  return '';                  return '';
26          }          }
27          $recent = file(CACHE_DIR.'recent.dat');          $recent = file(CACHE_DIR.'recent.dat');
28          $lines = array_splice($recent,0,$rss_max);          $lines = array_splice($recent,0,$rss_max);
29          foreach ($lines as $line) {          foreach ($lines as $line)
30            {
31                  list($time,$page) = explode("\t",rtrim($line));                  list($time,$page) = explode("\t",rtrim($line));
32                  $r_page = rawurlencode($page);                  $r_page = rawurlencode($page);
33                  $title = $page;                  $title = mb_convert_encoding($page,'UTF-8',SOURCE_ENCODING);
                 if (function_exists('mb_convert_encoding')) {  
                         $title = mb_convert_encoding($title,'UTF-8',SOURCE_ENCODING);  
                 }  
34                  // 'O'が出力する時刻を'+09:00'の形に整形                  // 'O'が出力する時刻を'+09:00'の形に整形
35                  $dcdate = substr_replace(get_date('Y-m-d\TH:i:sO',$time),':',-2,0);                  $dc_date = substr_replace(get_date('Y-m-d\TH:i:sO',$time),':',-2,0);
36                                    
37  //              $desc = get_date('D, d M Y H:i:s T',$time);  //              $desc = get_date('D, d M Y H:i:s T',$time);
38  // <description>$desc</description>  // <description>$desc</description>
39                                    
40                    $dc_identifier = $trackback_ping = '';
41                    if ($trackback)
42                    {
43                            $tb_id = md5($r_page);
44                            $dc_identifier = " <dc:identifier>$self?$r_page</dc:identifier>";
45                            $trackback_ping = " <trackback:ping>$self?plugin=tb&amp;tb_id=$tb_id</trackback:ping>";
46                    }
47                  $items .= <<<EOD                  $items .= <<<EOD
48  <item rdf:about="$script?$r_page">  <item rdf:about="$self?$r_page">
49   <title>$title</title>   <title>$title</title>
50   <link>$script?$r_page</link>   <link>$self?$r_page</link>
51   <dc:date>$dcdate</dc:date>   <dc:date>$dc_date</dc:date>
52    $dc_identifier
53    $trackback_ping
54  </item>  </item>
55    
56  EOD;  EOD;
57                  $rdf_li .= "    <rdf:li rdf:resource=\"$script?$r_page\" />\n";                  $rdf_li .= "    <rdf:li rdf:resource=\"$self?$r_page\" />\n";
58          }          }
59                    
60            $xmlns_trackback = $trackback ?  
61                    '  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"' : '';
62            
63          header('Content-type: application/xml');          header('Content-type: application/xml');
64                    
65          print <<<EOD          print <<<EOD
# Line 54  EOD; Line 67  EOD;
67    
68  <rdf:RDF  <rdf:RDF
69    xmlns:dc="http://purl.org/dc/elements/1.1/"    xmlns:dc="http://purl.org/dc/elements/1.1/"
70    $xmlns_trackback
71    xmlns="http://purl.org/rss/1.0/"    xmlns="http://purl.org/rss/1.0/"
72    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
73    xml:lang="ja">    xml:lang="ja">
74    
75   <channel rdf:about="$script?rss">   <channel rdf:about="$self?$whatsnew">
76    <title>$page_title_utf8</title>    <title>$page_title_utf8</title>
77    <link>$script?$whatsnew</link>    <link>$self?$whatsnew</link>
78    <description>PukiWiki RecentChanges</description>    <description>PukiWiki RecentChanges</description>
79    <items>    <items>
80     <rdf:Seq>     <rdf:Seq>

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.10

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