Template:Mainpage-rssfeeds

From NAS-Central Buffalo - The Linkstation Wiki

(Difference between revisions)
Jump to: navigation, search
m (Replacing page with '<h3>The LinkStationWiki Forums </h3> <feed url="http://forum.linkstationwiki.net/generate_feed.php?content=topics&global=1"> * [{PERMALINK} {TITLE}] </feed> <h3>LinkStation_Gen...')
Line 1: Line 1:
<h3>The LinkStationWiki Forums </h3>
<h3>The LinkStationWiki Forums </h3>
-
'''Under development'''
+
<feed url="http://forum.linkstationwiki.net/generate_feed.php?content=topics&global=1">
-
<rss>http://forum.linkstationwiki.net/generate_feed.php?content=topics&global=1|charset=UTF-8|short|max=10</rss>
+
* [{PERMALINK} {TITLE}]
-
 
+
</feed>
<h3>LinkStation_General at Yahoo! Groups</h3>
<h3>LinkStation_General at Yahoo! Groups</h3>
-
<rss>http://rss.groups.yahoo.com/group/LinkStation_General/rss|charset=UTF-8|short|max=10</rss>
+
<feed url="http://rss.groups.yahoo.com/group/LinkStation_General/rss">
 +
* [{PERMALINK} {TITLE}]
 +
</feed>
<noinclude>[[Category:Administrative templates]]
<noinclude>[[Category:Administrative templates]]
-
 
-
<table align=right><tr><td>
 
-
http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Wikimedia_logo_text_RGB.svg/135px-Wikimedia_logo_text_RGB.svg.png
 
-
</td></tr></table>
 
-
 
-
=GISWiki/RSS=
 
-
Uses an extension from:
 
-
http://meta.wikimedia.org/wiki/GISWiki/RSS
 
-
 
-
==RSS-Feed Mediawiki extension==
 
-
* original by mutante 25.03.2005
 
-
* extended by Duesentrieb 30.04.2005
 
-
* extended by Rdb78 07.07.2005
 
-
* extended by Mafs  10.07.2005, 24.07.2005
 
-
* extended by User:Arcy  07.09.2005
 
-
* Updated for MediaWiki 1.6 by User:piku 13.06.2006
 
-
* Update for Wikicode output, by User:cogdog 14.jul.2006
 
-
 
-
===Requires:===
 
-
* magpie rss parser http://magpierss.sourceforge.net/
 
-
* iconv http://www.gnu.org/software/libiconv/, see also http://www.php.net/iconv
 
-
 
-
===Installation:===
 
-
* put this file '''(rss.php)''' into the extension directory of your mediawiki installation
 
-
* add the following to the end of '''LocalSettings.php:''' <tt>include("extensions/rss.php");</tt>
 
-
* make sure magpie can be found by PHP.
 
-
 
-
===Usage:===
 
-
Use one section between '''<tt><nowiki><rss></nowiki></tt>'''-tags for each feed. The rss section may contain parameters
 
-
separated by a pipe'''<tt><nowiki> ("|")</nowiki></tt>''', just like links and templates. These parameters are supported:
 
-
 
-
{|
 
-
|-
 
-
|| '''<tt>charset = ...</tt>'''            ||The charset used by the feed. iconv is used to convert this.
 
-
|-
 
-
|| '''<tt>short</tt>'''                  ||Do not show the description text for each news item.
 
-
|-
 
-
|| '''<tt>max = x</tt>'''                  ||Shows x most recent headlines.
 
-
|-
 
-
|| '''<tt>highlight = term1 term2  </tt>'''  ||The terms separated by a space are highlighted.
 
-
|-
 
-
|| '''<tt>filter = term1 term2  </tt>'''    ||Show only rss items containing at least one of the terms.
 
-
|-
 
-
|| '''<tt>reverse</tt>'''                ||display the rss items in reverse order.
 
-
|-
 
-
|| '''<tt>title = x</tt>'''                ||display an alternative title instead of chanel name.
 
-
|-
 
-
|| '''<tt>title = none</tt>'''            ||dont display any title.
 
-
|}
 
-
 
-
==rss.php==
 
-
<pre><nowiki>
 
-
<?php
 
-
# RSS-Feed Mediawiki extension
 
-
#
 
-
# original by mutante 25.03.2005
 
-
# extended by Duesentrieb 30.04.2005
 
-
# extended by Rdb78 07.07.2005
 
-
# extended by Mafs  10.07.2005, 24.07.2005
 
-
# extended by User:Arcy  07.09.2005
 
-
# Updated for MediaWiki 1.6 by User:piku 13.06.2006
 
-
# Update for Wikicode output, by User:cogdog 14.jul.2006
 
-
#
 
-
# Requires:
 
-
#  * magpie rss parser <http://magpierss.sourceforge.net/>
 
-
#  * iconv <http://www.gnu.org/software/libiconv/>, see also <http://www.php.net/iconv>
 
-
#
 
-
# Installation:
 
-
#  * put this file (rss.php) into the extension directory of your mediawiki installation
 
-
#  * add the following to the end of LocalSettings.php: include("extensions/rss.php");
 
-
#  * make sure magpie can be found by PHP.
 
-
#
 
-
# Usage:
 
-
#  Use one section between <rss>-tags for each feed. The rss section may contain parameters
 
-
#  separated by a pipe ("|"), just like links and templates. These parameters are supported:
 
-
#
 
-
#    * charset=...            The charset used by the feed. iconv is used to convert this.
 
-
#    * short                  Do not show the description text for each news item.
 
-
#    * max=x                  Shows x most recent headlines.
 
-
#    * highlight= term1 term2  The terms separated by a space are highlighted.
 
-
#    * filter= term1 term2    Show only rss items containing at least one of the terms.
 
-
#    * reverse                display the rss items in reverse order.
 
-
#    * title=x                display an alternative title instead of chanel name.
 
-
#    * title = none            dont display any title.
 
-
#
 
-
# Example:
 
-
#    <rss>http://slashdot.org/slashdot.rss|charset=UTF-8|short|max=5</rss>
 
-
#
 
-
 
-
#change this according to your magpie installation!
 
-
require_once('rss_fetch.inc');
 
-
 
-
#install extension hook
 
-
$wgExtensionFunctions[] = "wfRssExtension";
 
-
 
-
#extension hook callback function
 
-
function wfRssExtension() {
 
-
  global $wgParser;
 
-
 
-
  #install parser hook for <rss> tags
 
-
  $wgParser->setHook( "rss", "renderRss" );
 
-
}
 
-
 
-
#parser hook callback function
 
-
function renderRss($input, $argv, $parser = null) {
 
-
  if (!$parser) $parser =& $GLOBALS['wgParser'];
 
-
  global $wgOutputEncoding;
 
-
 
-
  $DefaultEncoding = "ISO-8859-1";
 
-
  $DisableCache = true;
 
-
 
-
  # $input = mysql_escape_string($input);
 
-
 
-
  if (!$input) return ""; #if <rss>-section is empty, return nothing
 
-
 
-
  #parse fields in rss-section
 
-
  $fields= explode("|",$input);
 
-
  $url= @$fields[0];
 
-
 
-
  $args= array();
 
-
  for ($i=1; $i<sizeof($fields); $i++) {
 
-
    $f= $fields[$i];
 
-
 
-
    if (strpos($f,"=")===False) $args[strtolower(trim($f))]= False;
 
-
    else {
 
-
      list($k,$v)= explode("=",$f,2);
 
-
      if (trim($v)==False) $args[strtolower(trim($k))] = False;
 
-
      else $args[strtolower(trim($k))]= trim($v);
 
-
    }
 
-
  }
 
-
 
-
  #get charset from argument-array   
 
-
  $charset= @$args["charset"];
 
-
  if (!$charset) $charset= $DefaultEncoding;
 
-
 
-
  #get max number of headlines from argument-array
 
-
  $maxheads = @$args["max"];
 
-
  $headcnt = 0;
 
-
 
-
  #get short-flag from argument-array
 
-
  #if short is set, no description text is printed
 
-
  if (isset($args["short"])) $short = True; else $short = False;
 
-
 
-
  #get reverse-flag from argument-array
 
-
  if (isset($args["reverse"])) $reverse = True; else $reverse = False;
 
-
 
-
  #get highlight terms from argument-array   
 
-
  $rssHighlight= @$args["highlight"];
 
-
  $rssHighlight= str_replace("  "," ", $rssHighlight);
 
-
  $rssHighlight= explode(" ", trim($rssHighlight));
 
-
 
-
  #get filter terms from argument-array   
 
-
  $rssFilter= @$args["filter"];
 
-
  $rssFilter= str_replace("  "," ", $rssFilter);
 
-
  $rssFilter= explode(" ", trim($rssFilter));   
 
-
 
-
  #fetch rss. may be cached locally.
 
-
  #Refer to the documentation of magpie for details.
 
-
  $rss = @fetch_rss($url);
 
-
 
-
 
-
  #check for errors.
 
-
  if ($rss->ERROR) {
 
-
    # return "Feed error"; #localize...
 
-
      #return "<div>Failed to load RSS feed from $url: ".$rss->ERROR."</div>"; #localize...
 
-
  }
 
-
 
-
  if (!is_array($rss->items)) {
 
-
    # return "Feed error"; #localize...
 
-
      #return "<div>Failed to load RSS feed from $url!</div>"; #localize...
 
-
  }
 
-
 
-
  #Bild title line   
 
-
  #get title from argument-array   
 
-
 
 
-
  $rssTitle= @$args["title"];
 
-
  $rssTitle= trim($rssTitle);
 
-
 
-
  if ($rssTitle !=='none') {
 
-
    if ($rssTitle=='') {
 
-
        $title= iconv($charset,$wgOutputEncoding,$rss->channel['title']);
 
-
        if ($rss->channel['link']) $title= "[".$rss->channel['link']." $title]";
 
-
        $output = "=== $title ===\n";
 
-
    }
 
-
    else
 
-
    {
 
-
      $title= "[".$rss->channel['link']." $rssTitle]";
 
-
      $output="=== $title ===\n";
 
-
    }
 
-
  } else {
 
-
      $output="\n\n\n";
 
-
  }
 
-
 
 
-
  if ($reverse) $rss->items = array_reverse($rss->items);
 
-
 
-
  $description = False;
 
-
  foreach ($rss->items as $item) {
 
-
      if ($item['description']) {$description = True; break;}
 
-
  }
 
-
 
-
  #Bild items
 
-
  if (!$short and $description) { #full item list
 
-
 
-
    $output.="";
 
-
    foreach ($rss->items as $item) {
 
-
 
-
      $d_text = true;
 
-
      $d_title = true;
 
-
 
-
      $href = trim(iconv($charset,$wgOutputEncoding,$item['link']));
 
-
      $title = trim(iconv($charset,$wgOutputEncoding,$item['title']));
 
-
 
-
      $d_title = wfRssFilter ($title, $rssFilter);
 
-
      $title= wfRssHighlight($title, $rssHighlight);
 
-
 
-
      #bild description text if desired
 
-
      if ($item["description"]) {
 
-
        $text= trim(iconv($charset,$wgOutputEncoding,$item['description']));
 
-
 
-
        #avoid pre-tags
 
-
        $text= str_replace("\r"," ",$text);
 
-
        $text= str_replace("\n"," ",$text);
 
-
        $text= str_replace("\t"," ",$text);
 
-
 
-
        $d_text = wfRssFilter ($text, $rssFilter);
 
-
        $text= wfRssHighlight($text, $rssHighlight);
 
-
 
-
        $display = $d_text or $d_title;
 
-
 
-
      }
 
-
        else  {
 
-
          $text = "";
 
-
          $display = $d_title;
 
-
        }     
 
-
 
-
      if ($display) {
 
-
        $output.="* [$href $title]";
 
-
        if ($text) $output.="<br>$text";
 
-
        $output .= "\n";
 
-
      }
 
-
 
-
    #Cut off output when maxheads is reached:
 
-
    if (++$headcnt == $maxheads)  break;
 
-
 
-
    }
 
-
    # $output.="</dl>";
 
-
  }
 
-
  else { #short item list
 
-
  #  $output.="<ul>";
 
-
    foreach ($rss->items as $item) {
 
-
      $href = trim(iconv($charset,$wgOutputEncoding,$item['link']));
 
-
      $title = trim(iconv($charset,$wgOutputEncoding,$item['title']));
 
-
 
-
        $d_title = wfRssFilter ($title, $rssFilter);
 
-
        $title= wfRssHighlight($title, $rssHighlight);
 
-
 
-
        if ($d_title ) $output.="* [$href $title]\n";
 
-
 
-
      #Cut off output when maxheads is reached:
 
-
      if (++$headcnt == $maxheads)  break;
 
-
    }
 
-
    # $output.="</ul>";
 
-
  }
 
-
 
-
 
-
  if ($DisableCache) {
 
-
 
-
    global $wgVersion;
 
-
 
-
    # Do not cache this wiki page.
 
-
    # for details see http://public.kitware.com/Wiki/User:Barre/MediaWiki/Extensions
 
-
    global $wgTitle, $wgDBprefix;
 
-
    $ts = mktime();
 
-
    $now = gmdate("YmdHis", $ts + 120);
 
-
    $ns = $wgTitle->getNamespace();
 
-
    $ti = wfStrencode($wgTitle->getDBkey());
 
-
 
-
    $version = preg_replace("/^([1-9]).([1-9]).*/", "\\1\\2", $wgVersion);
 
-
    if ($version>14) $sql = "UPDATE $wgDBprefix"."page SET page_touched='$now' WHERE page_namespace=$ns AND page_title='$ti'";
 
-
    else            $sql = "UPDATE $wgDBprefix"."cur SET cur_touched='$now' WHERE cur_namespace=$ns AND cur_title='$ti'";
 
-
 
-
    wfQuery($sql, DB_WRITE, "");
 
-
  }
 
-
 
-
  $out = $parser->parse ($output, $parser->mTitle,$parser->mOptions, true, false);
 
-
  return $out->getText();
 
-
}
 
-
 
-
 
-
function wfRssFilter ($text, $rssFilter) {
 
-
 
-
  $display = true;
 
-
 
-
  if (is_array($rssFilter)) {
 
-
    foreach($rssFilter as $term) {
 
-
 
-
      if ($term) {
 
-
        $display = false;
 
-
        if (preg_match("|$term|i", $text, $a))  {  $display = true; return $display; }
 
-
      }
 
-
    if ($display) break;
 
-
    }
 
-
  }
 
-
  return $display;
 
-
}
 
-
 
-
 
-
function wfRssHighlight($text, $rssHighlight) {
 
-
 
-
  $i=0;
 
-
  $starttag = "v8x5u3t3u8h";
 
-
  $endtag  = "q8n4f6n4n4x";
 
-
 
-
  $color[]="coral";
 
-
  $color[]="greenyellow";
 
-
  $color[]="lightskyblue";
 
-
  $color[]="gold";
 
-
  $color[]="violet";
 
-
 
-
  $count_color = count($color);
 
-
 
-
  if (is_array($rssHighlight)) {
 
-
    foreach($rssHighlight as $term) {
 
-
      if ($term) {
 
-
        $text = preg_replace("|\b(\w*?".$term."\w*?)\b|i", "$starttag"."_".$i."\\1$endtag", $text);
 
-
        $i++;
 
-
        if ($i == $count_color) $i=0;
 
-
        }
 
-
      }
 
-
    }
 
-
  # to avoid trouble should someone wants to highlight the terms "span", "style", ...
 
-
  for ($i=0; $i<5; $i++) {
 
-
    $text = preg_replace("|$starttag"."_".$i."|", "<span style=\"background-color:".$color[$i]."; font-weight: bold;\">", $text);
 
-
    $text = preg_replace("|$endtag|", "</span>", $text);
 
-
    }
 
-
 
-
  return $text;
 
-
}
 
-
 
-
?></nowiki>
 
-
</pre>
 
-
</noinclude>
 

Revision as of 01:32, 30 May 2007

The LinkStationWiki Forums

<feed url="http://forum.linkstationwiki.net/generate_feed.php?content=topics&global=1">

  • [{PERMALINK} {TITLE}]

</feed>

LinkStation_General at Yahoo! Groups

<feed url="http://rss.groups.yahoo.com/group/LinkStation_General/rss">

  • [{PERMALINK} {TITLE}]

</feed>

Personal tools