summaryrefslogtreecommitdiff
path: root/classes/feeditem/rss.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-05-26 10:21:54 +0400
committerAndrew Dolgov <[email protected]>2013-05-26 10:21:54 +0400
commitdf2655e01566f3c59337a020b1d70054ff585d75 (patch)
tree892be4c30d1562aa86b965b0513395ba9a5365a9 /classes/feeditem/rss.php
parent393c1ddc6d1e3fee5b173be3b2a88fcce5bfc1a8 (diff)
better support for atom:link elements in rss feeds, support rel=standout (fuck you google and your nonstandard shit)
Diffstat (limited to 'classes/feeditem/rss.php')
-rw-r--r--classes/feeditem/rss.php12
1 files changed, 9 insertions, 3 deletions
diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php
index 34dfee1f1..e09a1fbba 100644
--- a/classes/feeditem/rss.php
+++ b/classes/feeditem/rss.php
@@ -19,10 +19,16 @@ class FeedItem_RSS extends FeedItem_Common {
}
function get_link() {
- $link = $this->xpath->query("atom:link", $this->elem)->item(0);
+ $links = $this->xpath->query("atom:link", $this->elem);
- if ($link) {
- return $link->getAttribute("href");
+ foreach ($links as $link) {
+ if ($link && $link->hasAttribute("href") &&
+ (!$link->hasAttribute("rel")
+ || $link->getAttribute("rel") == "alternate"
+ || $link->getAttribute("rel") == "standout")) {
+
+ return $link->getAttribute("href");
+ }
}
$link = $this->elem->getElementsByTagName("guid")->item(0);