summaryrefslogtreecommitdiff
path: root/classes/feeditem/atom.php
diff options
context:
space:
mode:
Diffstat (limited to 'classes/feeditem/atom.php')
-rw-r--r--classes/feeditem/atom.php25
1 files changed, 17 insertions, 8 deletions
diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php
index 1cfa4bcc5..489c5b148 100644
--- a/classes/feeditem/atom.php
+++ b/classes/feeditem/atom.php
@@ -22,8 +22,11 @@ class FeedItem_Atom extends FeedItem_Common {
$links = $this->elem->getElementsByTagName("link");
foreach ($links as $link) {
- if ($link && $link->hasAttribute("href") && (!$link->hasAttribute("rel")
- || $link->getAttribute("rel") == "alternate")) {
+ if ($link && $link->hasAttribute("href") &&
+ (!$link->hasAttribute("rel")
+ || $link->getAttribute("rel") == "alternate"
+ || $link->getAttribute("rel") == "standout")) {
+
return $link->getAttribute("href");
}
}
@@ -41,9 +44,8 @@ class FeedItem_Atom extends FeedItem_Common {
$content = $this->elem->getElementsByTagName("content")->item(0);
if ($content) {
- if ($content->hasChildNodes()) {
-
- if ($content->getElementsByTagName("*")->length > 1) {
+ if ($content->hasAttribute('type')) {
+ if ($content->getAttribute('type') == 'xhtml') {
return $this->doc->saveXML($content->firstChild->nextSibling);
}
}
@@ -53,11 +55,18 @@ class FeedItem_Atom extends FeedItem_Common {
}
function get_description() {
- $summary = $this->elem->getElementsByTagName("summary")->item(0);
+ $content = $this->elem->getElementsByTagName("summary")->item(0);
- if ($summary) {
- return $summary->nodeValue;
+ if ($content) {
+ if ($content->hasAttribute('type')) {
+ if ($content->getAttribute('type') == 'xhtml') {
+ return $this->doc->saveXML($content->firstChild->nextSibling);
+ }
+ }
+
+ return $content->nodeValue;
}
+
}
function get_categories() {