SAE_203_Gestion_des_sauveteurs/controllers/operation_ctrl.php
Noah 377ed6a346 Authentification fonctionnelle avec protection des pages par rôle
Page de connexion par défaut. Redirections post-login selon le rôle. Navigation header adaptée au profil connecté. Protection des routes : opérations (gestionnaire+admin), gestion comptes (admin), planning (tous). Notifications et barre de session activées.
2026-06-10 20:32:22 +02:00

50 lines
1.5 KiB
PHP

<?php
function operations_form_ctrl() {
require('controllers/auth_utilities.php');
if (!has_any_role(['gestionnaire', 'administration'])) {
header('Location: index.php?route=auth&ask=operations');
exit;
}
require('views/operations_view.php');
}
function add_operation_write_ctrl() {
require('controllers/auth_utilities.php');
if (!has_any_role(['gestionnaire', 'administration'])) {
header('Location: index.php?route=auth&ask=operations');
exit;
}
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: index.php?route=operations');
exit;
}
$date_debut = $_POST['date_debut'];
$date_fin = $_POST['date_fin'];
$lieu = $_POST['lieu'];
$date_debut = str_replace('T', ' ', $date_debut) . ':00';
$date_fin = str_replace('T', ' ', $date_fin) . ':00';
// Valeurs par défaut pour les clés étrangères (à adapter quand l'auth sera active)
$en_prepa = 0;
$id_sauveteur = 1;
$id_statut = 1;
$id_utilisateur = 1;
require('models/connection.php');
$c = connection();
require('models/operation_crud.php');
$resultat = create_operation_crud($c, $date_debut, $date_fin, $lieu, $en_prepa, $id_sauveteur, $id_statut, $id_utilisateur);
if ($resultat) {
$_SESSION['notification'] = 'Opération enregistrée avec succès.';
} else {
$_SESSION['notification'] = 'Erreur lors de l\'enregistrement.';
}
header('Location: index.php?route=operations');
exit;
}