[formats] Fix enclosures

All bridges failed due to missing 'enclosures' element in
the items array. With this commit all formats (ATOM, RSS
and HTML) provide support for a single 'enclosure' element
This commit is contained in:
logmanoriginal 2016-11-09 18:59:17 +01:00
parent 3a2cb9ea1e
commit 42cbc2e889
3 changed files with 22 additions and 8 deletions

View file

@ -26,9 +26,12 @@ class AtomFormat extends FormatAbstract{
$entryUri = isset($item['uri']) ? $this->xml_encode($item['uri']) : '';
$entryTimestamp = isset($item['timestamp']) ? $this->xml_encode(date(DATE_ATOM, $item['timestamp'])) : '';
$entryContent = isset($item['content']) ? $this->xml_encode($this->sanitizeHtml($item['content'])) : '';
$entryEnclosures = "";
foreach($item['enclosures'] as $enclosure)
$entryEnclosures .= "<link rel=\"enclosure\" href=\"".$this->xml_encode($enclosure)."\"/>";
$entryEnclosure = '';
if(isset($item['enclosure'])){
$entryEnclosure = '<link rel="enclosure" href="' . $this->xml_encode($item['enclosure']) . '"/>';
}
$entries .= <<<EOD
<entry>
@ -40,7 +43,7 @@ class AtomFormat extends FormatAbstract{
<id>{$entryUri}</id>
<updated>{$entryTimestamp}</updated>
<content type="html">{$entryContent}</content>
{$entryEnclosures}
{$entryEnclosure}
</entry>
EOD;

View file

@ -30,6 +30,13 @@ class HtmlFormat extends FormatAbstract {
. '</div>';
}
$entryEnclosure = '';
if(isset($item['enclosure'])){
$entryEnclosure = '<div class="enclosure"><a href="'
. $this->sanitizeHtml($item['enclosure'])
. '">enclosure</a><div>';
}
$entries .= <<<EOD
<section class="feeditem">
@ -37,6 +44,7 @@ class HtmlFormat extends FormatAbstract {
{$entryTimestamp}
{$entryAuthor}
{$entryContent}
{$entryEnclosure}
</section>
EOD;

View file

@ -30,9 +30,12 @@ class MrssFormat extends FormatAbstract {
$itemUri = isset($item['uri']) ? $this->xml_encode($item['uri']) : '';
$itemTimestamp = isset($item['timestamp']) ? $this->xml_encode(date(DATE_RFC2822, $item['timestamp'])) : '';
$itemContent = isset($item['content']) ? $this->xml_encode($this->sanitizeHtml($item['content'])) : '';
$entryEnclosures = "";
foreach($item['enclosures'] as $enclosure)
$entryEnclosures .= "<enclosure url=\"".$this->xml_encode($enclosure)."\"/>";
$entryEnclosure = '';
if(isset($item['enclosure'])){
$entryEnclosure = '<enclosure url="' . $this->xml_encode($item['enclosure']) . '"/>';
}
$items .= <<<EOD
<item>
@ -42,7 +45,7 @@ class MrssFormat extends FormatAbstract {
<pubDate>{$itemTimestamp}</pubDate>
<description>{$itemContent}</description>
<author>{$itemAuthor}</author>
{$entryEnclosures}
{$entryEnclosure}
</item>
EOD;