mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-08-07 09:06:36 +02:00
core: Add FeedItem class (#940)
Add transformation from legacy items to FeedItems, before transforming items to the desired format. This allows using legacy bridges alongside bridges that return FeedItems. As discussed in #940, instead of throwing exceptions on invalid parameters, add messages to the debug log instead Add support for strings to setTimestamp(). If the provided timestamp is a string, automatically try to parse it using strtotime(). This allows bridges to simply use `$item['timestamp'] = $timestamp;` instead of `$item['timestamp'] = strtotime($timestamp);` Support simple_html_dom_node as input paramter for setURI Support simple_html_dom_node as input parameter for setContent
This commit is contained in:
@@ -27,30 +27,26 @@ class AtomFormat extends FormatAbstract{
|
||||
|
||||
$entries = '';
|
||||
foreach($this->getItems() as $item) {
|
||||
$entryAuthor = isset($item['author']) ? $this->xml_encode($item['author']) : '';
|
||||
$entryTitle = isset($item['title']) ? $this->xml_encode($item['title']) : '';
|
||||
$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'])) : '';
|
||||
$entryAuthor = $this->xml_encode($item->getAuthor());
|
||||
$entryTitle = $this->xml_encode($item->getTitle());
|
||||
$entryUri = $this->xml_encode($item->getURI());
|
||||
$entryTimestamp = $this->xml_encode(date(DATE_ATOM, $item->getTimestamp()));
|
||||
$entryContent = $this->xml_encode($this->sanitizeHtml($item->getContent()));
|
||||
|
||||
$entryEnclosures = '';
|
||||
if(isset($item['enclosures'])) {
|
||||
foreach($item['enclosures'] as $enclosure) {
|
||||
$entryEnclosures .= '<link rel="enclosure" href="'
|
||||
. $this->xml_encode($enclosure)
|
||||
. '" type="' . getMimeType($enclosure) . '" />'
|
||||
. PHP_EOL;
|
||||
}
|
||||
foreach($item->getEnclosures() as $enclosure) {
|
||||
$entryEnclosures .= '<link rel="enclosure" href="'
|
||||
. $this->xml_encode($enclosure)
|
||||
. '" type="' . getMimeType($enclosure) . '" />'
|
||||
. PHP_EOL;
|
||||
}
|
||||
|
||||
$entryCategories = '';
|
||||
if(isset($item['categories'])) {
|
||||
foreach($item['categories'] as $category) {
|
||||
$entryCategories .= '<category term="'
|
||||
. $this->xml_encode($category)
|
||||
. '"/>'
|
||||
. PHP_EOL;
|
||||
}
|
||||
foreach($item->getCategories() as $category) {
|
||||
$entryCategories .= '<category term="'
|
||||
. $this->xml_encode($category)
|
||||
. '"/>'
|
||||
. PHP_EOL;
|
||||
}
|
||||
|
||||
$entries .= <<<EOD
|
||||
|
Reference in New Issue
Block a user