Template:Mainpage-rssfeeds

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

Jump to: navigation, search

UNIQ14a119e61af526cc-rss-00000000-QINU UNIQ14a119e61af526cc-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>

Cupertino's Mayor: Apple 'Abuses Us' By Not Paying Taxes

Thu, 05 May 2016 18:10:00

An anonymous reader shares a report on The Guardian: Apple pays a 2.3% effective tax rate on its $181bn in cash held offshore, according to Citizens for Tax Justice, a not-for-profit research group focusing on tax policy. Citizens for Tax Justice estimates that Apple would owe $59.2bn in U.S. taxes if the money weren't funneled into offshore shell accounts. Criticism over the company's offshore tax schemes has become more pointed in recent months, both locally in Cupertino and from Apple's own staff. At a recent Cupertino city council meeting, some residents protested about a lack of funding for public projects, Barry Chang, Mayor of Cupertino said: "They ball up the paper and throw it, and they say 'You're making all the wrong decisions'," Chang said. "In the meantime, Apple is not willing to pay a dime. They're making profit, and they should share the responsibility for our city, but they won't. They abuse us."

Share on Google+


Read more of this story at Slashdot.

Snapchat Sued For Facilitating 107 MPH Car Crash

Thu, 05 May 2016 17:30:00

An anonymous reader writes: A Georgia couple is suing Snapchat, a popular instant messaging and photo sharing app, after a car accident last year seriously injured the husband, leaving him permanently brain damaged. According to media reports, Wentworth Maynard, the victim, was driving in a 55-mile-per-hour zone when 18-year-old Christal McGee crashed into him traveling at 107 miles per hour. McGee, according to lawsuits, was attempting to use Snapchat's "speed filter" -- a feature that overlays the speed one is traveling on a picture. "Snapchat's speed filter facilitated McGee's excessive speeding," reads the lawsuit. "McGee was motivated to drive at an excessive speed in order to obtain recognition through Snapchat by the means of a Snapchat 'trophy.'"

Share on Google+


Read more of this story at Slashdot.

Sci-Hub Faces Millions Of Dollars In Damages, Elsevier Complaint Shuts Down Domain

Thu, 05 May 2016 16:50:00

Reader Taco Cowboy writes: Sci-Hub is facing millions of dollars in damages in a lawsuit filed by Elsevier, one of the largest academic publishers. As a result of the legal battle the site just lost one of its latest domain names. However, the site has no intentions of backing down, and will continue its fight to keep access to scientific knowledge free and open. Several 'backup' domain names are still in play, including Sci-Hub.bz and Sci-Hub.cc. In addition to the alternative domain names users can access the site directly through the IP-address 31.184.194.81. Its TOR domain is also still working -- http://scihub22266oqcxt.onion/. Authorized or not, there is definitely plenty of interest in Sci-Hub's service. The site currently hosts more than 51 million academic papers and receives millions of visitors per month. Many visits come from countries where access to academic journals is limited, such as Iran, Russia or China. But even in countries where access is more common, many researchers visit the site, an analysis from Science magazine revealed last week. Late last month we learned that plenty of people were downloading academic papers from Sci-Hub. Over the 6 months leading up to March, Sci-Hub had served over 28 million documents, with Iran, China, India, Russia, and the United States being the leading requestors.

Share on Google+


Read more of this story at Slashdot.

Windows 10 Now Runs On 300M Active Devices; Upgrade To Cost $119 After July 29

Thu, 05 May 2016 16:10:00

On Thursday (May 5), Microsoft announced that Windows 10 is now running on 300 million active devices, up from 270 million monthly active devices as of March 30. The feat comes nine months after Microsoft released Windows 10, the latest version of its desktop operating system, after offering it for months to developers. The company also announced today that Windows 7 and Windows 8.1 (as well as Windows 8) users with a valid license wouldn't be eligible for the free upgrade starting July 29. After July 29th, Microsoft says, users will be able to continue to get Windows 10 on a new device, or purchase a full version of Windows 10 Home for $119. Windows 10 offers a range of interesting features including virtual digital assistant Cortana. While these features and a substantial boost to performance and speeds could be a big reason for the fast adoption of Windows 10, it's also no secret that Microsoft continues to push Windows 10 update to computers ... sometimes even when users don't want that.

Share on Google+


Read more of this story at Slashdot.

'Apple Stole My Music. No, Seriously'

Thu, 05 May 2016 15:30:00

Vellum's James has written about his ordeal with Apple Music which many people can relate to. Apple Music, the Cupertino-based giant's online music streaming service, deleted 122GB of music files that James had stored on his computer. He writes: What Amber (supposed Apple Support representative) explained was exactly what I'd feared: through the Apple Music subscription, which I had, Apple now deletes files from its users' computers. When I signed up for Apple Music, iTunes evaluated my massive collection of Mp3s and WAV files, scanned Apple's database for what it considered matches, then removed the original files from my internal hard drive. REMOVED them. Deleted. If Apple Music saw a file it didn't recognize -- which came up often, since I'm a freelance composer and have many music files that I created myself -- it would then download it to Apple's database, delete it from my hard drive, and serve it back to me when I wanted to listen, just like it would with my other music files it had deleted. This isn't the first time Apple Music has deleted a user's locally stored music files. Long-time Apple watcher Jim Dalrymple canceled his subscription last year and called Apple Music a "nightmare" after the service allegedly deleted over 4,700 of his previously bought songs. At the time, he wrote: At some point, enough is enough. That time has come for me -- Apple Music is just too much of a hassle to be bothered with. Nobody I've spoken at Apple or outside the company has any idea how to fix it, so the chances of a positive outcome seem slim to none.Incidentally, Apple Music is rumoured for a reboot at the company's developer conference in June. It's not clear if fixing the aforementioned glitch is among Apple's imminent agenda.

Share on Google+


Read more of this story at Slashdot.


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

?>