diff options
Diffstat (limited to 'classes/feeditem')
-rw-r--r-- | classes/feeditem/atom.php | 11 | ||||
-rw-r--r-- | classes/feeditem/rss.php | 12 |
2 files changed, 22 insertions, 1 deletions
diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php index 77cd448b8..ee5591757 100644 --- a/classes/feeditem/atom.php +++ b/classes/feeditem/atom.php @@ -1,5 +1,6 @@ <?php class FeedItem_Atom extends FeedItem_Common { + const NS_XML = "http://www.w3.org/XML/1998/namespace"; function get_id() { $id = $this->elem->getElementsByTagName("id")->item(0); @@ -197,4 +198,14 @@ class FeedItem_Atom extends FeedItem_Common { return $encs; } + function get_language() { + $lang = $this->elem->getAttributeNS(self::NS_XML, "lang"); + + if (!empty($lang)) { + return $lang; + } else { + // Fall back to the language declared on the feed, if any. + return $this->doc->firstChild->getAttributeNS(self::NS_XML, "lang"); + } + } } diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php index a3fa7e636..dca125be6 100644 --- a/classes/feeditem/rss.php +++ b/classes/feeditem/rss.php @@ -189,4 +189,14 @@ class FeedItem_RSS extends FeedItem_Common { return $encs; } -}
\ No newline at end of file + function get_language() { + $languages = $this->doc->getElementsByTagName('language'); + + if (count($languages) == 0) { + return ""; + } + + return $languages[0]->textContent; + } + +} |