mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 12:15:57 +00:00
move common methods to feeditem_common
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
class FeedItem {
|
abstract class FeedItem {
|
||||||
abstract function get_id();
|
abstract function get_id();
|
||||||
abstract function get_date();
|
abstract function get_date();
|
||||||
abstract function get_link();
|
abstract function get_link();
|
||||||
|
|||||||
@@ -1,13 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
class FeedItem_Atom {
|
class FeedItem_Atom extends FeedItem_Common {
|
||||||
private $elem;
|
|
||||||
private $xpath;
|
|
||||||
|
|
||||||
function __construct($elem, $doc, $xpath) {
|
|
||||||
$this->elem = $elem;
|
|
||||||
$this->xpath = $xpath;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_id() {
|
function get_id() {
|
||||||
$id = $this->elem->getElementsByTagName("id")->item(0);
|
$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() {
|
function get_categories() {
|
||||||
$categories = $this->elem->getElementsByTagName("category");
|
$categories = $this->elem->getElementsByTagName("category");
|
||||||
$cats = array();
|
$cats = array();
|
||||||
@@ -125,26 +104,5 @@ class FeedItem_Atom {
|
|||||||
return $encs;
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
48
classes/feeditem/common.php
Normal file
48
classes/feeditem/common.php
Normal file
@@ -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
|
<?php
|
||||||
class FeedItem_RSS {
|
class FeedItem_RSS extends FeedItem_Common {
|
||||||
private $elem;
|
|
||||||
private $xpath;
|
|
||||||
|
|
||||||
function __construct($elem, $doc, $xpath) {
|
|
||||||
$this->elem = $elem;
|
|
||||||
$this->xpath = $xpath;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_id() {
|
function get_id() {
|
||||||
$id = $this->elem->getElementsByTagName("guid")->item(0);
|
$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() {
|
function get_categories() {
|
||||||
$categories = $this->elem->getElementsByTagName("category");
|
$categories = $this->elem->getElementsByTagName("category");
|
||||||
$cats = array();
|
$cats = array();
|
||||||
@@ -118,25 +97,5 @@ class FeedItem_RSS {
|
|||||||
return $encs;
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user