1*572dd708SAndreas Gohr<?php 2*572dd708SAndreas Gohr 3*572dd708SAndreas Gohr/** 4*572dd708SAndreas Gohr * PHPCreator is a FeedCreator that implements a PHP output, suitable for an include 5*572dd708SAndreas Gohr * 6*572dd708SAndreas Gohr * @since 1.7.3 7*572dd708SAndreas Gohr * @author Barry Hunter <geo@barryhunter.co.uk> 8*572dd708SAndreas Gohr */ 9*572dd708SAndreas Gohrclass PHPCreator extends FeedCreator 10*572dd708SAndreas Gohr{ 11*572dd708SAndreas Gohr 12*572dd708SAndreas Gohr /** 13*572dd708SAndreas Gohr * PHPCreator constructor. 14*572dd708SAndreas Gohr */ 15*572dd708SAndreas Gohr public function __construct() 16*572dd708SAndreas Gohr { 17*572dd708SAndreas Gohr $this->contentType = "text/plain"; 18*572dd708SAndreas Gohr $this->encoding = "utf-8"; 19*572dd708SAndreas Gohr } 20*572dd708SAndreas Gohr 21*572dd708SAndreas Gohr /** @inheritdoc */ 22*572dd708SAndreas Gohr public function createFeed() 23*572dd708SAndreas Gohr { 24*572dd708SAndreas Gohr $feed = "<?php\n"; 25*572dd708SAndreas Gohr $feed .= "class FeedItem {}\n"; 26*572dd708SAndreas Gohr $feed .= " \$feedTitle='".addslashes(FeedCreator::iTrunc(htmlspecialchars($this->title), 100))."';\n"; 27*572dd708SAndreas Gohr $feed .= " \$feedDescription='".addslashes($this->getDescription())."';\n"; 28*572dd708SAndreas Gohr $feed .= " \$feedLink='".$this->link."';\n"; 29*572dd708SAndreas Gohr $feed .= " \$feedItem = array();\n"; 30*572dd708SAndreas Gohr for ($i = 0; $i < count($this->items); $i++) { 31*572dd708SAndreas Gohr $feed .= " \$feedItem[$i] = new FeedItem();\n"; 32*572dd708SAndreas Gohr if ($this->items[$i]->guid != "") { 33*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->id='".htmlspecialchars($this->items[$i]->guid)."';\n"; 34*572dd708SAndreas Gohr } 35*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->title='".addslashes( 36*572dd708SAndreas Gohr FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)), 100) 37*572dd708SAndreas Gohr )."';\n"; 38*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->link='".htmlspecialchars($this->items[$i]->link)."';\n"; 39*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->date=".htmlspecialchars($this->items[$i]->date).";\n"; 40*572dd708SAndreas Gohr if ($this->items[$i]->author != "") { 41*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->author='".htmlspecialchars($this->items[$i]->author)."';\n"; 42*572dd708SAndreas Gohr if ($this->items[$i]->authorEmail != "") { 43*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->authorEmail='".$this->items[$i]->authorEmail."';\n"; 44*572dd708SAndreas Gohr } 45*572dd708SAndreas Gohr } 46*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->description='".addslashes($this->items[$i]->getDescription())."';\n"; 47*572dd708SAndreas Gohr if ($this->items[$i]->thumb != "") { 48*572dd708SAndreas Gohr $feed .= " \$feedItem[$i]->thumbURL='".htmlspecialchars($this->items[$i]->thumb)."';\n"; 49*572dd708SAndreas Gohr } 50*572dd708SAndreas Gohr } 51*572dd708SAndreas Gohr $feed .= "?>\n"; 52*572dd708SAndreas Gohr 53*572dd708SAndreas Gohr return $feed; 54*572dd708SAndreas Gohr } 55*572dd708SAndreas Gohr} 56