fix: ensure url-sage filenames for downloads
This commit is contained in:
@@ -10,6 +10,7 @@ use Symfony\Component\HttpFoundation\HeaderUtils;
|
|||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Attribute\Route;
|
use Symfony\Component\Routing\Attribute\Route;
|
||||||
use Symfony\Component\Security\Http\Attribute\IsGranted;
|
use Symfony\Component\Security\Http\Attribute\IsGranted;
|
||||||
|
use Symfony\Component\String\Slugger\AsciiSlugger;
|
||||||
|
|
||||||
class ContractPdfController extends AbstractController
|
class ContractPdfController extends AbstractController
|
||||||
{
|
{
|
||||||
@@ -26,12 +27,18 @@ class ContractPdfController extends AbstractController
|
|||||||
{
|
{
|
||||||
$pdf = $this->renderer->render($disposition);
|
$pdf = $this->renderer->render($disposition);
|
||||||
|
|
||||||
$teamer = $disposition->getTeamer();
|
$slugger = new AsciiSlugger('de');
|
||||||
|
|
||||||
|
$teamer = $slugger->slug($disposition->getTeamer());
|
||||||
$assignment = $disposition->getAssignment();
|
$assignment = $disposition->getAssignment();
|
||||||
$destination = $assignment->getDestination();
|
$destination = $slugger->slug($assignment->getDestination());
|
||||||
|
|
||||||
$filename = sprintf('Honorarvertrag_%s_%s.pdf', $teamer, $destination);
|
$filename = sprintf('Honorarvertrag_%s_%s.pdf', $teamer, $destination);
|
||||||
$disposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_ATTACHMENT, $filename, md5($filename));
|
$disposition = HeaderUtils::makeDisposition(
|
||||||
|
HeaderUtils::DISPOSITION_ATTACHMENT,
|
||||||
|
$filename,
|
||||||
|
md5($filename)
|
||||||
|
);
|
||||||
|
|
||||||
$response = new Response($pdf->Output('S'));
|
$response = new Response($pdf->Output('S'));
|
||||||
$response->setPrivate();
|
$response->setPrivate();
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ use Symfony\Component\HttpFoundation\HeaderUtils;
|
|||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Attribute\Route;
|
use Symfony\Component\Routing\Attribute\Route;
|
||||||
use Symfony\Component\Security\Http\Attribute\IsGranted;
|
use Symfony\Component\Security\Http\Attribute\IsGranted;
|
||||||
|
use Symfony\Component\String\Slugger\AsciiSlugger;
|
||||||
|
|
||||||
class InvoicePdfController extends AbstractController
|
class InvoicePdfController extends AbstractController
|
||||||
{
|
{
|
||||||
@@ -26,12 +27,18 @@ class InvoicePdfController extends AbstractController
|
|||||||
{
|
{
|
||||||
$pdf = $this->renderer->render($disposition);
|
$pdf = $this->renderer->render($disposition);
|
||||||
|
|
||||||
|
$slugger = new AsciiSlugger('de');
|
||||||
|
|
||||||
|
$teamer = $slugger->slug($disposition->getTeamer());
|
||||||
$assignment = $disposition->getAssignment();
|
$assignment = $disposition->getAssignment();
|
||||||
$destination = $assignment->getDestination();
|
$destination = $slugger->slug($assignment->getDestination());
|
||||||
$teamer = $disposition->getTeamer();
|
|
||||||
|
|
||||||
$filename = sprintf('Honorarnote_%s_%s.pdf', $teamer, $disposition->getAssignment()->getDestination());
|
$filename = sprintf('Honorarnote_%s_%s.pdf', $teamer, $disposition->getAssignment()->getDestination());
|
||||||
$contentDisposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_ATTACHMENT, $filename, md5($filename));
|
$contentDisposition = HeaderUtils::makeDisposition(
|
||||||
|
HeaderUtils::DISPOSITION_ATTACHMENT,
|
||||||
|
$filename,
|
||||||
|
md5($filename)
|
||||||
|
);
|
||||||
|
|
||||||
$response = new Response($pdf->Output('S'));
|
$response = new Response($pdf->Output('S'));
|
||||||
$response->setPrivate();
|
$response->setPrivate();
|
||||||
|
|||||||
Reference in New Issue
Block a user