Extension talk:SimpleFeed

Extension does not work with feeds generated by php-scripts
Hi, I have a problem it seems your extension does not work with feeds generated by php-scripts. It does not show anything, only a blank page. The URL of my RSS feed: http://galdom.portal-werner.de/e107_plugins/rss_menu/rss.php?1.2
 * Ditto. When I paste your BBC example into my page, I just get the same thing as the output. MatthewBurton 20:56, 7 April 2007 (UTC)
 * This extension really does not work for me. Just crashes the page on which I try to include the tags. --128.233.100.42 23:40, 29 June 2007 (UTC)
 * This is a big problem since there are many php generated feeds. Could this be fixed? 20:20, 23 July 2007
 * Try changing $feed->feed_url($args['url']); to $feed->set_feed_url($args['url']); 16:15, 8 October 2007

How to install
I couldn't make it work using the provided instructions either. This worked for me
 * 1) Save SimpleFeed.php to /extensions
 * 2) Save simplepie.inc to /extensions
 * 3) Create /extensions/cache. Set correct write permission (chmod). Webserver-user should be allowed to write.
 * 4) Add include("./extensions/SimpleFeed.php"); to LocalSettings.php. Last line works fine.

Note: If you are in a corporate environment, check out any proxy servers or firewalls

SimplePie have their own extension for MediaWiki. I installed that first and the instructions are really good. However, you are not able to modify the layout as much as with SimpleFeed. 13:38, 16 April 2007 (UTC)

Got errors when using include("./extensions/SimpleFeed.php");, replacing by require_once("$IP/extensions/SimpleFeed.php");</tt> helped. --sandb 15 Oct 2009

MediaWiki 1.10 Support
Anyone get this to work in MediaWiki 1.10? 16:10, 29 June 2007

I get Fatal error: Call to undefined method SimplePie::feed_url in / /SimpleFeed.php on line 71
 * Not Yet

The other SimplePie extension does not work either.

Any help would be appreciated.

Mguentz 01:58, 13 August 2007 (UTC)


 * See Extension:SimpleFeed--Arcy 18:39, 7 November 2007 (UTC) That worked for me.

Cache Directory
When installing, I had to put the cache directory in the root wiki folder, rather than extensions/. Anything else gave me an error. Seems that SimplePie looks there. Cheezerman 19:08, 11 December 2007 (UTC)
 * No error for me, but also nothing in the cache folder. (Le Pubard)
 * I had to change something in simplepie.inc :
 * before : var $cache_location = './cache';
 * after : var $cache_location = 'extensions/cache';
 * 13:18, 6 January 2008

gzinflate
I'm trying to use SimpleFeed with simplepie 1.1.1, php 5.1.1, and mediawiki 1.11

Whenever I load a page with it returns

Warning: gzinflate [function.gzinflate]: data error in W:\www\wi\extensions\simplepie.inc on line 7743</tt>

Anyone had this issue before? 03:13, 30 March 2008

Howto use SimplePie Addons
Hi,

I tried to use one of the SimplePie Addons (i.e. http://simplepie.org/wiki/addons/yahoo_weather)

By adding require_once('simplepie_yahoo_weather.inc'); [...] $itemwikitext = str_replace('{WEATHER_CONDITION}', $weather->get_condition, $itemwikitext); I just get the error Fatal error: Call to a member function get_condition on a non-object in /is/htdocs/wp1064305_TTQI81XDD8/www/wiki/extensions/SimpleFeed.php on line 114

But isn't that definied in simplepie_yahoo_weather.inc? I'm using the file from Ryan 19:22, 7 April 2008

Get rid of PHP Notice errors
To get rid of PHP Notice errors ...

PHP Notice: Undefined index:  type in /var/www/wiki/wk/extensions/SimpleFeed.php on line 117

... replace ...

if ($args['type'] == 'planet')

... in line 117 with ...

if (isset($args['type']) && $args['type'] == 'planet')

Ivan Pepelnjak 14:03, 6 May 2008 (UTC)

In reverse order
aug 28: I think there's a bug when displaying multiple feed-tags on one page. I made a page with feeds from various sources on a clean install and the Wiki is grinding to a halt after a few refreshes.

Hi,

This extension almost works fine but as for my Hungarian wiki, it publicate the feeds in reverse order. The latest news are below... :( What should I do? Thanks! 89.132.222.148 00:49, 22 August 2008 (UTC) (NetBandita)


 * after some minutes....


 * Hmmm.... I have solved. :D In the simplepie.inc there is in the line of 515 the next 'var': var $order_by_date = false; You should change it from true to false. That's all. :)


 * (sorry for my grammar mistakes if...)89.132.222.148 00:56, 22 August 2008

https feeds
I had trouble using this extension with https-feeds. Turns out that the extension sends "ssl://$host" as the hostname in the Host header.

My ugly fix: $ diff -u simplepie.inc simplepie.fixed.ssl.inc --- simplepie.inc	2008-11-17 16:20:04.000000000 +0100 +++ simplepie.fixed.ssl.inc	2008-11-17 16:20:41.000000000 +0100 @@ -7727,7 +7727,15 @@ 						$get = '/'; } 					$out = "GET $get HTTP/1.0\r\n"; -					$out .= "Host: $url_parts[host]\r\n"; +					if (preg_match("/^ssl:\/\//", $url_parts[host])) +					{ +					 $foo = preg_replace("/^ssl:\/\//", "", $url_parts[host]); +					 $out .= "Host: $foo\r\n"; +					} +					else +					{ +					 $out .= "Host: $url_parts[host]\r\n"; +					} 					$out .= "User-Agent: $useragent\r\n"; if (extension_loaded('zlib')) { 17 November 2008

Firefox CSS issues in Mediawiki 1.14
Is anyone else having issues with this extension and importing common.css, etc for Mediawiki 1.14? With my install it seems to be overriding things that should be content type of type/css and forcing type/html which ends up breaking the css import. Anyone else see this and know how to fix it? 16 April 2009

Outputting HTML tags
I'm noticing that URLs within the {DESCRIPTION} area are being transcluded in full markup: e.g. link text</a> Can this be fixed in any way? Coldmachine 20:39, 20 May 2009 (UTC) I have the same problem. Any solution or advice,please? --Biris 10:53, 29 June 2009 (UTC)

It can be fixed, or at least worked around. I added this line in SimpleFeed.php after $feed->set_feed_url($args['url']);

$feed->strip_htmltags(array_merge($feed->strip_htmltags, array('a', 'img')));

I'm sure someone else can make use of the tags instead of wiping them, but that's the best I can do. RotsiserMho 03:45, 29 January 2010 (UTC)

cURL error 6: Couldn't resolve host 'http:'
If I attempt to paste:

<feed url="http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml">

[{PERMALINK} {TITLE}]
{DATE}, by {AUTHOR} {DESCRIPTION}

I get the error: "cURL error 6: Couldn't resolve host 'http:'"

http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml works though.

I have mediawiki 1.7.1. I installed simplepie and simplefeed in March 2008.

i would like to cusomize my feeds, how would I fix this error? Odessaukrain2 16:48, 1 July 2009 (UTC)
 * Maybe try to update your MW. There's a new Simplepie version too, 1.2 released in July. But if other feeds work fine maybe its a defect in the feed you're trying to use. --Kenny5 03:37, 31 July 2009 (UTC)

PHP 5.3 problems
This extension does not work on my PHP 5.3 system. Error message: PHP Warning: Parameter 3 to parseFeed expected to be a reference, value given in /srv/www/htdocs/wiki/includes/parser/Parser.php on line 3243 I had to change the following line function parseFeed($input, $args, &$parser) to function parseFeed($input, $args, $parser) BTW: This error seems to be quite common for PHP applications after upgrade to PHP 5.3.

Display the feed sorted by ascending date
To display the feed sorted by ascending date, replace ...

// Loop through each item. for ($i = 0; $i < $max; $i++) {

(approximately line 104) with ...

$fOffset = 0; $fMult = 1; if (isset($args['sort']) and $args['sort'] == 'asc') { $fOffset = $max - 1; $fMult = -1; } // Loop through each item. for ($i = 0; $i < $max; $i++) {        $item = $feed->get_item($i * $fMult + $fOffset);

After the change, the feed is sorted in descending (default) order unless you add the sort="asc"</tt> attribute in the feed</tt> tag.

Ivan Pepelnjak 09:25, 15 April 2010 (UTC)

Simple use - didn't work
The 'Simple use'-method didn't work (showed a zero (0)) SimpleFeed requires a url-argument and a 'template' ($input) // because this is used in SimpleFeed.php if (!isset($args['url']) or !isset($input)) { return 0; } Use the more advanced format, or customize SimpleFeed.php