summaryrefslogtreecommitdiff
path: root/classes/feeditem
diff options
context:
space:
mode:
Diffstat (limited to 'classes/feeditem')
-rw-r--r--classes/feeditem/atom.php11
-rw-r--r--classes/feeditem/rss.php12
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;
+ }
+
+}