prepare("UPDATE users SET email = ?, firstName = ?, lastName = ?, password = ?, is_admin = ? WHERE id = ?"); $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $query->execute([$email, $firstName, $lastName, $hashedPassword, $is_admin, $userId]); } else { $query = $conn->prepare("UPDATE users SET email = ?, firstName = ?, lastName = ?, is_admin = ? WHERE id = ?"); $query->execute([$email, $firstName, $lastName, $is_admin, $userId]); } return true; } catch(PDOException $e) { return false; } } function deleteUser($userId) { global $conn; try { $query = $conn->prepare("DELETE FROM users WHERE id = ?"); $query->execute([$userId]); return true; } catch(PDOException $e) { return false; } } function refreshData() { global $conn; try { $conn->exec("TRUNCATE TABLE stops"); $json = @file_get_contents(__DIR__ .'/../../data/stops.json'); $data = json_decode($json, true); $filteredData = array_filter($data, function($item) { return isset($item['fields']['mode']) && $item['fields']['mode'] === 'METRO'; }); $query = $conn->prepare("INSERT INTO stops (stopId, name, lineId) VALUES (?, ?, ?)"); $conn->beginTransaction(); foreach ($filteredData as $item) { $fields = $item['fields']; if (isset($fields['id_ref_zda'], $fields['nom_zda'], $fields['indice_lig'])) { try { $query->execute([$fields['id_ref_zda'], $fields['nom_zda'], $fields['indice_lig']]); } catch (PDOException $e) { } } } $conn->commit(); return true; } catch (Exception $e) { return false; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['refreshData'])) { $success = refreshData(); if ($success) { $_SESSION['message'] = '