]> git.agnieray.net Git - galette.git/commitdiff
Fix ouput files types; closes #1271
authorJohan Cwiklinski <jcwiklinski@teclib.com>
Sat, 13 Apr 2019 09:44:15 +0000 (11:44 +0200)
committerJohan Cwiklinski <jcwiklinski@teclib.com>
Sat, 13 Apr 2019 09:44:15 +0000 (11:44 +0200)
galette/includes/routes/groups.routes.php
galette/includes/routes/management.routes.php
galette/includes/routes/members.routes.php

index 606f5f50e9a789a8f29ea3d51b25c4547d8665c6..753ba10b3abf9d09750dd8c1f1c0c3f8ddf12a2e 100644 (file)
@@ -298,7 +298,9 @@ $app->get(
 
         $pdf = new PdfGroups($this->preferences);
         $pdf->draw($groups_list, $this->login);
-        $pdf->Output(_T("groups_list") . '.pdf', 'D');
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->Output(_T("groups_list") . '.pdf', 'D'));
+        return $response;
     }
 )->setName('pdf_groups')->add($authenticate);
 
index 49d8d35c9d25762fe8caa160c3d6538ce0c0cc72..8335f865db6fe7f2f3f8d033e7f5e4d423527584 100644 (file)
@@ -1363,10 +1363,12 @@ $app->get(
                 CsvIn::DEFAULT_DIRECTORY;
             $filepath .= $filename;
             if (file_exists($filepath)) {
-                header('Content-Type: text/csv');
-                header('Content-Disposition: attachment; filename="' . $filename . '";');
-                header('Pragma: no-cache');
-                readfile($filepath);
+                $response = $this->response->withHeader('Content-Description', 'File Transfer')
+                    ->withHeader('Content-Type', 'text/csv')
+                    ->withHeader('Content-Disposition', 'attachment;filename="' . $filename . '"')
+                    ->withHeader('Pragma', 'no-cache');
+                $response->write(readfile($filepath));
+                return $response;
             } else {
                 Analog::log(
                     'A request has been made to get an ' . $args['type'] . ' file named `' .
@@ -1602,10 +1604,13 @@ $app->get(
             $fields
         );
         $filename = _T("galette_import_model.csv");
-        header('Content-Type: text/csv');
-        header('Content-Disposition: attachment; filename="' . $filename . '";');
-        header('Pragma: no-cache');
-        echo $res;
+
+        $response = $this->response->withHeader('Content-Description', 'File Transfer')
+            ->withHeader('Content-Type', 'text/csv')
+            ->withHeader('Content-Disposition', 'attachment;filename="' . $filename . '"')
+            ->withHeader('Pragma', 'no-cache');
+        $response->write($res);
+        return $response;
     }
 )->setName('getImportModel')->add($authenticate);
 
index 63543b7a09328fc67674f6d9a8af9dba94157526..14010f51ef7d163b9b307adeb354e9bd2bf7d7d0 100644 (file)
@@ -302,10 +302,12 @@ $app->get(
         }
 
         if (file_exists(CsvOut::DEFAULT_DIRECTORY . $filename)) {
-            header('Content-Type: text/csv');
-            header('Content-Disposition: attachment; filename="' . $filename . '";');
-            header('Pragma: no-cache');
-            echo readfile(CsvOut::DEFAULT_DIRECTORY . $filename);
+            $response = $this->response->withHeader('Content-Description', 'File Transfer')
+                ->withHeader('Content-Type', 'text/csv')
+                ->withHeader('Content-Disposition', 'attachment;filename="' . $filename . '"')
+                ->withHeader('Pragma', 'no-cache');
+            $response->write(readfile(CsvOut::DEFAULT_DIRECTORY . $filename));
+            return $response;
         } else {
             Analog::log(
                 'A request has been made to get an exported file named `' .
@@ -1775,7 +1777,10 @@ $app->get(
 
         $pdf = new PdfMembersCards($this->preferences);
         $pdf->drawCards($members);
-        $pdf->Output(_T("Cards") . '.pdf', 'D');
+
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->Output(_T("Cards") . '.pdf', 'D'));
+        return $response;
     }
 )->setName('pdf-members-cards')->add($authenticate);
 
@@ -1840,7 +1845,10 @@ $app->get(
 
         $pdf = new PdfMembersLabels($this->preferences);
         $pdf->drawLabels($members);
-        $pdf->Output(_T("labels_print_filename") . '.pdf', 'D');
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->Output(_T("labels_print_filename") . '.pdf', 'D'));
+        return $response;
+
     }
 )->setName('pdf-members-labels')->add($authenticate);
 
@@ -1893,7 +1901,9 @@ $app->get(
 
         $form = $this->preferences->pref_adhesion_form;
         $pdf = new $form($adh, $this->zdb, $this->preferences);
-        $pdf->download();
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->download());
+        return $response;
     }
 )->setName('adhesionForm')->add($authenticate);
 
@@ -1903,7 +1913,9 @@ $app->get(
     function ($request, $response) {
         $form = $this->preferences->pref_adhesion_form;
         $pdf = new $form(null, $this->zdb, $this->preferences);
-        $pdf->download();
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->download());
+        return $response;
     }
 )->setName('emptyAdhesionForm');
 
@@ -2468,8 +2480,9 @@ $app->post(
                     $labels_filters = new MembersList();
                     $labels_filters->selected = $labels_members;
                     $this->session->filters_reminders_labels = $labels_filters;
-                    header('location: etiquettes_adherents.php');
-                    die();
+                    return $response
+                        ->withStatus(301)
+                        ->withHeader('Location', $this->router->pathFor('pdf-member-labels'));
                 } else {
                     $error_detected[] = _T("There are no member to proceed.");
                 }
@@ -2660,7 +2673,10 @@ $app->post(
             $pdf->withImages();
         }
         $pdf->drawSheet($members, $doc_title);
-        $pdf->Output(_T("attendance_sheet") . '.pdf', 'D');
+        $response = $this->response->withHeader('Content-type', 'application/pdf');
+        $response->write($pdf->Output(_T("attendance_sheet") . '.pdf', 'D'));
+        return $response;
+
     }
 )->setName('attendance_sheet')->add($authenticate);
 
@@ -2918,10 +2934,12 @@ $app->get(
 
         if (file_exists(GALETTE_FILES_PATH . $filename)) {
             $type = File::getMimeType(GALETTE_FILES_PATH . $filename);
-            header('Content-Type: ' . $type);
-            header('Content-Disposition: attachment; filename="' . $args['name'] . '";');
-            header('Pragma: no-cache');
-            echo readfile(GALETTE_FILES_PATH . $filename);
+            $response = $this->response
+                ->withHeader('Content-Type', $type)
+                ->withHeader('Content-Disposition', 'attachment;filename="' . $args['name'] . '"')
+                ->withHeader('Pragma', 'no-cache');
+            $response->write(readfile(GALETTE_FILES_PATH . $filename));
+            return $response;
         } else {
             Analog::log(
                 'A request has been made to get an exported file named `' .