<?php
include 'config.php';
session_start();

if (!isset($_SESSION['user']) || $_SESSION['user']['role'] !== 'student') {
    echo "<div class='container'><p class='error'>Access denied. Only students can join sessions.</p><a href='login.php'>Go back</a></div>";
    exit;
}
$user = $_SESSION['user'];

$success_message = "";
$error_message = "";

// Vérifier si une requête POST est envoyée
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $session_id = $conn->real_escape_string($_POST['session_id']);
    $student_id = $_SESSION['user']['id'];

    // Vérifier si l'étudiant est déjà inscrit à la session
    $check_sql = "SELECT * FROM SessionStudent WHERE session_id = '$session_id' AND student_id = '$student_id'";
    $check_result = $conn->query($check_sql);

    if ($check_result->num_rows > 0) {
        $error_message = "You are already enrolled in this session.";
    } else {
        // Inscription à la session
        $sql = "INSERT INTO SessionStudent (session_id, student_id) VALUES ('$session_id', '$student_id')";
        if ($conn->query($sql) === TRUE) {
            $success_message = "Successfully joined the session!";
        } else {
            $error_message = "Error: " . $conn->error;
        }
    }
}

// Récupérer les sessions disponibles
$sql = "SELECT s.id, s.subject, s.start_time, s.end_time, u.first_name, u.last_name 
        FROM Session s
        JOIN User u ON s.tutor_id = u.id
        WHERE s.status = 'scheduled'";
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Join Session</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
	<?php include 'sidebar.php'; ?>

    <div class="main-content">
    <div class="join-session">
        <h1>Rejoindre une session</h1>
        <!-- Affichage des messages de succès ou d'erreur -->
        <?php if ($success_message): ?>
            <p class="success"><?= htmlspecialchars($success_message) ?></p>
            <a href="welcome.php">Go back</a>
        <?php elseif ($error_message): ?>
            <p class="error"><?= htmlspecialchars($error_message) ?></p>
            <a href="welcome.php">Go back</a>
        <?php endif; ?>

        <!-- Formulaire pour rejoindre une session -->
        <?php if ($result && $result->num_rows > 0): ?>
            <form method="POST">
                <label for="session_id">Sessions disponibles:</label>
                <select name="session_id" id="session_id" required>
                    <?php while ($row = $result->fetch_assoc()): ?>
                        <option value="<?= htmlspecialchars($row['id']) ?>">
                            <?= htmlspecialchars($row['subject']) ?> 
                            (<?= date('d/m/Y H:i', strtotime($row['start_time'])) ?> - <?= date('H:i', strtotime($row['end_time'])) ?>) 
                            by <?= htmlspecialchars($row['first_name']) . ' ' . htmlspecialchars($row['last_name']) ?>
                        </option>
                    <?php endwhile; ?>
                </select>
                <button type="submit">Join Session</button>
            </form>
        <?php else: ?>
            <!-- Message si aucune session n'est disponible -->
            <p class="error">Aucune session disponible pour le moment. Veuillez revenir plus tard.</p>
        <?php endif; ?>
    </div>
    </div>
</body>
</html>