move common methods to feeditem_common
This commit is contained in:
parent
f11015058d
commit
b4d1690097
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
class FeedItem {
|
||||
abstract class FeedItem {
|
||||
abstract function get_id();
|
||||
abstract function get_date();
|
||||
abstract function get_link();
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
<?php
|
||||
class FeedItem_Atom {
|
||||
private $elem;
|
||||
private $xpath;
|
||||
|
||||
function __construct($elem, $doc, $xpath) {
|
||||
$this->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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
abstract class FeedItem_Common extends FeedItem {
|
||||
protected $elem;
|
||||
protected $xpath;
|
||||
protected $doc;
|
||||
|
||||
function __construct($elem, $doc, $xpath) {
|
||||
$this->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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
|
@ -1,13 +1,5 @@
|
|||
<?php
|
||||
class FeedItem_RSS {
|
||||
private $elem;
|
||||
private $xpath;
|
||||
|
||||
function __construct($elem, $doc, $xpath) {
|
||||
$this->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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue