From 69bddfeb0967df407d1aae6d129f5036006b7e22 Mon Sep 17 00:00:00 2001 From: Antony Le Courtes <antony.lecourtes@unicaen.fr> Date: Wed, 5 Mar 2025 16:43:10 +0100 Subject: [PATCH] =?UTF-8?q?Renforcement=20s=C3=A9curit=C3=A9=20sur=20le=20?= =?UTF-8?q?t=C3=A9l=C3=A9chargement=20des=20fichiers=20li=C3=A9s=20au=20co?= =?UTF-8?q?ntrat=20de=20l'intervenant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/Contrat/src/Controller/ContratController.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/module/Contrat/src/Controller/ContratController.php b/module/Contrat/src/Controller/ContratController.php index bce3af3073..6285e7e152 100755 --- a/module/Contrat/src/Controller/ContratController.php +++ b/module/Contrat/src/Controller/ContratController.php @@ -588,15 +588,21 @@ class ContratController extends AbstractController public function telechargerFichierAction() { $contrat = $this->getEvent()->getParam('contrat'); - /* @var $contrat Contrat */ + $fichierDemandee = $this->getEvent()->getParam('fichier'); if (!$this->isAllowed($contrat, Privileges::CONTRAT_VISUALISATION)) { throw new UnAuthorizedException('Vous n\'avez pas de droit de télécharger ce fichier'); } - $fichier = $this->getEvent()->getParam('fichier'); + $fichiersContrat = $contrat->getFichier(); + foreach ($fichiersContrat as $fichier) { + if ($fichier->getId() == $fichierDemandee->getId()) { + $this->uploader()->download($fichier); + } + } + + throw new \Exception('Le fichier n\'existe pas ou bien il appartient à un autre intervenant'); - $this->uploader()->download($fichier); } -- GitLab