Difference between revisions of "Extension:SimpleRSS.php"
m |
|||
Line 9: | Line 9: | ||
$wgRobsRSSTag = "rss"; | $wgRobsRSSTag = "rss"; | ||
+ | $wgRSSUseAjax = true; | ||
$wgExtensionFunctions[] = 'wfSetupRobsRSS'; | $wgExtensionFunctions[] = 'wfSetupRobsRSS'; | ||
$wgExtensionCredits['taghook'][] = array( | $wgExtensionCredits['taghook'][] = array( | ||
Line 18: | Line 19: | ||
); | ); | ||
− | # | + | # Expand an <rss> tag |
function wfRssTagHook($text,$argv,&$parser) { | function wfRssTagHook($text,$argv,&$parser) { | ||
+ | global $wgRSSUseAjax; | ||
$args = ''; | $args = ''; | ||
foreach ($argv as $k => $v) $args .= "<li><b>$k:</b> <i>$v</i></li>\n"; | foreach ($argv as $k => $v) $args .= "<li><b>$k:</b> <i>$v</i></li>\n"; | ||
− | + | ||
+ | if ($wgRSSUseAjax) { | ||
+ | # Render a container which does ajax requests for content | ||
+ | $html = "<div id=foo> an ajax thingie </div>"; | ||
+ | } | ||
+ | else { | ||
+ | # Not using ajax, render the output now | ||
+ | $html = wfRenderRSS($data,$timestamp); | ||
+ | } | ||
+ | |||
+ | return $html; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# Read RSS from URL's and return as some kind of useful runtime structure | # Read RSS from URL's and return as some kind of useful runtime structure | ||
function wfReadRSS($urls) { | function wfReadRSS($urls) { | ||
Line 46: | Line 52: | ||
# Render a portion of RSS data (which is in the useful format returned vy wfReadRSS) | # Render a portion of RSS data (which is in the useful format returned vy wfReadRSS) | ||
− | function wfRenderRSS($data,$timestamp) { | + | function wfRenderRSS($data,$timestamp = false) { |
return $html; | return $html; | ||
+ | } | ||
+ | |||
+ | # Called from $wgExtensionFunctions array when initialising extensions | ||
+ | function wfSetupRobsRSS() { | ||
+ | global $wgParser; | ||
+ | $wgParser->setHook($wgRobsRSSTag,array($this,'wfRssTagHook')); | ||
} | } | ||
?> | ?> |
Revision as of 01:57, 14 October 2007
<?php
- Extension:RobsRSS
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
- - Author: User:RobCategory:Extensions created with Template:Extension
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('ROBSRSS_VERSION','0.0.0, 2007-10-14');
$wgRobsRSSTag = "rss"; $wgRSSUseAjax = true; $wgExtensionFunctions[] = 'wfSetupRobsRSS'; $wgExtensionCredits['taghook'][] = array( 'name' => 'RobsRSS', 'author' => 'User:Rob', 'description' => 'A dynamic aggregating RSS reader', 'url' => 'http://www.mediawiki.org/wiki/Extension:RobsRSS', 'version' => ROBSRSS_VERSION );
- Expand an <rss> tag
function wfRssTagHook($text,$argv,&$parser) { global $wgRSSUseAjax; $args = ;
foreach ($argv as $k => $v) $args .= "
\n";
if ($wgRSSUseAjax) { # Render a container which does ajax requests for content
$html = "
";
} else { # Not using ajax, render the output now $html = wfRenderRSS($data,$timestamp); }
return $html; }
- Read RSS from URL's and return as some kind of useful runtime structure
function wfReadRSS($urls) { $data = array(); foreach ($urls as $url) { $doc = new DOMDocument(); # do some cache stuff here $doc->load($url); foreach ($dom->getElementsByTagName('tagname') as $element) { $att = $element->getAttribute('attname'); } } return $data; }
- Render a portion of RSS data (which is in the useful format returned vy wfReadRSS)
function wfRenderRSS($data,$timestamp = false) { return $html; }
- Called from $wgExtensionFunctions array when initialising extensions
function wfSetupRobsRSS() { global $wgParser; $wgParser->setHook($wgRobsRSSTag,array($this,'wfRssTagHook')); } ?>