From b4d1690097946bdf89dc88f218e7790126f4fd3b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 1 May 2013 21:06:48 +0400 Subject: [PATCH] move common methods to feeditem_common --- classes/feeditem.php | 2 +- classes/feeditem/atom.php | 44 +--------------------------------- classes/feeditem/common.php | 48 +++++++++++++++++++++++++++++++++++++ classes/feeditem/rss.php | 43 +-------------------------------- 4 files changed, 51 insertions(+), 86 deletions(-) create mode 100644 classes/feeditem/common.php diff --git a/classes/feeditem.php b/classes/feeditem.php index cc39fcee..e64a13fd 100644 --- a/classes/feeditem.php +++ b/classes/feeditem.php @@ -1,5 +1,5 @@ elem = $elem; - $this->xpath = $xpath; - } - +class FeedItem_Atom extends FeedItem_Common { function get_id() { $id = $this->elem->getElementsByTagName("id")->item(0); @@ -60,19 +52,6 @@ class FeedItem_Atom { } } - // todo - function get_comments_url() { - - } - - function get_comments_count() { - $comments = $this->xpath->query("slash:comments", $this->elem)->item(0); - - if ($comments) { - return $comments->nodeValue; - } - } - function get_categories() { $categories = $this->elem->getElementsByTagName("category"); $cats = array(); @@ -125,26 +104,5 @@ class FeedItem_Atom { return $encs; } - function get_author() { - $author = $this->elem->getElementsByTagName("author")->item(0); - - if ($author) { - $name = $author->getElementsByTagName("name")->item(0); - - if ($name) return $name->nodeValue; - - $email = $author->getElementsByTagName("email")->item(0); - - if ($email) return $email->nodeValue; - - } - - $author = $this->xpath->query("dc:creator", $this->elem)->item(0); - - if ($author) { - return $author->nodeValue; - } - - } } ?> diff --git a/classes/feeditem/common.php b/classes/feeditem/common.php new file mode 100644 index 00000000..fca9433a --- /dev/null +++ b/classes/feeditem/common.php @@ -0,0 +1,48 @@ +elem = $elem; + $this->xpath = $xpath; + $this->doc = $doc; + } + + function get_author() { + $author = $this->elem->getElementsByTagName("author")->item(0); + + if ($author) { + $name = $author->getElementsByTagName("name")->item(0); + + if ($name) return $name->nodeValue; + + $email = $author->getElementsByTagName("email")->item(0); + + if ($email) return $email->nodeValue; + } + + $author = $this->xpath->query("dc:creator", $this->elem)->item(0); + + if ($author) { + return $author->nodeValue; + } + } + + // todo + function get_comments_url() { + + } + + function get_comments_count() { + $comments = $this->xpath->query("slash:comments", $this->elem)->item(0); + + if ($comments) { + return $comments->nodeValue; + } + } + + +} +?> diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php index 9e54a9c0..29c8cb6b 100644 --- a/classes/feeditem/rss.php +++ b/classes/feeditem/rss.php @@ -1,13 +1,5 @@ elem = $elem; - $this->xpath = $xpath; - } - +class FeedItem_RSS extends FeedItem_Common { function get_id() { $id = $this->elem->getElementsByTagName("guid")->item(0); @@ -58,19 +50,6 @@ class FeedItem_RSS { } } - // todo - function get_comments_url() { - - } - - function get_comments_count() { - $comments = $this->xpath->query("slash:comments", $this->elem)->item(0); - - if ($comments) { - return $comments->nodeValue; - } - } - function get_categories() { $categories = $this->elem->getElementsByTagName("category"); $cats = array(); @@ -118,25 +97,5 @@ class FeedItem_RSS { return $encs; } - function get_author() { - $author = $this->elem->getElementsByTagName("author")->item(0); - - if ($author) { - $name = $author->getElementsByTagName("name")->item(0); - - if ($name) return $name->nodeValue; - - $email = $author->getElementsByTagName("email")->item(0); - - if ($email) return $email->nodeValue; - } - - $author = $this->xpath->query("dc:creator", $this->elem)->item(0); - - if ($author) { - return $author->nodeValue; - } - - } } ?> -- 2.39.5