better support for atom:link elements in rss feeds, support rel=standout (fuck you google and your nonstandard shit)

This commit is contained in:
Andrew Dolgov 2013-05-26 10:21:54 +04:00
parent 393c1ddc6d
commit df2655e015
2 changed files with 14 additions and 5 deletions

View File

@ -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");
}
}

View File

@ -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);