diff --git a/TODO.md b/TODO.md index fd05acb..2edd22b 100644 --- a/TODO.md +++ b/TODO.md @@ -41,6 +41,7 @@ Pending tasks have been split into topic files under [`todo/`](todo/README.md): - [x] WCAG 3.3.1 `autofocus` on first invalid field — `App::flashAutofocus()` / `consumeAutofocus()` added; `actions/formulaire.php` maps exception messages → field names and stores the autofocus hint in `$_SESSION['_flash_autofocus']`; `actions/edit.php` does the same; `add.php` consumes it via a `withAutofocus()` helper and injects `autofocus => true` into `$attrs` for `text-field.php` / `select-field.php` includes; `edit.php` uses inline ternary for the same; `text-field.php` and `select-field.php` partials now support boolean `true` values in `$attrs` (emit bare attribute names for `autofocus`, `required`, etc.) +- [x] `config/apropos.php` — fixed PHP parse error: straight apostrophe in `'Responsable des mémoires de l'ERG :'` broke string literal; replaced with curly apostrophe (U+2019); also removed stray blank line introduced by earlier edit - [x] `config/apropos.php` — extracted hardcoded contacts (Laurent Leprince, Xavier Gorgol, Brigitte Ledune) and credits into a config array (`contacts[]`, `credits[]`, `erg_url`); `public/apropos.php` now loops over the config with `htmlspecialchars` instead of embedding names/emails in HTML - [x] `todo/02-php-components.md` — audited and marked 8 stale items as already done: all 5 form field partials (`text-field`, `select-field`, `checkbox-list`, `file-field`, `jury-fieldset`), `admin-alert.php`/`flash-messages.php` consolidation, `RateLimit` cache dir placement, and `apropos.php` contacts extraction diff --git a/config/apropos.php b/config/apropos.php index fa08e03..234b942 100644 --- a/config/apropos.php +++ b/config/apropos.php @@ -25,12 +25,12 @@ return [ 'contacts' => [ [ 'name' => 'Laurent Leprince', - 'role' => 'Bibliothèque d'architecture, d'ingénierie architecturale, d'urbanisme (BAIU) :', + 'role' => 'Bibliothèque d’architecture, d’ingénierie architecturale, d’urbanisme (BAIU) :', 'email' => 'laurent.leprince@uclouvain.be', ], [ 'name' => 'Xavier Gorgol', - 'role' => 'Responsable des mémoires de l'ERG :', + 'role' => 'Responsable des mémoires de l’ERG :', 'email' => 'xavier.gorgol@erg.be', ], [