From: Sébastien CHAZALLET Date: Sun, 2 Dec 2012 16:18:33 +0000 (+0100) Subject: Rajout d'un lecteur de flux RSS X-Git-Url: http://git.inspyration.org/?p=zf2.biz%2Fgalerie.git;a=commitdiff_plain;h=7054185396fe453db27a958653a70d76c1186c21 Rajout d'un lecteur de flux RSS --- diff --git a/module/Galerie/config/module.config.php b/module/Galerie/config/module.config.php index d2e661e..066f630 100644 --- a/module/Galerie/config/module.config.php +++ b/module/Galerie/config/module.config.php @@ -24,7 +24,9 @@ return array( 'galerie/index/view' => __DIR__ . '/../view/galerie/index/view.phtml', 'galerie/mail/test' => - __DIR__ . '/../view/galerie/mail/test.phtml', + __DIR__ . '/../view/galerie/mail/test.phtml', + 'galerie/index/rsscheck' => + __DIR__ . '/../view/galerie/index/rsscheck.phtml', ), 'template_path_stack' => array( 'galerie' => __DIR__ . '/../view', @@ -170,6 +172,16 @@ return array( ), 'verb' => 'get', ), + 'rsscheck' => array( + 'type' => 'Literal', + 'options' => array( + 'route' => '/rsscheck', + 'defaults' => array( + 'action' => 'rsscheck', + ), + ), + 'verb' => 'get', + ), /* 'default' => array( 'type' => 'Segment', diff --git a/module/Galerie/src/Galerie/Controller/IndexController.php b/module/Galerie/src/Galerie/Controller/IndexController.php index fef7968..c2bd5f7 100644 --- a/module/Galerie/src/Galerie/Controller/IndexController.php +++ b/module/Galerie/src/Galerie/Controller/IndexController.php @@ -12,6 +12,7 @@ use Zend\View\Renderer\PhpRenderer; use Zend\Session\Container; use Zend\Feed\Writer\FeedFactory; +use Zend\Feed\Reader\Reader as FeedReader; use Galerie\Model\Galerie; use Galerie\Graph\Test as TestPie; @@ -159,7 +160,12 @@ class IndexController extends AbstractActionController $entry = $rss->createEntry(); $entry->setTitle($d->name); - $entry->setLink($this->url()->fromRoute('galerie/view', array('id' => $d->id))); + $entry->setLink($this->url()->fromRoute( + 'galerie/view', + array('id' => $d->id)) + array('force_canonical' => true) + ); + $entry->addAuthor(array( 'name' => $d->username, )); @@ -214,6 +220,25 @@ class IndexController extends AbstractActionController return $response; } + + public function rsscheckAction() + { + $url = $this->url()->fromRoute('galerie/rss', array(), array('force_canonical' => true)); + $channel = FeedReader::import($url); + $title = $channel->getTitle(); + $author = $channel->getAuthor(); + $username = $author['name']; + $galeries = array(); + foreach ($channel as $item) { + $galeries[] = "{$item->getTitle()} : {$item->getDescription()}"; + } + + return new ViewModel(array( + 'title' => $title, + 'username' => $username, + 'galeries' => $galeries, + )); + } public function excelAction() { diff --git a/module/Galerie/view/galerie/index/rsscheck.phtml b/module/Galerie/view/galerie/index/rsscheck.phtml new file mode 100644 index 0000000..6422b76 --- /dev/null +++ b/module/Galerie/view/galerie/index/rsscheck.phtml @@ -0,0 +1,11 @@ +

CHECK RSS back-office d’une galerie : view

+ +

+

+ + +