From 3aad618eea85ff0b65eabd4d6b1858f4b21f3021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Mon, 28 Oct 2024 17:40:08 +0100 Subject: [PATCH] fix: avoid invalid filename when generating ics download --- src/Controller/Teamer/Disposition/IcsController.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Controller/Teamer/Disposition/IcsController.php b/src/Controller/Teamer/Disposition/IcsController.php index 02f2766..5ca2a4c 100644 --- a/src/Controller/Teamer/Disposition/IcsController.php +++ b/src/Controller/Teamer/Disposition/IcsController.php @@ -11,6 +11,7 @@ use Symfony\Component\HttpFoundation\HeaderUtils; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Http\Attribute\IsGranted; +use Symfony\Component\String\Slugger\AsciiSlugger; class IcsController extends AbstractController { @@ -36,7 +37,13 @@ class IcsController extends AbstractController $assignment->getEffectivePeriod()->start->format('d.m.Y'), $assignment->getEffectivePeriod()->end->format('d.m.Y') ); - $contentDisposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_INLINE, $filename, md5($filename)); + $slugger = new AsciiSlugger(); + $filename = $slugger->slug($filename); + $contentDisposition = HeaderUtils::makeDisposition( + HeaderUtils::DISPOSITION_INLINE, + $filename, + md5($filename) + ); $response = new Response($ics); $response->setPrivate();