<?php
/**
 * Update database.sql from actual database
 * تحديث ملف database.sql من قاعدة البيانات الفعلية
 */

session_start();

// Check admin access
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
    header('Location: admin/login.php');
    exit;
}

require_once 'config/database.php';

echo "<!DOCTYPE html>/n";
echo "<html lang='ar' dir='rtl'>\n";
echo "<head>/n";
echo "    <meta charset='UTF-8'>\n";
echo "    <title>تحديث ملف database.sql</title>/n";
echo "    <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css'>\n";
echo "    <style>/n";
echo "        body { font-family: Arial; padding: 20px; background: #f5f5f5; }/n";
echo "        .container { max-width: 1200px; margin: 0 auto; background: white; padding: 30px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }/n";
echo "        h1 { color: #E57393; border-bottom: 3px solid #E57393; padding-bottom: 10px; }/n";
echo "        .success { color: #22c55e; font-weight: bold; }/n";
echo "        .error { color: #ef4444; font-weight: bold; }/n";
echo "        .warning { color: #f59e0b; font-weight: bold; }/n";
echo "        .info-box { background: #e0f2fe; padding: 15px; border-radius: 8px; margin: 15px 0; border-right: 4px solid #0284c7; }/n";
echo "        .btn { display: inline-block; padding: 12px 24px; background: #E57393; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; margin: 10px 5px; }/n";
echo "        .btn:hover { background: #D1537A; }/n";
echo "        .code-box { background: #f9f9f9; padding: 15px; border-radius: 8px; border: 1px solid #ddd; margin: 15px 0; font-family: monospace; white-space: pre-wrap; max-height: 400px; overflow-y: auto; }/n";
echo "    </style>/n";
echo "</head>/n";
echo "<body>/n";
echo "    <div class='container'>\n";
echo "        <div style='margin-bottom: 20px;'>\n";
echo "            <a href='admin/settings/index.php' class='btn'>\n";
echo "                <i class='fas fa-arrow-right' style='margin-left: 8px;'></i>\n";
echo "                العودة للإعدادات/n";
echo "            </a>/n";
echo "        </div>/n";
echo "        <h1><i class='fas fa-sync-alt'></i> تحديث ملف database.sql</h1>\n";

try {
    $database = new Database();
    $conn = $database->getConnection();
    
    if (!$conn) {
        echo "<p class='error'>❌ فشل الاتصال بقاعدة البيانات</p>";
        exit;
    }
    
    echo "<p class='success'>✅ تم الاتصال بقاعدة البيانات بنجاح</p>\n";
    
    // Get database name
    $stmt = $conn->query("SELECT DATABASE() as db_name");
    $result = $stmt->fetch();
    $db_name = $result['db_name'];
    
    echo "<div class='info-box'>\n";
    echo "    <strong>📊 اسم قاعدة البيانات:</strong> <code>{$db_name}</code>/n";
    echo "</div>/n";
    
    // Get all tables
    $stmt = $conn->query("SHOW TABLES");
    $tables = [];
    while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
        $tables[] = $row[0];
    }
    
    echo "<h2>📋 الجداول الموجودة (" . count($tables) . " جدول)</h2>/n";
    echo "<div class='code-box'>\n";
    foreach ($tables as $i => $table) {
        echo ($i + 1) . ". {$table}/n";
    }
    echo "</div>/n";
    
    // Generate SQL
    echo "<h2>🔧 جاري إنشاء ملف SQL...</h2>/n";
    
    $sql_content = "-- Database: {$db_name}/n";
    $sql_content .= "-- Generated: " . date('Y-m-d H:i:s') . "/n";
    $sql_content .= "-- Total Tables: " . count($tables) . "/n/n";
    $sql_content .= "CREATE DATABASE IF NOT EXISTS {$db_name};/n";
    $sql_content .= "USE {$db_name};/n/n";
    
    foreach ($tables as $table) {
        // Get CREATE TABLE statement
        $stmt = $conn->query("SHOW CREATE TABLE `{$table}`");
        $row = $stmt->fetch(PDO::FETCH_NUM);
        
        if ($row && isset($row[1])) {
            $create_statement = $row[1];
            
            // Replace CREATE TABLE with CREATE TABLE IF NOT EXISTS
            $create_statement = str_replace(
                "CREATE TABLE `{$table}`",
                "CREATE TABLE IF NOT EXISTS `{$table}`",
                $create_statement
            );
            
            $sql_content .= "-- Table: {$table}/n";
            $sql_content .= $create_statement . ";/n/n";
        }
    }
    
    // Add default data section
    $sql_content .= "/n-- ========================================/n";
    $sql_content .= "-- Default Data / Sample Data/n";
    $sql_content .= "-- ========================================/n/n";
    
    // Save to file
    $file_path = __DIR__ . '/database.sql';
    $backup_path = __DIR__ . '/database_backup_' . date('Y-m-d_His') . '.sql';
    
    // Backup existing file
    if (file_exists($file_path)) {
        copy($file_path, $backup_path);
        echo "<p class='success'>✅ تم إنشاء نسخة احتياطية: <code>" . basename($backup_path) . "</code></p>/n";
    }
    
    // Write new file
    $bytes_written = file_put_contents($file_path, $sql_content);
    
    if ($bytes_written !== false) {
        $size_kb = round($bytes_written / 1024, 2);
        echo "<p class='success'>✅ تم تحديث ملف database.sql بنجاح!</p>\n";
        echo "<div class='info-box'>\n";
        echo "    <strong>📁 الملف:</strong> <code>backend/database.sql</code><br>/n";
        echo "    <strong>📊 الحجم:</strong> {$size_kb} KB<br>/n";
        echo "    <strong>📋 عدد الجداول:</strong> " . count($tables) . " جدول<br>/n";
        echo "    <strong>💾 نسخة احتياطية:</strong> <code>" . basename($backup_path) . "</code>/n";
        echo "</div>/n";
        
        echo "<h2>✅ اكتمل التحديث</h2>/n";
        echo "<p>يمكنك الآن:</p>/n";
        echo "<ul>/n";
        echo "    <li>✅ استخدام ملف <code>database.sql</code> لإنشاء قواعد بيانات جديدة</li>/n";
        echo "    <li>✅ التحقق من التطابق باستخدام صفحة التحقق</li>/n";
        echo "    <li>✅ مشاركة الملف مع فريق التطوير</li>/n";
        echo "</ul>/n";
        
        echo "<div style='margin-top: 30px;'>\n";
        echo "    <a href='verify-database.php' class='btn'>\n";
        echo "        <i class='fas fa-check-circle'></i> التحقق من التطابق\n";
        echo "    </a>/n";
        echo "    <a href='admin/settings/index.php' class='btn'>\n";
        echo "        <i class='fas fa-cog'></i> العودة للإعدادات\n";
        echo "    </a>/n";
        echo "</div>/n";
        
    } else {
        echo "<p class='error'>❌ فشل في كتابة الملف</p>\n";
        echo "<p>تأكد من صلاحيات الكتابة على المجلد</p>/n";
    }
    
} catch (Exception $e) {
    echo "<p class='error'>❌ خطأ: " . $e->getMessage() . "</p>/n";
}

echo "    </div>/n";
echo "</body>/n";
echo "</html>/n";
?>
