Initial commit (code), runtime ignoré, secrets exclus
This commit is contained in:
65
api/reset_password_eleve.php
Normal file
65
api/reset_password_eleve.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
error_reporting(0);
|
||||
ini_set('display_errors', 0);
|
||||
ob_start();
|
||||
|
||||
header('Content-Type: application/json');
|
||||
require_once '../config/config.php';
|
||||
require_once '../config/database.php';
|
||||
require_once '../config/session.php';
|
||||
|
||||
if (session_status() === PHP_SESSION_NONE) {
|
||||
SessionManager::startSession();
|
||||
}
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
echo json_encode(['success' => false, 'message' => 'Méthode non autorisée']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// CORRECTION : Utiliser les vraies clés de session
|
||||
if (!isset($_SESSION['user_id']) || $_SESSION['type_libelle'] !== 'enseignant') {
|
||||
echo json_encode(['success' => false, 'message' => 'Non autorisé']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$id_eleve = $_POST['id_eleve'] ?? null;
|
||||
|
||||
if (!$id_eleve) {
|
||||
echo json_encode(['success' => false, 'message' => 'ID élève manquant']);
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
$db = Database::getInstance()->getConnection();
|
||||
|
||||
$stmt = $db->prepare("SELECT login FROM utilisateurs WHERE id_utilisateur = ? AND id_type IN (2, 3)");
|
||||
$stmt->execute([$id_eleve]);
|
||||
$eleve = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
if (!$eleve) {
|
||||
echo json_encode(['success' => false, 'message' => 'Élève non trouvé']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$nouveau_mdp = (strpos($eleve['login'], 'test.') === 0) ? 'test2025' : 'eleve2025';
|
||||
$mdp_hash = password_hash($nouveau_mdp, PASSWORD_DEFAULT);
|
||||
|
||||
$stmt = $db->prepare("UPDATE utilisateurs SET mot_de_passe = ? WHERE id_utilisateur = ?");
|
||||
$stmt->execute([$mdp_hash, $id_eleve]);
|
||||
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'message' => "Mot de passe réinitialisé avec succès à $nouveau_mdp",
|
||||
'data' => [
|
||||
'login' => $eleve['login'],
|
||||
'nouveau_mdp' => $nouveau_mdp
|
||||
]
|
||||
]);
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(['success' => false, 'message' => 'Erreur serveur: ' . $e->getMessage()]);
|
||||
}
|
||||
|
||||
ob_end_flush();
|
||||
?>
|
||||
Reference in New Issue
Block a user