Initial commit (code), runtime ignoré, secrets exclus
This commit is contained in:
103
enseignant/get_eleves_classe.php
Normal file
103
enseignant/get_eleves_classe.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
// === PROTECTION JSON - NE PAS SUPPRIMER ===
|
||||
error_reporting(0);
|
||||
ini_set('display_errors', 0);
|
||||
ob_start();
|
||||
// === FIN PROTECTION ===
|
||||
|
||||
|
||||
/**
|
||||
* API élèves - VERSION ULTRA ROBUSTE
|
||||
* Capture TOUTES les erreurs avant d'envoyer le JSON
|
||||
*/
|
||||
|
||||
// Démarrer le buffer AVANT tout
|
||||
ob_start();
|
||||
|
||||
// Désactiver l'affichage des erreurs
|
||||
ini_set('display_errors', 0);
|
||||
error_reporting(0);
|
||||
|
||||
// Fonction pour nettoyer et envoyer JSON
|
||||
function sendJSON($data) {
|
||||
// Vider et ignorer tout ce qui a été bufferisé (erreurs, warnings, etc.)
|
||||
ob_end_clean();
|
||||
|
||||
// Envoyer les headers
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
header('Cache-Control: no-cache, must-revalidate');
|
||||
|
||||
// Envoyer le JSON
|
||||
echo json_encode($data);
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
// Includes
|
||||
require_once '../config/config.php';
|
||||
require_once '../config/database.php';
|
||||
require_once '../config/session.php';
|
||||
|
||||
// Vérifier authentification
|
||||
if (!SessionManager::isLoggedIn()) {
|
||||
sendJSON([
|
||||
'success' => false,
|
||||
'message' => 'Non connecté'
|
||||
]);
|
||||
}
|
||||
|
||||
$user = SessionManager::getUser();
|
||||
if ($user['id_type'] != 1) {
|
||||
sendJSON([
|
||||
'success' => false,
|
||||
'message' => 'Accès réservé aux enseignants'
|
||||
]);
|
||||
}
|
||||
|
||||
// Connexion BDD
|
||||
$db = Database::getInstance()->getConnection();
|
||||
|
||||
// Paramètre
|
||||
if (!isset($_GET['id_classe'])) {
|
||||
sendJSON([
|
||||
'success' => false,
|
||||
'message' => 'Paramètre id_classe manquant'
|
||||
]);
|
||||
}
|
||||
|
||||
$id_classe = (int)$_GET['id_classe'];
|
||||
|
||||
// Requête
|
||||
$stmt = $db->prepare("
|
||||
SELECT
|
||||
id_utilisateur,
|
||||
login,
|
||||
nom,
|
||||
prenom,
|
||||
actif,
|
||||
date_inscription
|
||||
FROM utilisateurs
|
||||
WHERE id_classe = ? AND id_type IN (2, 3)
|
||||
ORDER BY nom, prenom
|
||||
");
|
||||
$stmt->execute([$id_classe]);
|
||||
$eleves = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
// Succès
|
||||
sendJSON([
|
||||
'success' => true,
|
||||
'eleves' => $eleves,
|
||||
'total' => count($eleves),
|
||||
'mot_de_passe_defaut' => 'eleve2025',
|
||||
'info' => 'Mot de passe par défaut lors de l\'import'
|
||||
]);
|
||||
|
||||
} catch (Exception $e) {
|
||||
sendJSON([
|
||||
'success' => false,
|
||||
'message' => 'Erreur: ' . $e->getMessage(),
|
||||
'file' => $e->getFile(),
|
||||
'line' => $e->getLine()
|
||||
]);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user