$text, 'email' => trim($entry['email'] ?? ''), ]; $url = trim($entry['url'] ?? ''); if ($url !== '') $e['url'] = $url; $entries[] = $e; } if (empty($entries)) continue; $cleaned[] = ['role' => $role, 'entries' => $entries]; } if (empty($cleaned)) { die("Au moins un groupe avec des entrées est requis."); } $db->saveAproposContent($aproposKey, $cleaned); AdminLogger::make()->logAproposEdit($aproposKey); App::flash('success', "Contenu « $aproposKey » mis à jour avec succès."); } catch (Exception $e) { ErrorHandler::log('apropos', $e); die('Erreur lors de la sauvegarde : ' . htmlspecialchars(ErrorHandler::userMessage($e))); } header('Location: /admin/contenus.php'); exit;