Améliore les réglages et la documentation

Refs #7 #8 #11 #14 #15 #19
This commit is contained in:
Alexandre NOEL 2026-09-08 00:07:40 +02:00
commit 6bda723f22
14 changed files with 52 additions and 10 deletions

View file

@ -825,7 +825,20 @@ final class SettingsController
exit();
}
$values['public_site_custom_css'] = $customCss;
foreach (['public_site_donation_url', 'public_site_facebook_url', 'public_site_instagram_url', 'public_site_youtube_url', 'public_site_tiktok_url'] as $key) {
foreach (
[
'public_site_donation_url',
'public_site_facebook_url',
'public_site_instagram_url',
'public_site_youtube_url',
'public_site_tiktok_url',
'public_site_whatsapp_url',
'public_site_linkedin_url',
'public_site_x_url',
'public_site_snapchat_url',
]
as $key
) {
$url = trim((string) ($_POST[$key] ?? ''));
$scheme = strtolower((string) parse_url($url, PHP_URL_SCHEME));
if ($url !== '' && (!filter_var($url, FILTER_VALIDATE_URL) || $scheme !== 'https')) {

View file

@ -39,6 +39,10 @@ final class AppSettings
'public_site_instagram_url' => '',
'public_site_youtube_url' => '',
'public_site_tiktok_url' => '',
'public_site_whatsapp_url' => '',
'public_site_linkedin_url' => '',
'public_site_x_url' => '',
'public_site_snapchat_url' => '',
'notification_email_enabled' => '0',
'notification_email_frequency' => 'weekly',
'notification_email_recipient' => '',

View file

@ -31,10 +31,10 @@
<div class="col-lg-6">
<section class="card h-100">
<div class="card-body">
<span class="badge bg-blue-lt mb-2">1.0.0-rc.8</span>
<h3>Deuxième lot de tickets</h3>
<p class="text-muted">Diagnostic système clarifié, identifiants administratifs contrôlés et
longueurs des principaux noms encadrées.</p>
<span class="badge bg-blue-lt mb-2">1.0.0-rc.9</span>
<h3>Troisième lot de tickets</h3>
<p class="text-muted">Site public enrichi, salles et tarifs clarifiés, et lancement local de la
recherche mieux documenté.</p>
</div>
</section>
</div>

View file

@ -14,7 +14,7 @@ $obfuscate = static fn (string$value): string => implode('', array_reverse(mb_st
class="contact-obfuscated"><?= h($obfuscate($settings['association_email'])) ?></span></div>
<?php endif; ?></div>
<div class="chips" style="margin-top:25px">
<?php foreach (['facebook' => 'Facebook','instagram' => 'Instagram','youtube' => 'YouTube','tiktok' => 'TikTok'] as $network => $label):
<?php foreach (['facebook' => 'Facebook','instagram' => 'Instagram','youtube' => 'YouTube','tiktok' => 'TikTok','whatsapp' => 'WhatsApp','linkedin' => 'LinkedIn','x' => 'X','snapchat' => 'Snapchat'] as $network => $label):
$url = trim((string)($settings['public_site_' . $network . '_url'] ?? ''));
if ($url === '') continue; ?>
<a class="button secondary" href="<?= h($url) ?>" rel="noopener noreferrer"><?= h($label) ?></a>

View file

@ -10,7 +10,10 @@
<form class="card h-100" method="post" action="/settings/pricing/adoption">
<div class="card-status-top bg-green"></div>
<div class="card-header">
<h3 class="card-title"><?= h(t('pricing.adoption_fees')) ?></h3>
<div>
<h3 class="card-title"><?= h(t('pricing.adoption_fees')) ?></h3>
<div class="text-muted small"><?= h(t('pricing.adoption_fees_help')) ?></div>
</div>
</div>
<div class="card-body row g-3">
<div class="col-6"><label class="form-label"><?= h(t('pricing.sterilized')) ?></label>

View file

@ -137,7 +137,7 @@
name="public_site_facebook_url" value="<?= h($settings['public_site_facebook_url']) ?>"></div>
<div class="col-md-6"><label class="form-label">Instagram</label><input class="form-control" type="url"
name="public_site_instagram_url" value="<?= h($settings['public_site_instagram_url']) ?>"></div>
<?php foreach (['youtube' => 'YouTube','tiktok' => 'TikTok'] as $network => $label): ?>
<?php foreach (['youtube' => 'YouTube','tiktok' => 'TikTok','whatsapp' => 'WhatsApp','linkedin' => 'LinkedIn','x' => 'X','snapchat' => 'Snapchat'] as $network => $label): ?>
<div class="col-md-6"><label class="form-label"><?= h($label) ?></label><input class="form-control"
type="url" name="public_site_<?= h($network) ?>_url"
value="<?= h($settings['public_site_' . $network . '_url']) ?>" placeholder="https://..."></div>

View file

@ -2,7 +2,7 @@
<?php if ($saved): ?><div class="alert alert-success"><?= h(t('rooms.saved')) ?></div><?php endif; ?>
<?php if ($error): ?><div class="alert alert-danger"><?= h($error) ?></div><?php endif; ?>
<form method="post" action="/settings/rooms/save"><input type="hidden" name="csrf" value="<?= h(Auth::csrf()) ?>">
<div class="alert alert-info"><?= h(t('rooms.help')) ?></div>
<div class="alert alert-info"><?= h(t('rooms.inactive_help')) ?></div>
<div class="row row-cards">
<?php foreach ($rooms as $room):$boxNames = implode("\n", array_column(array_filter($room['boxes'], static fn ($box) => (int)$box['active'] === 1), 'name')); ?>
<div class="col-lg-6">