OSDN Git Service

Cleanup. Shrink quotation. Shrink.
authorhenoheno <henoheno>
Thu, 6 Jan 2005 13:54:14 +0000 (22:54 +0900)
committerhenoheno <henoheno>
Thu, 6 Jan 2005 13:54:14 +0000 (22:54 +0900)
Some Japanese => English.
Added a blank line between functions.
'or' for boolean => '||.
array_key_exists() => isset().

plugin/showrss.inc.php

index ee565d3..ae14fcb 100644 (file)
 <?php
-/////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
+// $Id: showrss.inc.php,v 1.15 2005/01/06 13:54:14 henoheno Exp $
+//  Id:showrss.inc.php,v 1.40 2003/03/18 11:52:58 hiro Exp
 //
-// $Id: showrss.inc.php,v 1.14 2004/09/19 14:05:30 henoheno Exp $
-//
-// Modified version by PANDA <panda@arino.jp>
-//
+// Show RSS plugin
 
-/**
- *
- * showrss ¥×¥é¥°¥¤¥ó (Created by hiro_do3ob@yahoo.co.jp)
- *
- * ¥é¥¤¥»¥ó¥¹¤Ï PukiWiki ËÜÂΤÈƱ¤¸¤¯ GNU General Public License (GPL) ¤Ç¤¹¡£
- * http://www.gnu.org/licenses/gpl.txt
- *
- * pukiwikiÍѤΥץ饰¥¤¥ó¤Ç¤¹¡£
- * pukiwiki1.3.2°Ê¾å¤ÇÆ°¤¯¤È»×¤¤¤Þ¤¹¡£
- *
- * º£¤Î¤È¤³¤íÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤ÏPHP ¤Î xml extension ¤¬É¬¿Ü¤Ç¤¹¡£PHP¤ËÁȤ߹þ¤Þ¤ì¤Æ¤Ê¤¤¾ì¹ç¤Ï¤½¤Ã¤±¤Ê¤¤¥¨¥é¡¼¤¬½Ð¤ë¤È»×¤¤¤Þ¤¹¡£
- * Àµµ¬É½¸½ or Ê¸»úÎó´Ø¿ô¤Ç¤Ê¤ó¤È¤«¤Ê¤é¤Ê¤¯¤â¤Ê¤µ¤²¤Ê¤ó¤Ç¤¹¤¬¼ûÍפäƤɤ줯¤é¤¤¤¢¤ë¤Î¤«¤ï¤«¤é¤¤¤Î¤ÇÊÝα¤Ç¤¹¡£
- *
- * version: Id:showrss.inc.php,v 1.40 2003/03/18 11:52:58 hiro Exp
- *
+/*
+ * Created by hiro_do3ob@yahoo.co.jp
+ * Modified by PANDA <panda@arino.jp>, and PukiWiki Developer Team
+ * Licence: GPL, same as PukiWiki
+ * This plugin needs 'PHP xml extension'
  */
 
-// showrss¥×¥é¥°¥¤¥ó¤¬»ÈÍѲÄǽ¤«¤É¤¦¤«¤òɽ¼¨
+// Show this plugin is enable or not for this PukiWiki
 function plugin_showrss_action()
 {
-       $xml_extension = extension_loaded('xml');
+       $xml_extension      = extension_loaded('xml');
        $mbstring_extension = extension_loaded('mbstring');
 
-       $xml_msg      = $xml_extension      ? 'xml extension is loaded' : 'COLOR(RED){xml extension is not loaded}';
+       $xml_msg      = $xml_extension      ? 'xml extension is loaded'      : 'COLOR(RED){xml extension is not loaded}';
        $mbstring_msg = $mbstring_extension ? 'mbstring extension is loaded' : 'COLOR(RED){mbstring extension is not loaded}';
-
-       $showrss_info = '';
-       $showrss_info .= "| xml parser | $xml_msg |\n";
-       $showrss_info .= "| multibyte | $mbstring_msg |\n";
+       $showrss_info  =
+               '| xml parser | ' . $xml_msg      . ' |' . "\n" .
+               '| multibyte  | ' . $mbstring_msg . ' |' . "\n";
 
        return array('msg' => 'showrss_info', 'body' => convert_html($showrss_info));
 }
 
 function plugin_showrss_convert()
 {
-       if (func_num_args() == 0)
-       {
-               // °ú¿ô¤¬¤Ê¤¤¾ì¹ç¤Ï¥¨¥é¡¼
-               return "<p>showrss: no parameter(s).</p>\n";
-       }
-       if (!extension_loaded('xml'))
-       {
-               // xml ³ÈÄ¥µ¡Ç½¤¬Í­¸ú¤Ç¤Ê¤¤¾ì¹ç¡£
-               return "<p>showrss: xml extension is not loaded</p>\n";
+       if (func_num_args() == 0) {
+               return '<p>showrss: no parameter(s).</p>' . "\n";
+       } else if (! extension_loaded('xml')) {
+               return '<p>showrss: xml extension is not loaded</p>' . "\n";
        }
 
-       $array = func_get_args();
+       $array  = func_get_args();
        $rssurl = $tmplname = $usecache = $usetimestamp = '';
 
-       switch (func_num_args())
-       {
-               case 4:
-                       $usetimestamp = trim($array[3]);
-               case 3:
-                       $usecache = $array[2];
-               case 2:
-                       $tmplname = strtolower(trim($array[1]));
-               case 1:
-                       $rssurl = trim($array[0]);
+       switch (func_num_args()) {
+       case 4: $usetimestamp = trim($array[3]);
+       case 3: $usecache     = $array[2];
+       case 2: $tmplname     = strtolower(trim($array[1]));
+       case 1: $rssurl       = trim($array[0]);
        }
 
        // RSS ¥Ñ¥¹¤ÎÃÍ¥Á¥§¥Ã¥¯
-       if (!is_url($rssurl))
-       {
-               return '<p>showrss: syntax error. '.htmlspecialchars($rssurl)."</p>\n";
-       }
+       if (! is_url($rssurl))
+               return '<p>showrss: syntax error. ' . htmlspecialchars($rssurl) . '</p>' . "\n";
 
-       $class = "ShowRSS_html_$tmplname";
-       if (!class_exists($class))
-       {
-               $class = 'ShowRSS_html';
-       }
+       $class = 'ShowRSS_html_' . $tmplname;
+       if (! class_exists($class)) $class = 'ShowRSS_html';
 
-       list($rss,$time) = plugin_showrss_get_rss($rssurl,$usecache);
+       list($rss, $time) = plugin_showrss_get_rss($rssurl, $usecache);
        if ($rss === FALSE)
-       {
-               return "<p>showrss: cannot get rss from server.</p>\n";
-       }
+               return '<p>showrss: cannot get rss from server.</p>' . "\n";
 
        $obj = new $class($rss);
 
        $timestamp = '';
-       if ($usetimestamp > 0)
-       {
+       if ($usetimestamp > 0) {
                $time = get_date('Y/m/d H:i:s',$time);
-               $timestamp = "<p style=\"font-size:10px; font-weight:bold\">Last-Modified:$time</p>";
+               $timestamp = '<p style="font-size:10px; font-weight:bold">Last-Modified:' . $time . '</p>';
        }
        return $obj->toString($timestamp);
 }
-// rssÇÛÎ󤫤éhtml¤òºî¤ë
+
+// RSSÇÛÎ󤫤éhtml¤òºî¤ë
 class ShowRSS_html
 {
        var $items = array();
@@ -104,37 +74,38 @@ class ShowRSS_html
 
        function ShowRSS_html($rss)
        {
-               foreach ($rss as $date=>$items)
-               {
-                       foreach ($items as $item)
-                       {
-                               $link = $item['LINK'];
+               foreach ($rss as $date=>$items) {
+                       foreach ($items as $item) {
+                               $link  = $item['LINK'];
                                $title = $item['TITLE'];
                                $passage = get_passage($item['_TIMESTAMP']);
-                               $link = "<a href=\"$link\" title=\"$title $passage\">$title</a>";
+                               $link = '<a href="' . $link . '" title="' .
+                                       $title . ' ' . $passage . '">' . $title . '</a>';
                                $this->items[$date][] = $this->format_link($link);
                        }
                }
        }
+
        function format_link($link)
        {
-               return "$link<br />\n";
+               return $link . '<br />' . "\n";
        }
-       function format_list($date,$str)
+
+       function format_list($date, $str)
        {
                return $str;
        }
+
        function format_body($str)
        {
                return $str;
        }
+
        function toString($timestamp)
        {
                $retval = '';
                foreach ($this->items as $date=>$items)
-               {
-                       $retval .= $this->format_list($date,join('',$items));
-               }
+                       $retval .= $this->format_list($date, join('', $items));
                $retval = $this->format_body($retval);
                return <<<EOD
 <div{$this->class}>
@@ -143,65 +114,62 @@ $retval$timestamp
 EOD;
        }
 }
+
 class ShowRSS_html_menubar extends ShowRSS_html
 {
        var $class = ' class="small"';
 
-       function format_link($link)
-       {
-               return "<li>$link</li>\n";
+       function format_link($link) {
+               return '<li>' . $link . '</li>' . "\n";
        }
-       function format_body($str)
-       {
-               return "<ul class=\"recent_list\">\n$str</ul>\n";
+
+       function format_body($str) {
+               return '<ul class="recent_list">' . "\n" . $str . '</ul>' . "\n";
        }
 }
+
 class ShowRSS_html_recent extends ShowRSS_html
 {
        var $class = ' class="small"';
 
-       function format_link($link)
-       {
-               return "<li>$link</li>\n";
+       function format_link($link) {
+               return '<li>' . $link . '</li>' . "\n";
        }
-       function format_list($date,$str)
-       {
-               return "<strong>$date</strong>\n<ul class=\"recent_list\">\n$str</ul>\n";
+
+       function format_list($date, $str) {
+               return '<strong>' . $date . '</strong>' . "\n" .
+                       '<ul class="recent_list">' . "\n" . $str . '</ul>' . "\n";
        }
 }
+
 // rss¤ò¼èÆÀ¤¹¤ë
-function plugin_showrss_get_rss($target,$usecache)
+function plugin_showrss_get_rss($target, $usecache)
 {
        $buf = '';
        $time = NULL;
-       if ($usecache)
-       {
+       if ($usecache) {
                // ´ü¸ÂÀÚ¤ì¤Î¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢
                plugin_showrss_cache_expire($usecache);
 
                // ¥­¥ã¥Ã¥·¥å¤¬¤¢¤ì¤Ð¼èÆÀ¤¹¤ë
                $filename = CACHE_DIR . encode($target) . '.tmp';
-               if (is_readable($filename))
-               {
-                       $buf = join('',file($filename));
+               if (is_readable($filename)) {
+                       $buf  = join('', file($filename));
                        $time = filemtime($filename) - LOCALZONE;
                }
        }
-       if ($time === NULL)
-       {
-               // rssËÜÂΤò¼èÆÀ
-               $data = http_request($target);
+
+       if ($time === NULL) {
+               $data = http_request($target); // rssËÜÂΤò¼èÆÀ
                if ($data['rc'] !== 200)
-               {
-                       return array(FALSE,0);
-               }
+                       return array(FALSE, 0);
+
                $buf = $data['data'];
                $time = UTIME;
                // ¥­¥ã¥Ã¥·¥å¤òÊݸ
-               if ($usecache)
-               {
+               if ($usecache) {
                        $fp = fopen($filename, 'w');
-                       fwrite($fp,$buf);
+                       fwrite($fp, $buf);
                        fclose($fp);
                }
        }
@@ -210,28 +178,25 @@ function plugin_showrss_get_rss($target,$usecache)
        $obj = new ShowRSS_XML();
        return array($obj->parse($buf),$time);
 }
+
 // ´ü¸ÂÀÚ¤ì¤Î¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢
 function plugin_showrss_cache_expire($usecache)
 {
        $expire = $usecache * 60 * 60; // Hour
 
        $dh = dir(CACHE_DIR);
-       while (($file = $dh->read()) !== FALSE)
-       {
-               if (substr($file,-4) != '.tmp')
-               {
+       while (($file = $dh->read()) !== FALSE) {
+               if (substr($file, -4) != '.tmp')
                        continue;
-               }
+
                $file = CACHE_DIR.$file;
                $last = time() - filemtime($file);
 
-               if ($last > $expire)
-               {
-                       unlink($file);
-               }
+               if ($last > $expire) unlink($file);
        }
        $dh->close();
 }
+
 // rss¤ò¼èÆÀ¡¦ÇÛÎó²½
 class ShowRSS_XML
 {
@@ -244,31 +209,31 @@ class ShowRSS_XML
        function parse($buf)
        {
                // ½é´ü²½
-               $this->items = array();
-               $this->item = array();
+               $this->items   = array();
+               $this->item    = array();
                $this->is_item = FALSE;
-               $this->tag = '';
+               $this->tag     = '';
 
                // Ê¸»ú¥³¡¼¥É¸¡½Ð
                $this->encoding = mb_detect_encoding($buf);
-               if (!in_array(strtolower($this->encoding),array('us-ascii','iso-8859-1','utf-8'))) {
-                       $buf = mb_convert_encoding($buf,'utf-8',$this->encoding);
+               if (! in_array(strtolower($this->encoding), array('us-ascii', 'iso-8859-1', 'utf-8'))) {
+                       $buf = mb_convert_encoding($buf, 'utf-8', $this->encoding);
                        $this->encoding = 'utf-8';
                }
                $xml_parser = xml_parser_create($this->encoding);
-               xml_set_element_handler($xml_parser,array(&$this,'start_element'),array(&$this,'end_element'));
-               xml_set_character_data_handler($xml_parser,array(&$this,'character_data'));
+               xml_set_element_handler($xml_parser, array(& $this, 'start_element'), array(& $this, 'end_element'));
+               xml_set_character_data_handler($xml_parser, array(& $this, 'character_data'));
 
-               if (!xml_parse($xml_parser,$buf,1))
-               {
+               if (! xml_parse($xml_parser, $buf, 1)) {
                        return(sprintf('XML error: %s at line %d in %s',
                                xml_error_string(xml_get_error_code($xml_parser)),
-                               xml_get_current_line_number($xml_parser),$buf));
+                               xml_get_current_line_number($xml_parser), $buf));
                }
                xml_parser_free($xml_parser);
 
                return $this->items;
        }
+
        function escape($str)
        {
                // RSSÃæ¤Î "&lt; &gt; &amp;" ¤Ê¤É¤ò °ìö "< > &" ¤ËÌᤷ¡¢ ¡ã "&amp;" ¤¬ "&amp;amp;" ¤Ë¤Ê¤Ã¤Á¤ã¤¦¤ÎÂкö
@@ -283,82 +248,67 @@ class ShowRSS_XML
        }
 
        // ¥¿¥°³«»Ï
-       function start_element($parser,$name,$attrs)
+       function start_element($parser, $name, $attrs)
        {
-               if ($this->is_item)
-               {
-                       $this->tag = $name;
-               }
-               else if ($name == 'ITEM')
-               {
+               if ($this->is_item) {
+                       $this->tag     = $name;
+               } else if ($name == 'ITEM') {
                        $this->is_item = TRUE;
                }
        }
+
        // ¥¿¥°½ªÎ»
-       function end_element($parser,$name)
+       function end_element($parser, $name)
        {
-               if (!$this->is_item or $name != 'ITEM')
-               {
-                       return;
-               }
-               $item = array_map(array(&$this,'escape'),$this->item);
+               if (! $this->is_item || $name != 'ITEM') return;
 
+               $item = array_map(array(& $this, 'escape'), $this->item);
                $this->item = array();
 
-               if (array_key_exists('DC:DATE',$item))
-               {
+               if (isset($item['DC:DATE'])) {
                        $time = plugin_showrss_get_timestamp($item['DC:DATE']);
-               }
-               else if (array_key_exists('PUBDATE',$item))
-               {
+                       
+               } else if (isset($item['PUBDATE'])) {
                        $time = plugin_showrss_get_timestamp($item['PUBDATE']);
-               }
-               else if (array_key_exists('DESCRIPTION',$item)
-                       and ($description = trim($item['DESCRIPTION'])) != ''
-                       and ($time = strtotime($description)) != -1)
-               {
-                       $time -= LOCALZONE;
-               }
-               else
-               {
+                       
+               } else if (isset($item['DESCRIPTION']) &&
+                       ($description = trim($item['DESCRIPTION'])) != '' &&
+                       ($time = strtotime($description)) != -1) {
+                               $time -= LOCALZONE;
+
+               } else {
                        $time = time() - LOCALZONE;
                }
                $item['_TIMESTAMP'] = $time;
-               $date = get_date('Y-m-d',$item['_TIMESTAMP']);
+               $date = get_date('Y-m-d', $item['_TIMESTAMP']);
 
                $this->items[$date][] = $item;
-               $this->is_item = FALSE;
+               $this->is_item        = FALSE;
        }
+
        // ¥­¥ã¥é¥¯¥¿
-       function character_data($parser,$data)
+       function character_data($parser, $data)
        {
-               if (!$this->is_item)
-               {
-                       return;
-               }
-               if (!array_key_exists($this->tag,$this->item))
-               {
-                       $this->item[$this->tag] = '';
-               }
+               if (! $this->is_item) return;
+               if (! isset($this->item[$this->tag])) $this->item[$this->tag] = '';
                $this->item[$this->tag] .= $data;
        }
 }
+
 function plugin_showrss_get_timestamp($str)
 {
        if (($str = trim($str)) == '')
-       {
                return UTIME;
-       }
-       if (!preg_match('/(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(([+-])(\d{2}):(\d{2}))?/',$str,$matches))
-       {
+
+       $matches = array();
+       if (! preg_match('/(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(([+-])(\d{2}):(\d{2}))?/', $str, $matches)) {
                $time = strtotime($str);
                return ($time == -1) ? UTIME : $time - LOCALZONE;
        }
-       $str = $matches[1];
-       $time = strtotime($matches[1].' '.$matches[2]);
-       if (!empty($matches[3]))
-       {
-               $diff = ($matches[5]*60+$matches[6])*60;
+       $str  = $matches[1];
+       $time = strtotime($matches[1] . ' ' . $matches[2]);
+       if (! empty($matches[3])) {
+               $diff = ($matches[5] * 60 + $matches[6]) * 60;
                $time += ($matches[4] == '-' ? $diff : -$diff);
        }
        return $time;