#title "Feeds I read"
Feeds In My Radio
<%serviceTemplate = ""%>
<%
serviceTemplate = "- XML <%title%"+">: <%description%"+">
\n";
// This code from UserLand's stock radio.weblog.render.
on doReplacements (adrText, adrTable) {
if defined (string.multipleReplaceAll) { //use string.multipleReplaceAll
adrText^ = (@string.multipleReplaceAll)^ (adrText^, adrTable, false, "<%", "%"+">");
return (true);
} else { //old-fashioned way
for adr in adrTable {
adrText^ = string.replaceAll (adrText^, "<%" + nameOf (adr^) + "%"+">", adr^, false);
};
return true;
};
};
local (agd = xml.aggregator.init (), ret = "", chanTxt, chanData);
for service in @agd^.services {
if 0 < sizeof (service^.compilation) {
try { delete(@chanData); }; new (tableType, @chanData);
chanData.xmlUrl = nameof (service^);
with service^.compilation {
chanData.title = channeltitle;
chanData.url = channellink;
chanData.description = channeldescription;
};
chanTxt = serviceTemplate;
doReplacements (@chanTxt, @chanData);
ret = ret + chanTxt;
};
};
return ret
%>