<?php
session_start();
require_once 'config.php'; 
include_once '../db_connect.php'; 

$accessToken = getZoomAccessToken();

if ($accessToken) {
    $meetingData = [
        'topic' => 'حصة مباشرة - أكاديمية روزماري',
        'type' => 2,
        'start_time' => date('Y-m-d\TH:i:s'),
        'duration' => 60,
        'timezone' => 'Asia/Baghdad',
        'settings' => [
            'host_video' => true,
            'participant_video' => true,
            'waiting_room' => true,
            'join_before_host' => false,
            'mute_upon_entry' => true
        ]
    ];

    $url = "https://api.zoom.us/v2/users/me/meetings";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($meetingData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        "Authorization: Bearer $accessToken",
        "Content-Type: application/json"
    ]);

    $response = curl_exec($ch);
    $result = json_decode($response, true);
    curl_close($ch);

    if (isset($result['id'])) {
        $meetingId = $result['id'];
        $password = $result['password'];
        $temp_token = bin2hex(random_bytes(16));
        
        $_SESSION['meeting_token'] = $temp_token;
        $_SESSION['token_expiry'] = time() + (5 * 60);
        $_SESSION['current_meeting_id'] = $meetingId;
        $_SESSION['current_meeting_pass'] = $password;

        // 🚀 سحب المعرف الطويل المضمون والديناميكي المخزن في الجلسة الحالية
        $tid = $_SESSION['teacher_long_id'] ?? '0';

        // 🌟 [الضربة القاضية]: إنشاء جدول الجلسات الحية النشطة إذا لم يكن موجوداً وتحديثه فوراً
        $conn->query("CREATE TABLE IF NOT EXISTS zoom_active_meetings (
            teacher_id VARCHAR(100) PRIMARY KEY,
            meeting_id VARCHAR(100),
            meeting_pass VARCHAR(100),
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
        )");

        if (!empty($tid) && $tid !== '0') {
            $safe_tid = $conn->real_escape_string($tid);
            $conn->query("INSERT INTO zoom_active_meetings (teacher_id, meeting_id, meeting_pass) 
                          VALUES ('$safe_tid', '$meetingId', '$password') 
                          ON DUPLICATE KEY UPDATE meeting_id='$meetingId', meeting_pass='$password'");
        }

        // بناء الرابط وتمرير المعرف للمدرس الحالي بشكل صحيح بصفة Host (role=1)
        $direct_teacher_url = "../live_room.html?meetingNumber=$meetingId&password=$password&role=1&token=$temp_token&tid=$tid";

        header("Location: " . $direct_teacher_url);
        exit(); 

    } else {
        die("خطأ في إنشاء الحصة: " . ($result['message'] ?? 'فشل الاتصال بزووم'));
    }
} else {
    die("خطأ: تعذر الحصول على صلاحية الوصول (AccessToken).");
}
?>