+ {
+ $this->_getLog()->info('Acces à la liste des galeries');
+ $session = new Container('test');
+ if ($session->offsetExists('last')) {
+ $last = $email = $session->offsetGet('last');
+ } else {
+ $last = null;
+ }
+ return new ViewModel(array('last' => $last));
+ }
+
+ public function rssAction() {
+ // Récupération des informations brutes
+ $modelManager = $this->_getGalerieInfoRssTable();
+ $datas = $modelManager->all();
+
+ // Création du fil RSS
+ $rss = $this->_getRss();
+
+ foreach($datas as $d) {
+ $entry = $rss->createEntry();
+ $entry->setTitle($d->name);
+
+ $entry->setLink($this->url()->fromRoute(
+ 'galerie/view',
+ array('id' => $d->id))
+ array('force_canonical' => true)
+ );
+
+ $entry->addAuthor(array(
+ 'name' => $d->username,
+ ));
+ $date = new \DateTime();
+ $entry->setDateModified(
+ $date->setTimestamp(intval($d->updated))
+ );
+ $entry->setDateCreated(
+ $date->setTimestamp(intval($d->created))
+ );
+ $entry->setDescription($d->description);
+ $entry->setContent("{$d->nb} photos.");
+ $rss->addEntry($entry);
+ }
+
+ //echo '<pre>'; print_r($rss->export('rss')); die('</pre>');
+
+ // Création de la réponse
+ $response = $this->getResponse();
+ $response->setStatusCode(200);
+
+ // Modification des entêtes
+ $headers = $this->getResponse()->getHeaders();
+ $headers->addHeaderLine('Content-Type', 'application/rss+xml; charset=utf-8');
+
+ $response->setContent($rss->export('rss'));
+
+ return $response;
+ }
+
+ public function csvAction() {
+ // Récupération des informations brutes
+ $modelManager = $this->_getGalerieInfoTable();
+ $datas = $modelManager->all();
+
+ // Mise en forme des résultats
+ $content = array($modelManager->csvHeader());
+ foreach($datas as $d) {
+ $content[] = $d->csvFormat();
+ }
+
+ // Création de la réponse
+ $response = $this->getResponse();
+ $response->setStatusCode(200);
+
+ // Modification des entêtes
+ $headers = $this->getResponse()->getHeaders();
+ $headers->addHeaderLine('Content-Type', 'text/csv; charset=utf-8');
+ $headers->addHeaderLine('Content-Disposition', 'attachment; filename="export_galerie.csv"');
+
+ $response->setContent(implode("\r\n", $content));
+
+ 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()}";
+ }
+