mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
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).
This commit is contained in:
53
config/apropos.php
Normal file
53
config/apropos.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?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 "&")
|
||||
*
|
||||
* 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',
|
||||
],
|
||||
],
|
||||
];
|
||||
Reference in New Issue
Block a user