<?php
session_start();
require_once '../config/database.php';
require_once '../includes/access_control.php';

// Check if user is logged in and is a teacher
require_teacher();

$user_role = $_SESSION['user_role'];
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'] ?? $_SESSION['username'] ?? 'শিক্ষক';

// Get teacher ID
$teacher_id = null;
if ($user_role == 'teacher') {
    $stmt = $pdo->prepare("SELECT id FROM teachers WHERE user_id = ?");
    $stmt->execute([$user_id]);
    $teacher = $stmt->fetch();
    if ($teacher) {
        $teacher_id = $teacher['id'];
    }
}

// Redirect if not a teacher
if (!$teacher_id) {
    header('Location: ../index.php');
    exit();
}

$success_message = '';
$error_message = '';

// Get classes assigned to this teacher
$assigned_classes = [];
$stmt = $pdo->prepare("
    SELECT DISTINCT c.id, c.name, c.section
    FROM classes c 
    JOIN class_teachers ct ON c.id = ct.class_id
    WHERE ct.teacher_id = ? AND ct.status = 'active' AND c.status = 'active'
    ORDER BY c.name, c.section
");
$stmt->execute([$teacher_id]);
$assigned_classes = $stmt->fetchAll();

// Also get classes where this teacher teaches subjects
$stmt = $pdo->prepare("
    SELECT DISTINCT c.id, c.name, c.section
    FROM classes c
    JOIN class_subjects cs ON c.id = cs.class_id
    WHERE cs.teacher_id = ? AND c.status = 'active'
    ORDER BY c.name, c.section
");
$stmt->execute([$teacher_id]);
$subject_classes = $stmt->fetchAll();

// Merge both arrays, avoiding duplicates
foreach ($subject_classes as $class) {
    $found = false;
    foreach ($assigned_classes as $assigned) {
        if ($assigned['id'] == $class['id']) {
            $found = true;
            break;
        }
    }
    if (!$found) {
        $assigned_classes[] = $class;
    }
}

// Get all subjects
$stmt = $pdo->query("SELECT id, name, code FROM subjects WHERE status = 'active' ORDER BY name");
$subjects = $stmt->fetchAll();

// Handle form submission for creating question paper
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['create_question_paper'])) {
    $class_id = (int)$_POST['class_id'];
    $subject_id = (int)$_POST['subject_id'];
    $exam_name = trim($_POST['exam_name']);
    $exam_date = $_POST['exam_date'];
    $total_marks = (int)$_POST['total_marks'];
    $duration = (int)$_POST['duration'];
    $instructions = trim($_POST['instructions']);
    
    // Validate input
    if (empty($class_id) || empty($subject_id) || empty($exam_name) || empty($exam_date)) {
        $error_message = 'সকল প্রয়োজনীয় তথ্য পূরণ করুন';
    } else {
        try {
            $pdo->beginTransaction();
            
            // Insert exam record
            $stmt = $pdo->prepare("
                INSERT INTO exams (name, class_id, exam_date, total_marks, description) 
                VALUES (?, ?, ?, ?, ?)
            ");
            $stmt->execute([$exam_name, $class_id, $exam_date, $total_marks, $instructions]);
            $exam_id = $pdo->lastInsertId();
            
            // Insert exam subject
            $stmt = $pdo->prepare("
                INSERT INTO exam_subjects (exam_id, subject_id, max_marks) 
                VALUES (?, ?, ?)
            ");
            $stmt->execute([$exam_id, $subject_id, $total_marks]);
            
            $pdo->commit();
            $success_message = 'প্রশ্নপত্র সফলভাবে তৈরি করা হয়েছে';
            
            // Redirect to manage questions page
            header("Location: manage_questions.php?exam_id=$exam_id");
            exit();
            
        } catch (Exception $e) {
            $pdo->rollBack();
            $error_message = 'প্রশ্নপত্র তৈরিতে সমস্যা হয়েছে: ' . $e->getMessage();
        }
    }
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>প্রশ্নপত্র তৈরি - শিক্ষক প্যানেল</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <link href="../assets/css/jessoreboard-theme.css" rel="stylesheet">
    <style>
        .question-paper-header {
            background: linear-gradient(135deg, #006747 0%, #004d35 100%);
            color: white;
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 20px;
            text-align: center;
            position: relative;
            overflow: hidden;
            border-bottom: 4px solid #F42A41;
        }
        
        .form-card {
            background: white;
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 4px 15px rgba(0,103,71,0.1);
            margin-bottom: 20px;
            border-top: 3px solid #006747;
        }
        
        .form-card:hover {
            box-shadow: 0 7px 20px rgba(0,103,71,0.15);
            border-top-color: #F42A41;
        }
        
        .jessore-board-logo {
            font-weight: bold;
            font-size: 1.2rem;
            color: #F42A41;
        }
        
        .board-name {
            font-size: 1.5rem;
            font-weight: bold;
            margin-bottom: 5px;
        }
        
        .exam-title {
            font-size: 1.3rem;
            font-weight: bold;
            margin: 10px 0;
        }
        
        .form-label {
            font-weight: 600;
            color: #006747;
        }
        
        .btn-primary {
            background: linear-gradient(135deg, #006747 0%, #004d35 100%);
            border: none;
        }
        
        .btn-primary:hover {
            background: linear-gradient(135deg, #004d35 0%, #006747 100%);
            border-color: #F42A41;
        }
    </style>
</head>
<body>
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
        <div class="container-fluid">
            <a class="navbar-brand" href="dashboard.php">
                <i class="fas fa-graduation-cap"></i> স্কুল ম্যানেজমেন্ট সিস্টেম
            </a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav ms-auto">
                    <li class="nav-item">
                        <a class="nav-link" href="dashboard.php">
                            <i class="fas fa-home"></i> হোম
                        </a>
                    </li>
                    
                    <!-- Teacher Menu Dropdown -->
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" href="#" id="teacherMenuDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <i class="fas fa-chalkboard-teacher"></i> শিক্ষক মেনু
                        </a>
                        <ul class="dropdown-menu" aria-labelledby="teacherMenuDropdown">
                            <li><a class="dropdown-item" href="dashboard.php"><i class="fas fa-tachometer-alt"></i> শিক্ষক ড্যাসবোর্ড</a></li>
                            <li><hr class="dropdown-divider"></li>
                            <li><a class="dropdown-item" href="my_students.php"><i class="fas fa-user-graduate"></i> আমার ছাত্র-ছাত্রী</a></li>
                            <li><a class="dropdown-item" href="add_student.php"><i class="fas fa-user-plus"></i> নতুন ছাত্র ভর্তি</a></li>
                            <li><hr class="dropdown-divider"></li>
                            <li><a class="dropdown-item" href="marks_entry.php"><i class="fas fa-edit"></i> মার্কস এন্ট্রি</a></li>
                            <li><a class="dropdown-item" href="my_reports.php"><i class="fas fa-chart-bar"></i> রিপোর্ট দেখুন</a></li>
                            <li><a class="dropdown-item" href="my_reports.php?report_type=tabulation"><i class="fas fa-table"></i> টেবুলেশন শীট</a></li>
                            <li><hr class="dropdown-divider"></li>
                            <li><a class="dropdown-item" href="create_question_paper.php"><i class="fas fa-file-alt"></i> প্রশ্নপত্র তৈরি</a></li>
                            <li><a class="dropdown-item" href="attendance.php"><i class="fas fa-calendar-check"></i> উপস্থিতি নিন</a></li>
                            <li><a class="dropdown-item" href="routine.php"><i class="fas fa-calendar-alt"></i> ক্লাস রুটিন</a></li>
                            <li><hr class="dropdown-divider"></li>
                            <li><a class="dropdown-item" href="../subjects/subject_selection.php"><i class="fas fa-book"></i> বিষয় নির্বাচন</a></li>
                            <li><a class="dropdown-item" href="bulk_upload_students.php"><i class="fas fa-upload"></i> বাল্ক আপলোড</a></li>
                        </ul>
                    </li>
                    
                    <li class="nav-item">
                        <a class="nav-link" href="../logout.php" onclick="return confirm('আপনি কি লগআউট করতে চান?')">
                            <i class="fas fa-sign-out-alt"></i> লগআউট
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container-fluid mt-4">
        <!-- Content Header -->
        <div class="content-header mb-4">
            <h1 class="content-title">
                <i class="fas fa-file-alt me-2"></i>
                প্রশ্নপত্র তৈরি
            </h1>
            <p class="content-breadcrumb">
                <i class="fas fa-home me-1"></i>
                হোম / শিক্ষক প্যানেল / প্রশ্নপত্র তৈরি
            </p>
        </div>
        
        <?php if ($success_message): ?>
            <div class="alert alert-success alert-dismissible fade show" role="alert">
                <i class="fas fa-check-circle me-2"></i><?php echo $success_message; ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>
        
        <?php if ($error_message): ?>
            <div class="alert alert-danger alert-dismissible fade show" role="alert">
                <i class="fas fa-exclamation-circle me-2"></i><?php echo $error_message; ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>
        
        <!-- Question Paper Header (Jessore Board Style) -->
        <div class="question-paper-header">
            <div class="jessore-board-logo">জেসর বোর্ড</div>
            <div class="board-name">মাধ্যমিক ও উচ্চ মাধ্যমিক শিক্ষা বোর্ড, জেসর</div>
            <div class="exam-title">পরীক্ষার প্রশ্নপত্র</div>
        </div>
        
        <div class="row">
            <div class="col-md-8">
                <div class="form-card">
                    <h4 class="mb-4"><i class="fas fa-plus-circle me-2"></i>নতুন প্রশ্নপত্র তৈরি করুন</h4>
                    
                    <form method="POST" action="">
                        <input type="hidden" name="create_question_paper" value="1">
                        
                        <div class="mb-3">
                            <label for="exam_name" class="form-label">পরীক্ষার নাম <span class="text-danger">*</span></label>
                            <input type="text" class="form-control" id="exam_name" name="exam_name" 
                                   placeholder="যেমন: প্রথম সাময়িক পরীক্ষা" required>
                        </div>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label for="class_id" class="form-label">ক্লাস <span class="text-danger">*</span></label>
                                    <select class="form-select" id="class_id" name="class_id" required>
                                        <option value="">ক্লাস নির্বাচন করুন</option>
                                        <?php foreach ($assigned_classes as $class): ?>
                                            <option value="<?php echo $class['id']; ?>">
                                                <?php echo htmlspecialchars($class['name'] . ' - ' . $class['section']); ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                            </div>
                            
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label for="subject_id" class="form-label">বিষয় <span class="text-danger">*</span></label>
                                    <select class="form-select" id="subject_id" name="subject_id" required>
                                        <option value="">বিষয় নির্বাচন করুন</option>
                                        <?php foreach ($subjects as $subject): ?>
                                            <option value="<?php echo $subject['id']; ?>">
                                                <?php echo htmlspecialchars($subject['name']); ?> (<?php echo htmlspecialchars($subject['code']); ?>)
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                            </div>
                        </div>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label for="exam_date" class="form-label">পরীক্ষার তারিখ <span class="text-danger">*</span></label>
                                    <input type="date" class="form-control" id="exam_date" name="exam_date" required>
                                </div>
                            </div>
                            
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label for="total_marks" class="form-label">মোট নম্বর</label>
                                    <input type="number" class="form-control" id="total_marks" name="total_marks" 
                                           value="100" min="1" max="1000">
                                </div>
                            </div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="duration" class="form-label">সময়কাল (মিনিট)</label>
                            <input type="number" class="form-control" id="duration" name="duration" 
                                   value="180" min="1" max="480">
                        </div>
                        
                        <div class="mb-3">
                            <label for="instructions" class="form-label">পরীক্ষার নির্দেশাবলী</label>
                            <textarea class="form-control" id="instructions" name="instructions" rows="4" 
                                      placeholder="পরীক্ষার জন্য নির্দেশাবলী লিখুন..."></textarea>
                        </div>
                        
                        <div class="d-grid gap-2">
                            <button type="submit" class="btn btn-primary btn-lg">
                                <i class="fas fa-file-alt me-2"></i>প্রশ্নপত্র তৈরি করুন
                            </button>
                            <button type="button" class="btn btn-success btn-lg" data-bs-toggle="modal" data-bs-target="#oneClickModal">
                                <i class="fas fa-bolt me-2"></i>1 ক্লিকে প্রশ্নপত্র
                            </button>
                        </div>
                    </form>
                </div>
            </div>
            
            <div class="col-md-4">
                <div class="form-card">
                    <h4 class="mb-4"><i class="fas fa-info-circle me-2"></i>নির্দেশাবলী</h4>
                    <ul class="list-group list-group-flush">
                        <li class="list-group-item">
                            <i class="fas fa-check-circle text-success me-2"></i>
                            সকল প্রয়োজনীয় তথ্য পূরণ করুন
                        </li>
                        <li class="list-group-item">
                            <i class="fas fa-check-circle text-success me-2"></i>
                            ক্লাস ও বিষয় সঠিকভাবে নির্বাচন করুন
                        </li>
                        <li class="list-group-item">
                            <i class="fas fa-check-circle text-success me-2"></i>
                            পরীক্ষার তারিখ ভবিষ্যতের হতে হবে
                        </li>
                        <li class="list-group-item">
                            <i class="fas fa-check-circle text-success me-2"></i>
                            প্রশ্নপত্র তৈরির পর প্রশ্ন যোগ করুন
                        </li>
                    </ul>
                </div>
                
                <div class="form-card">
                    <h4 class="mb-4"><i class="fas fa-lightbulb me-2"></i>পরামর্শ</h4>
                    <div class="alert alert-info">
                        <i class="fas fa-info-circle me-2"></i>
                        প্রশ্নপত্র তৈরির পর আপনি প্রশ্ন যোগ করতে পারবেন। প্রতিটি প্রশ্নের জন্য নম্বর ও ধরন নির্ধারণ করুন।
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- One Click Question Paper Modal -->
    <div class="modal fade" id="oneClickModal" tabindex="-1" aria-labelledby="oneClickModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="oneClickModalLabel">1 ক্লিকে প্রশ্নপত্র</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="alert alert-info">
                        <i class="fas fa-info-circle me-2"></i>প্রশ্নপত্র তৈরি করুন এবং স্বয়ংক্রিয়ভাবে প্রশ্ন যোগ করুন
                    </div>
                    
                    <form id="oneClickForm">
                        <div class="mb-3">
                            <label class="form-label">পরীক্ষার নাম <span class="text-danger">*</span></label>
                            <input type="text" class="form-control" name="exam_name" placeholder="যেমন: প্রথম সাময়িক পরীক্ষা" required>
                        </div>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">ক্লাস <span class="text-danger">*</span></label>
                                    <select class="form-select" name="class_id" required>
                                        <option value="">ক্লাস নির্বাচন করুন</option>
                                        <?php foreach ($assigned_classes as $class): ?>
                                            <option value="<?php echo $class['id']; ?>">
                                                <?php echo htmlspecialchars($class['name'] . ' - ' . $class['section']); ?>
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                            </div>
                            
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">বিষয় <span class="text-danger">*</span></label>
                                    <select class="form-select" name="subject_id" required>
                                        <option value="">বিষয় নির্বাচন করুন</option>
                                        <?php foreach ($subjects as $subject): ?>
                                            <option value="<?php echo $subject['id']; ?>">
                                                <?php echo htmlspecialchars($subject['name']); ?> (<?php echo htmlspecialchars($subject['code']); ?>)
                                            </option>
                                        <?php endforeach; ?>
                                    </select>
                                </div>
                            </div>
                        </div>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">পরীক্ষার তারিখ <span class="text-danger">*</span></label>
                                    <input type="date" class="form-control" name="exam_date" required>
                                </div>
                            </div>
                            
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">মোট নম্বর</label>
                                    <input type="number" class="form-control" name="total_marks" value="100" min="1" max="1000">
                                </div>
                            </div>
                        </div>
                        
                        <div class="mb-3">
                            <label class="form-label">অধ্যায়/টপিকসমূহ <span class="text-danger">*</span></label>
                            <textarea class="form-control" name="topics" rows="3" placeholder="অধ্যায় বা টপিক কমা দিয়ে আলাদা করুন (যেমন: বীজগণিত, জ্যামিতি, ত্রিকোণমিতি)" required></textarea>
                            <div class="form-text">প্রতিটি অধ্যায়ের জন্য স্বয়ংক্রিয়ভাবে প্রশ্ন তৈরি হবে</div>
                        </div>
                        
                        <div class="row">
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">প্রতি অধ্যায়ে প্রশ্ন</label>
                                    <input type="number" class="form-control" name="questions_per_topic" value="5" min="1" max="10">
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="mb-3">
                                    <label class="form-label">কঠিনতা স্তর</label>
                                    <select class="form-select" name="difficulty_level">
                                        <option value="easy">সহজ</option>
                                        <option value="medium" selected>মাঝারি</option>
                                        <option value="hard">কঠিন</option>
                                    </select>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">বাতিল</button>
                    <button type="button" class="btn btn-success" id="createOneClickPaper">
                        <i class="fas fa-bolt me-2"></i>তৈরি করুন
                    </button>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        // Set default date to today
        document.addEventListener('DOMContentLoaded', function() {
            const today = new Date().toISOString().split('T')[0];
            document.getElementById('exam_date').value = today;
            
            // Set default date for one-click form
            document.querySelector('#oneClickModal input[name="exam_date"]').value = today;
            
            // Handle one-click paper creation
            document.getElementById('createOneClickPaper').addEventListener('click', function() {
                const form = document.getElementById('oneClickForm');
                const formData = new FormData(form);
                
                // Show loading indicator
                const btn = this;
                const originalText = btn.innerHTML;
                btn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> তৈরি হচ্ছে...';
                btn.disabled = true;
                
                fetch('api/one_click_paper.php', {
                    method: 'POST',
                    body: formData
                })
                .then(response => response.json())
                .then(data => {
                    if (data.success) {
                        alert('প্রশ্নপত্র সফলভাবে তৈরি হয়েছে! মোট ' + data.question_count + ' টি প্রশ্ন যোগ করা হয়েছে');
                        // Close modal
                        const modal = bootstrap.Modal.getInstance(document.getElementById('oneClickModal'));
                        modal.hide();
                        // Redirect to manage questions page
                        window.location.href = 'manage_questions.php?exam_id=' + data.exam_id;
                    } else {
                        alert('Error: ' + data.message);
                    }
                })
                .catch(error => {
                    console.error('Error:', error);
                    alert('প্রশ্নপত্র তৈরি করতে সমস্যা হয়েছে!');
                })
                .finally(() => {
                    // Restore button
                    btn.innerHTML = originalText;
                    btn.disabled = false;
                });
            });
        });
    </script>
</body>
</html>