X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Ffeedlist.php;h=cc0f55249394352268c6bb869a711500163dc16b;hb=e6507a0f180bfe70d36599c4c269eb3b08b9f61d;hp=2a750bf7786a396264354f65823f901a111a419f;hpb=be5d113fc684fcbe41b8374c62bfeb0f267216b7;p=quix0rs-gnu-social.git diff --git a/lib/feedlist.php b/lib/feedlist.php index 2a750bf778..cc0f552493 100644 --- a/lib/feedlist.php +++ b/lib/feedlist.php @@ -28,9 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } /** * Widget for showing a list of feeds @@ -46,55 +44,69 @@ if (!defined('STATUSNET')) { * * @see Action::showExportList() */ - class FeedList extends Widget { var $action = null; - function __construct($action=null) + protected $feeds = null; + + public function __construct(Action $action=null, array $feeds=array()) { - parent::__construct($action); - $this->action = $action; + parent::__construct($action); + $this->action = $action; + $this->feeds = $feeds; } - function show($feeds) + public function show() { - $this->out->elementStart('div', array('id' => 'export_data', - 'class' => 'section')); - $this->out->element('h2', null, _('Export data')); - $this->out->elementStart('ul', array('class' => 'xoxo')); + if (Event::handle('StartShowFeedLinkList', array($this->action, &$this->feeds))) { + if (!empty($this->feeds)) { + $this->out->elementStart('div', array('id' => 'export_data', + 'class' => 'section')); + // TRANS: Header for feed links (h2). + $this->out->element('h2', null, _('Feeds')); + $this->out->elementStart('ul', array('class' => 'xoxo')); - foreach ($feeds as $feed) { - $this->feedItem($feed); - } + foreach ($this->feeds as $feed) { + $this->feedItem($feed); + } - $this->out->elementEnd('ul'); - $this->out->elementEnd('div'); + $this->out->elementEnd('ul'); + $this->out->elementEnd('div'); + } + Event::handle('EndShowFeedLinkList', array($this->action, &$this->feeds)); + } } function feedItem($feed) { - $classname = null; + if (Event::handle('StartShowFeedLink', array($this->action, &$feed))) { + $classname = null; - switch ($feed->type) { - case Feed::RSS1: - case Feed::RSS2: - $classname = 'rss'; - break; - case Feed::ATOM: - $classname = 'atom'; - break; - case Feed::FOAF: - $classname = 'foaf'; - break; - } + switch ($feed->type) { + case Feed::RSS1: + case Feed::RSS2: + $classname = 'rss'; + break; + case Feed::ATOM: + $classname = 'atom'; + break; + case Feed::FOAF: + $classname = 'foaf'; + break; + case Feed::JSON: + $classname = 'json'; + break; + } - $this->out->elementStart('li'); - $this->out->element('a', array('href' => $feed->url, - 'class' => $classname, - 'type' => $feed->mimeType(), - 'title' => $feed->title), - $feed->typeName()); - $this->out->elementEnd('li'); + $this->out->elementStart('li'); + $this->out->element('a', array('href' => $feed->url, + 'class' => $classname, + 'type' => $feed->mimeType(), + 'title' => $feed->title), + $feed->typeName()); + $this->out->elementEnd('li'); + Event::handle('EndShowFeedLink', array($this->action, $feed)); + } } }