diff --git a/TODO.md b/TODO.md index a4d3751..207b281 100644 --- a/TODO.md +++ b/TODO.md @@ -30,6 +30,8 @@ ## Bug fixes (continued) +- [x] Fix fatal `Class "SmtpRelay" not found` in `StudentEmail.php` — add `require_once SmtpRelay.php` before `StudentEmail.php` in `partage/index.php` + - [x] Add missing favicon tags to all three `` blocks in `partage/index.php` (error page, password gate, main form) ## Rename posterg → xamxam throughout codebase diff --git a/app/public/partage/index.php b/app/public/partage/index.php index e82cefc..48a9150 100644 --- a/app/public/partage/index.php +++ b/app/public/partage/index.php @@ -430,6 +430,7 @@ function handleShareLinkSubmission(string $slug): void } require_once APP_ROOT . '/src/Controllers/ThesisCreateController.php'; + require_once APP_ROOT . '/src/SmtpRelay.php'; require_once APP_ROOT . '/src/StudentEmail.php'; require_once APP_ROOT . '/src/AppLogger.php'; diff --git a/app/templates/public/tfe.php b/app/templates/public/tfe.php index ca85c53..76dabef 100644 --- a/app/templates/public/tfe.php +++ b/app/templates/public/tfe.php @@ -2,75 +2,107 @@
-
+
-

+

- - - – + + + –

- +
Orientation :
-
+
">
- +
Atelier pluridisciplinaire :
-
+
">
- +
Date :
-
+
">
- +
Langue :
'' . htmlspecialchars($l) . '', $langs); - echo implode(', ', $langLinks); + $langs = array_map( + "trim", + explode(",", $data["languages"]), + ); + $langLinks = array_map( + fn($l) => '' . + htmlspecialchars($l) . + "", + $langs, + ); + echo implode(", ", $langLinks); ?>
- +
Format :
'' . htmlspecialchars($f) . '', $fmts); - echo implode(', ', $fmtLinks); + $fmts = array_map("trim", explode(",", $data["formats"])); + $fmtLinks = array_map( + fn($f) => '' . + htmlspecialchars($f) . + "", + $fmts, + ); + echo implode(", ", $fmtLinks); ?>
- +
Durée :
-
+
- +
Mots-clés :
'' . htmlspecialchars($k) . '', $kws); - echo implode(', ', $kwLinks); + $kws = array_map("trim", explode(",", $data["keywords"])); + $kwLinks = array_map( + fn($k) => '' . + htmlspecialchars($k) . + "", + $kws, + ); + echo implode(", ", $kwLinks); ?>
@@ -79,8 +111,15 @@
Promoteur·ice interne :
'' . htmlspecialchars($n) . '', $promoteursInternes); - echo implode(', ', $links); + $links = array_map( + fn($n) => '' . + htmlspecialchars($n) . + "", + $promoteursInternes, + ); + echo implode(", ", $links); ?>
@@ -89,8 +128,15 @@
Promoteur·ice externe :
'' . htmlspecialchars($n) . '', $promoteursExternes); - echo implode(', ', $links); + $links = array_map( + fn($n) => '' . + htmlspecialchars($n) . + "", + $promoteursExternes, + ); + echo implode(", ", $links); ?>
@@ -99,8 +145,15 @@
Président·e du jury :
'' . htmlspecialchars($n) . '', $juryPresidents); - echo implode(', ', $links); + $links = array_map( + fn($n) => '' . + htmlspecialchars($n) . + "", + $juryPresidents, + ); + echo implode(", ", $links); ?>
@@ -109,60 +162,88 @@
Lecteur·ices :
'' . htmlspecialchars($n) . '', $juryLecteurs); - echo implode(', ', $links); + $links = array_map( + fn($n) => '' . + htmlspecialchars($n) . + "", + $juryLecteurs, + ); + echo implode(", ", $links); ?>
- +
Accès :
-
+
- +
Licence :
-
+
- +
Note :
-
+
- +
Contact :
- - + $_contact = $data["author_email"]; + $_isUrl = + filter_var($_contact, FILTER_VALIDATE_URL) !== + false; + $_isEmail = !$_isUrl && str_contains($_contact, "@"); + if ($_isUrl): ?> + + (ouvre dans un nouvel onglet) - + - +
- +
Lien :
@@ -177,18 +258,16 @@
- +

- +

-
+ - +