I realize those versions are extremely old, but the last day or so I have been working with Wicked Edge‘s Web admin with fixing the RSS feed from their site. Mail and Outlook both saw everything fine, but the W3C RSS validator knew it was broken, and Google Reader would produce very odd results, mainly by reading the content, but the URLs would be incorrect.
The issue boiled down to Joomla 1.5.20 not encoding ampersands in the RSS section. So instead of:
You’d get (note the missing &’s):
So, after writing a parser to fix it, I got the specific Joomla and Kunena versions from them, and looked at the code. Turns out, in joomla/libraries/joomla/document/feed/renderer/rss.php, there were two issues.
One, they forgot to encode the URL (obviously), and second, they had two guid’s per item.
So, basically, in that file, change line 123 from:
$feed.= "<link>".str_replace(' ','%20',$data->items[$i]->link)."</link>\n";
to (note, just replacing the str_replace with an htmlspecialchars):
$feed.= "<link>".htmlspecialchars($data->items[$i]->link, ENT_COMPAT, 'UTF-8')."</link>\n";
and comment out the following line (line 124) like this:
//$feed.= "<guid>".str_replace(' ','%20',$data->items[$i]->link)."</guid>\n";
Save the result, and you should get RSS2 that validates, albeit, with a couple errors (but nothing major). The first change is to fix the &’s going missing. It just properly html encodes the &’s. The second change is to remove one of the TWO
Anyway… I seriously doubt anyone out there will use this info, but just incase, here ya go. I know I would have like to have found this rather than figuring it out on my own. =)