<?php
require_once 'config/database.php';

echo "<!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'>
</head>
<body class='bg-light'>
    <div class='container mt-5'>
        <div class='row justify-content-center'>
            <div class='col-md-8'>
                <div class='card'>
                    <div class='card-header bg-primary text-white'>
                        <h4><i class='fas fa-database'></i> ক্লাস সিস্টেম ডাটাবেস আপডেট</h4>
                    </div>
                    <div class='card-body'>";

try {
    echo "<h5><i class='fas fa-cog'></i> ডাটাবেস আপডেট শুরু...</h5>";
    
    // Check if classes table exists
    $tables = $pdo->query("SHOW TABLES LIKE 'classes'")->fetchAll();
    if (empty($tables)) {
        echo "<div class='alert alert-info'>";
        echo "<i class='fas fa-info-circle'></i> Classes টেবিল তৈরি করা হচ্ছে...";
        echo "</div>";
        
        $pdo->exec("
            CREATE TABLE classes (
                id INT AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(100) NOT NULL,
                section VARCHAR(10) NOT NULL,
                class_teacher_id INT NULL,
                capacity INT DEFAULT 50,
                description TEXT NULL,
                status ENUM('active', 'inactive') DEFAULT 'active',
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                UNIQUE KEY unique_class_section (name, section),
                FOREIGN KEY (class_teacher_id) REFERENCES teachers(id) ON DELETE SET NULL
            )
        ");
        
        echo "<div class='alert alert-success'>";
        echo "<i class='fas fa-check'></i> Classes টেবিল তৈরি হয়েছে";
        echo "</div>";
    } else {
        echo "<div class='alert alert-info'>";
        echo "<i class='fas fa-info-circle'></i> Classes টেবিল পাওয়া গেছে, কলাম চেক করা হচ্ছে...";
        echo "</div>";
        
        // Check and add missing columns
        $columns = $pdo->query("DESCRIBE classes")->fetchAll();
        $existing_columns = array_column($columns, 'Field');
        
        $required_columns = [
            'description' => "ADD COLUMN description TEXT NULL AFTER capacity",
            'status' => "ADD COLUMN status ENUM('active', 'inactive') DEFAULT 'active' AFTER description",
            'created_at' => "ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER status",
            'updated_at' => "ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER created_at"
        ];
        
        foreach ($required_columns as $column => $sql) {
            if (!in_array($column, $existing_columns)) {
                try {
                    $pdo->exec("ALTER TABLE classes $sql");
                    echo "<div class='alert alert-success'>";
                    echo "<i class='fas fa-plus'></i> '$column' কলাম যোগ করা হয়েছে";
                    echo "</div>";
                } catch (Exception $e) {
                    echo "<div class='alert alert-warning'>";
                    echo "<i class='fas fa-exclamation-triangle'></i> '$column' কলাম যোগ করতে সমস্যা: " . $e->getMessage();
                    echo "</div>";
                }
            } else {
                echo "<div class='alert alert-info'>";
                echo "<i class='fas fa-check'></i> '$column' কলাম ইতিমধ্যে আছে";
                echo "</div>";
            }
        }
        
        // Add unique constraint if not exists
        try {
            $indexes = $pdo->query("SHOW INDEX FROM classes WHERE Key_name = 'unique_class_section'")->fetchAll();
            if (empty($indexes)) {
                $pdo->exec("ALTER TABLE classes ADD UNIQUE KEY unique_class_section (name, section)");
                echo "<div class='alert alert-success'>";
                echo "<i class='fas fa-key'></i> Unique constraint যোগ করা হয়েছে";
                echo "</div>";
            } else {
                echo "<div class='alert alert-info'>";
                echo "<i class='fas fa-key'></i> Unique constraint ইতিমধ্যে আছে";
                echo "</div>";
            }
        } catch (Exception $e) {
            echo "<div class='alert alert-warning'>";
            echo "<i class='fas fa-exclamation-triangle'></i> Unique constraint যোগ করতে সমস্যা: " . $e->getMessage();
            echo "</div>";
        }
    }
    
    // Check if class_subjects table exists
    $tables = $pdo->query("SHOW TABLES LIKE 'class_subjects'")->fetchAll();
    if (empty($tables)) {
        echo "<div class='alert alert-info'>";
        echo "<i class='fas fa-info-circle'></i> Class_subjects টেবিল তৈরি করা হচ্ছে...";
        echo "</div>";
        
        $pdo->exec("
            CREATE TABLE class_subjects (
                id INT AUTO_INCREMENT PRIMARY KEY,
                class_id INT NOT NULL,
                subject_id INT NOT NULL,
                teacher_id INT NULL,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                UNIQUE KEY unique_class_subject (class_id, subject_id),
                FOREIGN KEY (class_id) REFERENCES classes(id) ON DELETE CASCADE,
                FOREIGN KEY (subject_id) REFERENCES subjects(id) ON DELETE CASCADE,
                FOREIGN KEY (teacher_id) REFERENCES teachers(id) ON DELETE SET NULL
            )
        ");
        
        echo "<div class='alert alert-success'>";
        echo "<i class='fas fa-check'></i> Class_subjects টেবিল তৈরি হয়েছে";
        echo "</div>";
    } else {
        echo "<div class='alert alert-info'>";
        echo "<i class='fas fa-check'></i> Class_subjects টেবিল ইতিমধ্যে আছে";
        echo "</div>";
    }
    
    // Insert some sample classes if table is empty
    $class_count = $pdo->query("SELECT COUNT(*) FROM classes")->fetchColumn();
    if ($class_count == 0) {
        echo "<div class='alert alert-info'>";
        echo "<i class='fas fa-info-circle'></i> নমুনা ক্লাস যোগ করা হচ্ছে...";
        echo "</div>";
        
        $sample_classes = [
            ['প্রথম', 'ক', 40, 'প্রাথমিক স্তরের প্রথম শ্রেণী'],
            ['দ্বিতীয়', 'ক', 40, 'প্রাথমিক স্তরের দ্বিতীয় শ্রেণী'],
            ['তৃতীয়', 'ক', 45, 'প্রাথমিক স্তরের তৃতীয় শ্রেণী'],
            ['চতুর্থ', 'ক', 45, 'প্রাথমিক স্তরের চতুর্থ শ্রেণী'],
            ['পঞ্চম', 'ক', 45, 'প্রাথমিক স্তরের পঞ্চম শ্রেণী'],
            ['ষষ্ঠ', 'ক', 50, 'মাধ্যমিক স্তরের ষষ্ঠ শ্রেণী'],
            ['ষষ্ঠ', 'খ', 48, 'মাধ্যমিক স্তরের ষষ্ঠ শ্রেণী - খ শাখা'],
            ['সপ্তম', 'ক', 50, 'মাধ্যমিক স্তরের সপ্তম শ্রেণী'],
            ['অষ্টম', 'ক', 45, 'মাধ্যমিক স্তরের অষ্টম শ্রেণী'],
            ['নবম', 'ক', 40, 'মাধ্যমিক স্তরের নবম শ্রেণী'],
            ['দশম', 'ক', 35, 'মাধ্যমিক স্তরের দশম শ্রেণী']
        ];
        
        $stmt = $pdo->prepare("
            INSERT INTO classes (name, section, capacity, description, status) 
            VALUES (?, ?, ?, ?, 'active')
        ");
        
        $added_count = 0;
        foreach ($sample_classes as $class_data) {
            try {
                $stmt->execute($class_data);
                $added_count++;
            } catch (Exception $e) {
                // Skip if duplicate
            }
        }
        
        echo "<div class='alert alert-success'>";
        echo "<i class='fas fa-check'></i> $added_count টি নমুনা ক্লাস যোগ করা হয়েছে";
        echo "</div>";
    }
    
    // Final status check
    echo "<hr>";
    echo "<h5><i class='fas fa-check-circle'></i> আপডেট সম্পন্ন!</h5>";
    
    $final_stats = $pdo->query("
        SELECT 
            COUNT(*) as total_classes,
            SUM(CASE WHEN status = 'active' THEN 1 ELSE 0 END) as active_classes,
            SUM(capacity) as total_capacity
        FROM classes
    ")->fetch();
    
    echo "<div class='row'>";
    echo "<div class='col-md-4'>";
    echo "<div class='card bg-primary text-white text-center'>";
    echo "<div class='card-body'>";
    echo "<h3>" . $final_stats['total_classes'] . "</h3>";
    echo "<p>মোট ক্লাস</p>";
    echo "</div>";
    echo "</div>";
    echo "</div>";
    
    echo "<div class='col-md-4'>";
    echo "<div class='card bg-success text-white text-center'>";
    echo "<div class='card-body'>";
    echo "<h3>" . $final_stats['active_classes'] . "</h3>";
    echo "<p>সক্রিয় ক্লাস</p>";
    echo "</div>";
    echo "</div>";
    echo "</div>";
    
    echo "<div class='col-md-4'>";
    echo "<div class='card bg-info text-white text-center'>";
    echo "<div class='card-body'>";
    echo "<h3>" . $final_stats['total_capacity'] . "</h3>";
    echo "<p>মোট ধারণক্ষমতা</p>";
    echo "</div>";
    echo "</div>";
    echo "</div>";
    echo "</div>";
    
    echo "<div class='alert alert-success mt-3'>";
    echo "<h6><i class='fas fa-thumbs-up'></i> সব কিছু প্রস্তুত!</h6>";
    echo "<p class='mb-0'>এখন আপনি ক্লাস সিস্টেম ব্যবহার করতে পারেন।</p>";
    echo "</div>";
    
} catch (Exception $e) {
    echo "<div class='alert alert-danger'>";
    echo "<h5><i class='fas fa-exclamation-triangle'></i> ত্রুটি!</h5>";
    echo "<p>" . $e->getMessage() . "</p>";
    echo "</div>";
}

echo "                    </div>
                    <div class='card-footer'>
                        <div class='row'>
                            <div class='col-md-4'>
                                <a href='classes/add.php' class='btn btn-primary w-100'>
                                    <i class='fas fa-plus'></i> নতুন ক্লাস যোগ
                                </a>
                            </div>
                            <div class='col-md-4'>
                                <a href='classes/list.php' class='btn btn-success w-100'>
                                    <i class='fas fa-list'></i> ক্লাস তালিকা
                                </a>
                            </div>
                            <div class='col-md-4'>
                                <a href='index.php' class='btn btn-secondary w-100'>
                                    <i class='fas fa-home'></i> হোমে ফিরুন
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";
?>