Template:Mainpage-rssfeeds

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 16:31, 29 July 2006 by Ramuk (Talk | contribs)

Jump to: navigation, search

UNIQ992b12b3a65aae84-rss-00000000-QINU UNIQ992b12b3a65aae84-rss-00000001-QINU

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:

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>

Canon Unveils EOS 5D Mark IV DSLR

Thu, 25 Aug 2016 10:00:00

It's been a little more than 4 year since Canon unveiled the EOS 5D Mark III. Today, Canon took the wraps off its successor -- the EOS 5D Mark IV. The Mark IV features a 34-megapixel, full-frame CMOS sensor and Digic 6+ processor with support for capturing 4K video at 23.98, 24, 25 and 30 fps. In addition, it features a 61-point autofocus system, built-in digital lens optimizer, NFC, Wi-Fi and an ISO range of 100-32,000. The continuous shooting mode is set at 7 fps, compared to 6 fps on the 5D Mark III. It will also take both CompactFlash and SD cards, and there is GPS included in the body for geotagging images. Canon is selling the Mark IV in early September for $3,499 for the body only. They're also selling two new L-series EF lenses -- the Canon EF 16-35mm f/2.8L III USM Ultra-Wide Zoom Lens and EF 24-105mm f/4L IS II USM Standard Zoom Lens. President and COO, Canon U.S.A., Inc, Yichi Ishizuka said in a statement: "Canon's EOS 5D series of DSLR cameras has a history of being at the forefront of still and video innovation. And today, we add to this family of cameras the EOS 5D Mark IV -- the first in our 5D series to offer 4K video and built-in Wi-Fi and NFC connectivity. In developing this new DSLR camera, we listened to the requests of current EOS users to create for them a modern, versatile camera designed to help them create and share beautiful still and video imagery." Here's a blast from the past: Canon's EOS 1Ds Mark II. Slashdot reader LoudMusic submitted this story back in 2004, highlighting the camera's "802.11a/g and wired networking capabilities."

Share on Google+


Read more of this story at Slashdot.

NASA Astronaut Jeff Williams Sets New US Space Endurance Record With 521 Days

Thu, 25 Aug 2016 07:00:00

An anonymous reader quotes a report from CBS News: Space station commander Jeff Williams set a new U.S. space endurance record Wednesday, his 521st day in orbit over four missions, eclipsing the 520-day record set earlier this year by astronaut Scott Kelly at the end of his nearly one-year stay aboard the lab complex. Williams now moves up to 17th on the list of the world's most experienced astronauts and cosmonauts. The overall record is held by cosmonaut Gennady Padalka, who logged 878 days in orbit over five missions. Williams, Soyuz TMA-20M commander Alexey Ovchinin and flight engineer Oleg Skripochka were launched to the space station March 18. They plan to return to Earth Sept. 6 (U.S. time), landing in Kazakhstan to close out a 172-day mission. At landing, Williams will have logged 534 days aloft, moving him up to 14th on the space endurance list. Williams first flew in space in 2000 aboard the shuttle Atlantis, the third shuttle flight devoted to station assembly. He served as a flight engineer aboard the station in 2006 and completed a second long-duration stay in 2010, serving as a flight engineer and then commander of Expedition 22. "I wanted to congratulate you on passing me up here in total number of days in space," Kelly radioed Williams Wednesday. "It's great to see another record broken. [...] But I do have one question for you. And my question is, do you have another 190 days in you?" Kelly was referring to the time Williams' current mission would have to be extended to equal Kelly's U.S. single-flight record. Williams laughed, saying "190 days. That question's not for me, that's for my wife!"

Share on Google+


Read more of this story at Slashdot.

Global Warming Started 180 Years Ago Near Beginning of Industrial Revolution, Says Study

Thu, 25 Aug 2016 03:30:00

New research led by scientists at the Australian National University's Research School of Earth suggests that humans first started to significantly change the climate in the 1830s, near the beginning of the Industrial Revolution. The findings have been published in the journal Nature, and "were based on natural records of climate variation in the world's oceans and continents, including those found in corals, ice cores, tree rings and the changing chemistry of stalagmites in caves." Sydney Morning Herald reports: "Nerilie Abram, another of the lead authors and an associate professor at the Australian National University's Research School of Earth Sciences, said greenhouse gas levels rose from about 280 parts per million in the 1830s to about 295 ppm by the end of that century. They now exceed 400 ppm. Understanding how humans were already altering the composition of the atmosphere through the 19th century means the warming is closer to the 1.5 to 2 degrees target agreed at last year's Paris climate summit than most people realize." "It was one of those moments where science really surprised us," says Abram. "But the results were clear. The climate warming we are witnessing today started about 180 years ago."

Share on Google+


Read more of this story at Slashdot.

'Octobot' Is The World's First Soft-Bodied Robot

Thu, 25 Aug 2016 01:50:00

sciencehabit quotes a report from Science Magazine: Researchers have created the first completely soft-bodied robot, dubbed the 'octobot.' The palm-sized machine's exterior is made of silicone. And whereas other soft robots have had at least a few hard parts, such as batteries or wires, the octobot uses a small reservoir of hydrogen peroxide as fuel. The basic design can be scaled up or down, increasing or decreasing fuel capacity depending on the robot's job. As the field of soft robotics advances, the scientists envision these robots being used for marine search and rescue, oceanic temperature sensing, and military surveillance. The report adds: "When the hydrogen peroxide washes over flecks of platinum embedded within the octobot, the resulting chemical reaction produces gas that inflates and flexes the robot's arms. As described online today in Nature, the gas flows through a series of 3D-printed pneumatic chambers that link the octobot's eight arms; their flexing propels it through water."

Share on Google+


Read more of this story at Slashdot.

'Legalist' Startup Automates The Lawsuit Strategy Peter Thiel Used To Bankrupt Gawker

Thu, 25 Aug 2016 01:10:00

An anonymous reader writes from a report via Gizmodo: "Two Harvard undergraduates have created a service called Legalist that uses what they call 'data-backed litigation financing,' analyzing civil lawsuits with an algorithm to predict case outcomes and determine which civil lawsuits are worth investing in," reports Gizmodo. The process is very similar to what billionaire Peter Thiel did when he secretly funded a lawsuit from Hulk Hogan against Gawker Media. "Legalist says it uses an algorithm of 58 different variables including, as [Legalist cofounder] Eva Shang told the Silicon Valley Business Journal, who the presiding judge is and the number of cases the judge is currently working on. The algorithm has been fed cases dating back to 1989 and helps people figure out how long a case will last and the risks associated with it. In a presentation at Y Combinator's Demo Day on Tuesday [Legalist was developed as part of Y Combinator's Summer 2016 class], the founders claimed that the startup funded one lawsuit for $75,000 and expects a return of more than $1 million. Shang says the $1.40 is earned for every $1 spent in litigation financing, which can prove to be a profitable enterprise when you're spending hundreds of thousands of dollars." Shang told Business Insider in reference to the Gawker lawsuit, "That's the kind of thing we're staying away from here." The company will supposedly be focusing on commercial and small-business lawsuits, and will not be backing lawsuits by individuals.

Share on Google+


Read more of this story at Slashdot.


rss.php

<?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;
}

?>