* Add function documentation that I should have written before.
* Create separate RSSParser class to clean up RSS.php
* Create separate RSSHooks class to handle parser initialization and
public interface for parser to use.
* Move User Agent definition to $wgRSSUserAgent from a define.
* Eliminate references to $wgRSSUseGzip (since were using MW's
internal HTTP client, it didn't do anything anyway, ATM).
Re Tim's emailed review (discovered yesterday):
* Switch to DOMXPath::query() from DOMXPath::evaluate() at Tim's
suggestion.
* Move highlighting callback to its own class, RSSHighlighter, so that
it works as a callback without create_function() and other mess.
* Protect against possibility where rss member in renderRss is not an
object.
* Move user-agent string up to a define().
* Remove use of $rssTemp var in renderItem() by inlining code.
* Remove RSSFetch.php and move functionality to main RSS class
* Simplify how RSSData is constructed so we can pass it a DOMDocument
object instead of an HTTPResponse.
* Move wf functions into RSS class since they shouldn't really be
globally available.
specified template) to display the feeds and remove hard-coded HTML.
* Add check to make sure the cache dir is writable and put an error in
the debug log if not.
* Remove Snoopy.class.php — replace with use of the Http class.
* Remove RSSParse.php — which was a copy of MagpieRSS and use plain
XML parsing. MagpieRSS looks unmaintained and has security
problems. http://www.madirish.net/?article=253
* Remove references to Magpie RSS
* Remove (over?) use of wf{Supress,Restore}Warnings
* Construct simple RSSData class for normalizing (some of) the feed
data.