feat: FilePond production hardening — extension-based validation, server-side size limits (2GB), annexe validation, drop accept attributes, FilePond file styling

This commit is contained in:
Pontoporeia
2026-05-10 20:41:37 +02:00
parent 7b5f3efe40
commit 8db7b6e9eb
23 changed files with 4770 additions and 216 deletions

View File

@@ -521,15 +521,8 @@ class ThesisCreateController
$exemplaireErg = !empty($post['exemplaire_erg']);
$cc2r = !empty($post['cc2r']);
// Annexes validation: if has_annexes is checked, queue_file[annexe] must have at least one file
// Annexes are optional — no validation required
$hasAnnexes = !empty($post['has_annexes']);
if (!$adminMode && $hasAnnexes) {
$queueAnnexes = $this->extractFilesSubArray($files['queue_file'] ?? [], 'annexe');
$hasAnnexeFiles = is_array($queueAnnexes['name'] ?? null) && count(array_filter($queueAnnexes['name'])) > 0;
if (!$hasAnnexeFiles) {
throw new Exception('Veuillez fournir au moins un fichier d\'annexe.');
}
}
return compact(
'authorNames',