Files
xamxam/config/apropos.php
Pontoporeia 4c3f71b6e4 Extract apropos contacts/credits to config/apropos.php
Names, roles, emails, and credits on the À propos page were hardcoded
directly in apropos.php HTML. To update a contact meant editing a
template file — risky for non-developers and easy to introduce a typo
or broken mailto link.

Changes:
- config/apropos.php: new config array with erg_url, contacts[] (name,
  role, email per person) and credits[] (label/value pairs); follows
  the same pattern as config/admin_credentials.php
- public/apropos.php: loads config via require; aside section now loops
  over $apropos['contacts'] and $apropos['credits'] with htmlspecialchars
  throughout; hardcoded HTML strings removed entirely

Also audited todo/02-php-components.md and marked 8 stale items as done:
all 5 form field partials were already implemented and in use, the
flash-message consolidation was already handled by App::consumeFlash(),
and the RateLimit cache dir was already at storage/cache/rate_limit
(excluded from deploy rsync).
2026-04-06 15:33:08 +02:00

54 lines
1.7 KiB
PHP

<?php
/**
* À propos page — contacts and credits configuration.
*
* Edit this file to update the people listed in the Contacts and Crédits
* sections of the public "À propos" page without touching the template.
*
* contacts[] — each entry:
* 'name' string Full display name
* 'role' string Short description of role (plain text, no HTML)
* 'email' string Email address (used for mailto: link)
*
* credits[] — each entry:
* 'label' string Credit category / title (e.g. "Design & développement")
* 'value' string Free-text value; HTML entities will be escaped, so use
* plain text (ampersands written as "&", not "&amp;")
*
* erg_url — URL for the "Site de l'erg" link in the aside.
*/
return [
'erg_url' => 'https://erg.be',
'contacts' => [
[
'name' => 'Laurent Leprince',
'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 :',
'email' => 'xavier.gorgol@erg.be',
],
[
'name' => 'Brigitte Ledune',
'role' => 'Cours de suivi de mémoire :',
'email' => 'brigitte.ledune@erg.be',
],
],
'credits' => [
[
'label' => 'Design & développement',
'value' => 'Olivia Marly, Théophile Gerveau-Mercie & Théo Hennequin',
],
[
'label' => 'Typographies',
'value' => 'Ductus (Amélie Dumont) & BBB DM Sans',
],
],
];