mirror of
https://github.com/moparisthebest/wallabag
synced 2024-11-27 11:22:17 -05:00
Merge pull request #609 from wallabag/fix-desciption-typo
remove unnecessary variable declaration
This commit is contained in:
commit
9cb9ab552b
@ -101,8 +101,7 @@
|
|||||||
*/
|
*/
|
||||||
public function setDescription($description)
|
public function setDescription($description)
|
||||||
{
|
{
|
||||||
$tag = 'description';
|
$this->setElement('description', $description);
|
||||||
$this->setElement($tag, $description);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
773
inc/3rdparty/libraries/feedwriter/FeedWriter.php
vendored
773
inc/3rdparty/libraries/feedwriter/FeedWriter.php
vendored
@ -18,424 +18,423 @@ define('JSONP', 3, true);
|
|||||||
*/
|
*/
|
||||||
class FeedWriter
|
class FeedWriter
|
||||||
{
|
{
|
||||||
private $self = null; // self URL - http://feed2.w3.org/docs/warning/MissingAtomSelfLink.html
|
private $self = null; // self URL - http://feed2.w3.org/docs/warning/MissingAtomSelfLink.html
|
||||||
private $hubs = array(); // PubSubHubbub hubs
|
private $hubs = array(); // PubSubHubbub hubs
|
||||||
private $channels = array(); // Collection of channel elements
|
private $channels = array(); // Collection of channel elements
|
||||||
private $items = array(); // Collection of items as object of FeedItem class.
|
private $items = array(); // Collection of items as object of FeedItem class.
|
||||||
private $data = array(); // Store some other version wise data
|
private $data = array(); // Store some other version wise data
|
||||||
private $CDATAEncoding = array(); // The tag names which have to encoded as CDATA
|
private $CDATAEncoding = array(); // The tag names which have to encoded as CDATA
|
||||||
private $xsl = null; // stylesheet to render RSS (used by Chrome)
|
private $xsl = null; // stylesheet to render RSS (used by Chrome)
|
||||||
private $json = null; // JSON object
|
private $json = null; // JSON object
|
||||||
|
|
||||||
private $version = null;
|
private $version = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param constant the version constant (RSS2 or JSON).
|
* @param constant the version constant (RSS2 or JSON).
|
||||||
*/
|
*/
|
||||||
function __construct($version = RSS2)
|
function __construct($version = RSS2)
|
||||||
{
|
{
|
||||||
$this->version = $version;
|
$this->version = $version;
|
||||||
|
|
||||||
// Setting default value for assential channel elements
|
// Setting default value for assential channel elements
|
||||||
$this->channels['title'] = $version . ' Feed';
|
$this->channels['title'] = $version . ' Feed';
|
||||||
$this->channels['link'] = 'http://www.ajaxray.com/blog';
|
$this->channels['link'] = 'http://www.ajaxray.com/blog';
|
||||||
|
|
||||||
//Tag names to encode in CDATA
|
//Tag names to encode in CDATA
|
||||||
$this->CDATAEncoding = array('description', 'content:encoded', 'content', 'subtitle', 'summary');
|
$this->CDATAEncoding = array('description', 'content:encoded', 'content', 'subtitle', 'summary');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setFormat($format) {
|
public function setFormat($format) {
|
||||||
$this->version = $format;
|
$this->version = $format;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start # public functions ---------------------------------------------
|
// Start # public functions ---------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a channel element
|
* Set a channel element
|
||||||
* @access public
|
* @access public
|
||||||
* @param srting name of the channel tag
|
* @param srting name of the channel tag
|
||||||
* @param string content of the channel tag
|
* @param string content of the channel tag
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setChannelElement($elementName, $content)
|
public function setChannelElement($elementName, $content)
|
||||||
{
|
{
|
||||||
$this->channels[$elementName] = $content ;
|
$this->channels[$elementName] = $content ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set multiple channel elements from an array. Array elements
|
* Set multiple channel elements from an array. Array elements
|
||||||
* should be 'channelName' => 'channelContent' format.
|
* should be 'channelName' => 'channelContent' format.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param array array of channels
|
* @param array array of channels
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setChannelElementsFromArray($elementArray)
|
public function setChannelElementsFromArray($elementArray)
|
||||||
{
|
{
|
||||||
if(! is_array($elementArray)) return;
|
if(! is_array($elementArray)) return;
|
||||||
foreach ($elementArray as $elementName => $content)
|
foreach ($elementArray as $elementName => $content)
|
||||||
{
|
{
|
||||||
$this->setChannelElement($elementName, $content);
|
$this->setChannelElement($elementName, $content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Genarate the actual RSS/JSON file
|
* Genarate the actual RSS/JSON file
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function genarateFeed()
|
public function genarateFeed()
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2) {
|
if ($this->version == RSS2) {
|
||||||
// header('Content-type: text/xml; charset=UTF-8');
|
// header('Content-type: text/xml; charset=UTF-8');
|
||||||
// this line prevents Chrome 20 from prompting download
|
// this line prevents Chrome 20 from prompting download
|
||||||
// used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss
|
// used by Google: https://news.google.com/news/feeds?ned=us&topic=b&output=rss
|
||||||
// header('X-content-type-options: nosniff');
|
// header('X-content-type-options: nosniff');
|
||||||
} elseif ($this->version == JSON) {
|
} elseif ($this->version == JSON) {
|
||||||
// header('Content-type: application/json; charset=UTF-8');
|
// header('Content-type: application/json; charset=UTF-8');
|
||||||
$this->json = new stdClass();
|
$this->json = new stdClass();
|
||||||
} elseif ($this->version == JSONP) {
|
} elseif ($this->version == JSONP) {
|
||||||
// header('Content-type: application/javascript; charset=UTF-8');
|
// header('Content-type: application/javascript; charset=UTF-8');
|
||||||
$this->json = new stdClass();
|
$this->json = new stdClass();
|
||||||
}
|
}
|
||||||
$this->printHead();
|
$this->printHead();
|
||||||
$this->printChannels();
|
$this->printChannels();
|
||||||
$this->printItems();
|
$this->printItems();
|
||||||
$this->printTale();
|
$this->printTale();
|
||||||
if ($this->version == JSON || $this->version == JSONP) {
|
if ($this->version == JSON || $this->version == JSONP) {
|
||||||
echo json_encode($this->json);
|
echo json_encode($this->json);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new FeedItem.
|
* Create a new FeedItem.
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @return object instance of FeedItem class
|
* @return object instance of FeedItem class
|
||||||
*/
|
*/
|
||||||
public function createNewItem()
|
public function createNewItem()
|
||||||
{
|
{
|
||||||
$Item = new FeedItem($this->version);
|
$Item = new FeedItem($this->version);
|
||||||
return $Item;
|
return $Item;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a FeedItem to the main class
|
* Add a FeedItem to the main class
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param object instance of FeedItem class
|
* @param object instance of FeedItem class
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function addItem($feedItem)
|
public function addItem($feedItem)
|
||||||
{
|
{
|
||||||
$this->items[] = $feedItem;
|
$this->items[] = $feedItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapper functions -------------------------------------------------------------------
|
// Wrapper functions -------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the 'title' channel element
|
* Set the 'title' channel element
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param srting value of 'title' channel tag
|
* @param srting value of 'title' channel tag
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setTitle($title)
|
public function setTitle($title)
|
||||||
{
|
{
|
||||||
$this->setChannelElement('title', $title);
|
$this->setChannelElement('title', $title);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a hub to the channel element
|
* Add a hub to the channel element
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param string URL
|
* @param string URL
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function addHub($hub)
|
public function addHub($hub)
|
||||||
{
|
{
|
||||||
$this->hubs[] = $hub;
|
$this->hubs[] = $hub;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set XSL URL
|
* Set XSL URL
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param string URL
|
* @param string URL
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setXsl($xsl)
|
public function setXsl($xsl)
|
||||||
{
|
{
|
||||||
$this->xsl = $xsl;
|
$this->xsl = $xsl;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set self URL
|
* Set self URL
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param string URL
|
* @param string URL
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setSelf($self)
|
public function setSelf($self)
|
||||||
{
|
{
|
||||||
$this->self = $self;
|
$this->self = $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the 'description' channel element
|
* Set the 'description' channel element
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param srting value of 'description' channel tag
|
* @param srting value of 'description' channel tag
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setDescription($desciption)
|
public function setDescription($description)
|
||||||
{
|
{
|
||||||
$tag = 'description';
|
$this->setChannelElement('description', $description);
|
||||||
$this->setChannelElement($tag, $desciption);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the 'link' channel element
|
* Set the 'link' channel element
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param srting value of 'link' channel tag
|
* @param srting value of 'link' channel tag
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setLink($link)
|
public function setLink($link)
|
||||||
{
|
{
|
||||||
$this->setChannelElement('link', $link);
|
$this->setChannelElement('link', $link);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the 'image' channel element
|
* Set the 'image' channel element
|
||||||
*
|
*
|
||||||
* @access public
|
* @access public
|
||||||
* @param srting title of image
|
* @param srting title of image
|
||||||
* @param srting link url of the imahe
|
* @param srting link url of the imahe
|
||||||
* @param srting path url of the image
|
* @param srting path url of the image
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function setImage($title, $link, $url)
|
public function setImage($title, $link, $url)
|
||||||
{
|
{
|
||||||
$this->setChannelElement('image', array('title'=>$title, 'link'=>$link, 'url'=>$url));
|
$this->setChannelElement('image', array('title'=>$title, 'link'=>$link, 'url'=>$url));
|
||||||
}
|
}
|
||||||
|
|
||||||
// End # public functions ----------------------------------------------
|
// End # public functions ----------------------------------------------
|
||||||
|
|
||||||
// Start # private functions ----------------------------------------------
|
// Start # private functions ----------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints the xml and rss namespace
|
* Prints the xml and rss namespace
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function printHead()
|
private function printHead()
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2)
|
if ($this->version == RSS2)
|
||||||
{
|
{
|
||||||
$out = '<?xml version="1.0" encoding="utf-8"?>'."\n";
|
$out = '<?xml version="1.0" encoding="utf-8"?>'."\n";
|
||||||
if ($this->xsl) $out .= '<?xml-stylesheet type="text/xsl" href="'.htmlspecialchars($this->xsl).'"?>' . PHP_EOL;
|
if ($this->xsl) $out .= '<?xml-stylesheet type="text/xsl" href="'.htmlspecialchars($this->xsl).'"?>' . PHP_EOL;
|
||||||
$out .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">' . PHP_EOL;
|
$out .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">' . PHP_EOL;
|
||||||
echo $out;
|
echo $out;
|
||||||
}
|
}
|
||||||
elseif ($this->version == JSON || $this->version == JSONP)
|
elseif ($this->version == JSON || $this->version == JSONP)
|
||||||
{
|
{
|
||||||
$this->json->rss = array('@attributes' => array('version' => '2.0'));
|
$this->json->rss = array('@attributes' => array('version' => '2.0'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Closes the open tags at the end of file
|
* Closes the open tags at the end of file
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function printTale()
|
private function printTale()
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2)
|
if ($this->version == RSS2)
|
||||||
{
|
{
|
||||||
echo '</channel>',PHP_EOL,'</rss>';
|
echo '</channel>',PHP_EOL,'</rss>';
|
||||||
}
|
}
|
||||||
// do nothing for JSON
|
// do nothing for JSON
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a single node as xml format
|
* Creates a single node as xml format
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @param string name of the tag
|
* @param string name of the tag
|
||||||
* @param mixed tag value as string or array of nested tags in 'tagName' => 'tagValue' format
|
* @param mixed tag value as string or array of nested tags in 'tagName' => 'tagValue' format
|
||||||
* @param array Attributes(if any) in 'attrName' => 'attrValue' format
|
* @param array Attributes(if any) in 'attrName' => 'attrValue' format
|
||||||
* @return string formatted xml tag
|
* @return string formatted xml tag
|
||||||
*/
|
*/
|
||||||
private function makeNode($tagName, $tagContent, $attributes = null)
|
private function makeNode($tagName, $tagContent, $attributes = null)
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2)
|
if ($this->version == RSS2)
|
||||||
{
|
{
|
||||||
$nodeText = '';
|
$nodeText = '';
|
||||||
$attrText = '';
|
$attrText = '';
|
||||||
if (is_array($attributes))
|
if (is_array($attributes))
|
||||||
{
|
{
|
||||||
foreach ($attributes as $key => $value)
|
foreach ($attributes as $key => $value)
|
||||||
{
|
{
|
||||||
$attrText .= " $key=\"$value\" ";
|
$attrText .= " $key=\"$value\" ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$nodeText .= "<{$tagName}{$attrText}>";
|
$nodeText .= "<{$tagName}{$attrText}>";
|
||||||
if (is_array($tagContent))
|
if (is_array($tagContent))
|
||||||
{
|
{
|
||||||
foreach ($tagContent as $key => $value)
|
foreach ($tagContent as $key => $value)
|
||||||
{
|
{
|
||||||
$nodeText .= $this->makeNode($key, $value);
|
$nodeText .= $this->makeNode($key, $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//$nodeText .= (in_array($tagName, $this->CDATAEncoding))? $tagContent : htmlentities($tagContent);
|
//$nodeText .= (in_array($tagName, $this->CDATAEncoding))? $tagContent : htmlentities($tagContent);
|
||||||
$nodeText .= htmlspecialchars($tagContent);
|
$nodeText .= htmlspecialchars($tagContent);
|
||||||
}
|
}
|
||||||
//$nodeText .= (in_array($tagName, $this->CDATAEncoding))? "]]></$tagName>" : "</$tagName>";
|
//$nodeText .= (in_array($tagName, $this->CDATAEncoding))? "]]></$tagName>" : "</$tagName>";
|
||||||
$nodeText .= "</$tagName>";
|
$nodeText .= "</$tagName>";
|
||||||
return $nodeText . PHP_EOL;
|
return $nodeText . PHP_EOL;
|
||||||
}
|
}
|
||||||
elseif ($this->version == JSON || $this->version == JSONP)
|
elseif ($this->version == JSON || $this->version == JSONP)
|
||||||
{
|
{
|
||||||
$tagName = (string)$tagName;
|
$tagName = (string)$tagName;
|
||||||
$tagName = strtr($tagName, ':', '_');
|
$tagName = strtr($tagName, ':', '_');
|
||||||
$node = null;
|
$node = null;
|
||||||
if (!$tagContent && is_array($attributes) && count($attributes))
|
if (!$tagContent && is_array($attributes) && count($attributes))
|
||||||
{
|
{
|
||||||
$node = array('@attributes' => $this->json_keys($attributes));
|
$node = array('@attributes' => $this->json_keys($attributes));
|
||||||
} else {
|
} else {
|
||||||
if (is_array($tagContent)) {
|
if (is_array($tagContent)) {
|
||||||
$node = $this->json_keys($tagContent);
|
$node = $this->json_keys($tagContent);
|
||||||
} else {
|
} else {
|
||||||
$node = $tagContent;
|
$node = $tagContent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $node;
|
return $node;
|
||||||
}
|
}
|
||||||
return ''; // should not get here
|
return ''; // should not get here
|
||||||
}
|
}
|
||||||
|
|
||||||
private function json_keys(array $array) {
|
private function json_keys(array $array) {
|
||||||
$new = array();
|
$new = array();
|
||||||
foreach ($array as $key => $val) {
|
foreach ($array as $key => $val) {
|
||||||
if (is_string($key)) $key = strtr($key, ':', '_');
|
if (is_string($key)) $key = strtr($key, ':', '_');
|
||||||
if (is_array($val)) {
|
if (is_array($val)) {
|
||||||
$new[$key] = $this->json_keys($val);
|
$new[$key] = $this->json_keys($val);
|
||||||
} else {
|
} else {
|
||||||
$new[$key] = $val;
|
$new[$key] = $val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $new;
|
return $new;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @desc Print channels
|
* @desc Print channels
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function printChannels()
|
private function printChannels()
|
||||||
{
|
{
|
||||||
//Start channel tag
|
//Start channel tag
|
||||||
if ($this->version == RSS2) {
|
if ($this->version == RSS2) {
|
||||||
echo '<channel>' . PHP_EOL;
|
echo '<channel>' . PHP_EOL;
|
||||||
// add hubs
|
// add hubs
|
||||||
foreach ($this->hubs as $hub) {
|
foreach ($this->hubs as $hub) {
|
||||||
//echo $this->makeNode('link', '', array('rel'=>'hub', 'href'=>$hub, 'xmlns'=>'http://www.w3.org/2005/Atom'));
|
//echo $this->makeNode('link', '', array('rel'=>'hub', 'href'=>$hub, 'xmlns'=>'http://www.w3.org/2005/Atom'));
|
||||||
echo '<link rel="hub" href="'.htmlspecialchars($hub).'" xmlns="http://www.w3.org/2005/Atom" />' . PHP_EOL;
|
echo '<link rel="hub" href="'.htmlspecialchars($hub).'" xmlns="http://www.w3.org/2005/Atom" />' . PHP_EOL;
|
||||||
}
|
}
|
||||||
// add self
|
// add self
|
||||||
if (isset($this->self)) {
|
if (isset($this->self)) {
|
||||||
//echo $this->makeNode('link', '', array('rel'=>'self', 'href'=>$this->self, 'xmlns'=>'http://www.w3.org/2005/Atom'));
|
//echo $this->makeNode('link', '', array('rel'=>'self', 'href'=>$this->self, 'xmlns'=>'http://www.w3.org/2005/Atom'));
|
||||||
echo '<link rel="self" href="'.htmlspecialchars($this->self).'" xmlns="http://www.w3.org/2005/Atom" />' . PHP_EOL;
|
echo '<link rel="self" href="'.htmlspecialchars($this->self).'" xmlns="http://www.w3.org/2005/Atom" />' . PHP_EOL;
|
||||||
}
|
}
|
||||||
//Print Items of channel
|
//Print Items of channel
|
||||||
foreach ($this->channels as $key => $value)
|
foreach ($this->channels as $key => $value)
|
||||||
{
|
{
|
||||||
echo $this->makeNode($key, $value);
|
echo $this->makeNode($key, $value);
|
||||||
}
|
}
|
||||||
} elseif ($this->version == JSON || $this->version == JSONP) {
|
} elseif ($this->version == JSON || $this->version == JSONP) {
|
||||||
$this->json->rss['channel'] = (object)$this->json_keys($this->channels);
|
$this->json->rss['channel'] = (object)$this->json_keys($this->channels);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints formatted feed items
|
* Prints formatted feed items
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function printItems()
|
private function printItems()
|
||||||
{
|
{
|
||||||
foreach ($this->items as $item) {
|
foreach ($this->items as $item) {
|
||||||
$itemElements = $item->getElements();
|
$itemElements = $item->getElements();
|
||||||
|
|
||||||
echo $this->startItem();
|
echo $this->startItem();
|
||||||
|
|
||||||
if ($this->version == JSON || $this->version == JSONP) {
|
if ($this->version == JSON || $this->version == JSONP) {
|
||||||
$json_item = array();
|
$json_item = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($itemElements as $thisElement) {
|
foreach ($itemElements as $thisElement) {
|
||||||
foreach ($thisElement as $instance) {
|
foreach ($thisElement as $instance) {
|
||||||
if ($this->version == RSS2) {
|
if ($this->version == RSS2) {
|
||||||
echo $this->makeNode($instance['name'], $instance['content'], $instance['attributes']);
|
echo $this->makeNode($instance['name'], $instance['content'], $instance['attributes']);
|
||||||
} elseif ($this->version == JSON || $this->version == JSONP) {
|
} elseif ($this->version == JSON || $this->version == JSONP) {
|
||||||
$_json_node = $this->makeNode($instance['name'], $instance['content'], $instance['attributes']);
|
$_json_node = $this->makeNode($instance['name'], $instance['content'], $instance['attributes']);
|
||||||
if (count($thisElement) > 1) {
|
if (count($thisElement) > 1) {
|
||||||
$json_item[strtr($instance['name'], ':', '_')][] = $_json_node;
|
$json_item[strtr($instance['name'], ':', '_')][] = $_json_node;
|
||||||
} else {
|
} else {
|
||||||
$json_item[strtr($instance['name'], ':', '_')] = $_json_node;
|
$json_item[strtr($instance['name'], ':', '_')] = $_json_node;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo $this->endItem();
|
echo $this->endItem();
|
||||||
if ($this->version == JSON || $this->version == JSONP) {
|
if ($this->version == JSON || $this->version == JSONP) {
|
||||||
if (count($this->items) > 1) {
|
if (count($this->items) > 1) {
|
||||||
$this->json->rss['channel']->item[] = $json_item;
|
$this->json->rss['channel']->item[] = $json_item;
|
||||||
} else {
|
} else {
|
||||||
$this->json->rss['channel']->item = $json_item;
|
$this->json->rss['channel']->item = $json_item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make the starting tag of channels
|
* Make the starting tag of channels
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function startItem()
|
private function startItem()
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2)
|
if ($this->version == RSS2)
|
||||||
{
|
{
|
||||||
echo '<item>' . PHP_EOL;
|
echo '<item>' . PHP_EOL;
|
||||||
}
|
}
|
||||||
// nothing for JSON
|
// nothing for JSON
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Closes feed item tag
|
* Closes feed item tag
|
||||||
*
|
*
|
||||||
* @access private
|
* @access private
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function endItem()
|
private function endItem()
|
||||||
{
|
{
|
||||||
if ($this->version == RSS2)
|
if ($this->version == RSS2)
|
||||||
{
|
{
|
||||||
echo '</item>' . PHP_EOL;
|
echo '</item>' . PHP_EOL;
|
||||||
}
|
}
|
||||||
// nothing for JSON
|
// nothing for JSON
|
||||||
}
|
}
|
||||||
|
|
||||||
// End # private functions ----------------------------------------------
|
// End # private functions ----------------------------------------------
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user