Rajout de l'export CSV
[zf2.biz/galerie.git] / module / Galerie / src / Galerie / Controller / IndexController.php
index c3cdefd..1f358f3 100644 (file)
@@ -57,10 +57,34 @@ class IndexController extends AbstractActionController
 
 
     public function indexAction() 
-    { 
-        return new ViewModel(array()); 
+    {
+        return new ViewModel($this->MessageGetter());
     } 
 
+    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);
+
+        $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 listAction() 
     { 
         // Récupération de l'objet requête
@@ -161,6 +185,14 @@ class IndexController extends AbstractActionController
                 }
                 $this->_getGalerieTable()->save($galerie);
 
+                $translator = $this->_getTranslator();
+                $messenger = $this->flashMessenger();
+                $messenger->setNamespace('infos');
+                if ($is_new) {
+                    $messenger->addMessage($translator->translate('Galerie_added', 'galerie'));
+                } else {
+                    $messenger->addMessage($translator->translate('Galerie_updated', 'galerie'));
+                }
                 // Redirection à l'ancienne mode
                 //return $this->redirect()->toRoute('galerie');
                 // Redirection vers le contrôleur courant