<?php
// test_discounts.php - ملف اختباري محدث
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h3>🔍 اختبار نظام التخفيضات</h3>";
echo "✅ PHP الإصدار: " . phpversion() . "<br>";
echo "✅ المسار الحالي: " . __DIR__ . "<br><br>";

// المسار لملف config.php في نفس المجلد
$config_path = __DIR__ . '/config.php';

if (!file_exists($config_path)) {
    echo "❌ ملف config.php غير موجود في: $config_path<br>";
    echo "⌛ جاري إنشاء ملف config.php تلقائياً...<br>";
    
    // إنشاء ملف config.php تلقائياً
    $config_content = '<?php
// بداية الجلسة
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// إعدادات قاعدة البيانات
$host = "sql206.infinityfree.com";
$username = "if0_40375409";
$password = "nkYwQ6JK3lTHm";
$dbname = "if0_40375409_restaurant";

// إنشاء الاتصال
$conn = new mysqli($host, $username, $password, $dbname);

// التحقق من الاتصال
if ($conn->connect_error) {
    die("❌ فشل الاتصال بقاعدة البيانات: " . $conn->connect_error);
}

// تعيين الترميز
$conn->set_charset("utf8mb4");

// دالة التحقق من تسجيل دخول الأدمن
function checkAdminAuth() {
    if (!isset($_SESSION[\'admin_id\'])) {
        header("Location: login.php");
        exit();
    }
}
?>';

    if (file_put_contents($config_path, $config_content)) {
        echo "✅ تم إنشاء ملف config.php بنجاح<br>";
    } else {
        die("❌ فشل إنشاء ملف config.php");
    }
}

// تضمين ملف config.php
include $config_path;
echo "✅ تم تحميل config.php بنجاح<br>";

// التحقق من الاتصال بقاعدة البيانات
if ($conn->connect_error) {
    die("❌ فشل الاتصال بقاعدة البيانات: " . $conn->connect_error);
}
echo "✅ الاتصال بقاعدة البيانات ناجح<br><br>";

// التحقق من وجود جداول مهمة
echo "<h4>📊 التحقق من الجداول:</h4>";
$tables_to_check = [
    'direct_discounts',
    'categories',
    'meals',
    'customers',
    'orders',
    'settings'
];

foreach ($tables_to_check as $table) {
    $result = $conn->query("SHOW TABLES LIKE '$table'");
    if ($result && $result->num_rows > 0) {
        echo "✅ جدول <strong>$table</strong> موجود<br>";
        
        // عرض عدد السجلات
        $count_result = $conn->query("SELECT COUNT(*) as count FROM $table");
        if ($count_result) {
            $count = $count_result->fetch_assoc()['count'];
            echo "&nbsp;&nbsp;&nbsp;&nbsp;عدد السجلات: $count<br>";
        }
    } else {
        echo "⚠️ جدول <strong>$table</strong> غير موجود<br>";
        
        // إنشاء الجدول إذا كان مهماً
        if ($table == 'direct_discounts') {
            echo "&nbsp;&nbsp;&nbsp;&nbsp;⌛ جاري إنشاء جدول direct_discounts...<br>";
            $sql = "CREATE TABLE IF NOT EXISTS direct_discounts (
                id INT PRIMARY KEY AUTO_INCREMENT,
                discount_name VARCHAR(100) NOT NULL,
                discount_type ENUM('percentage', 'fixed') NOT NULL,
                discount_value DECIMAL(10,2) NOT NULL,
                target_type ENUM('order', 'category', 'meal', 'customer') NOT NULL,
                target_id INT NULL,
                min_order_amount DECIMAL(10,2) DEFAULT 0,
                start_date DATETIME NOT NULL,
                end_date DATETIME NOT NULL,
                is_active BOOLEAN DEFAULT TRUE,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            )";
            
            if ($conn->query($sql) === TRUE) {
                echo "&nbsp;&nbsp;&nbsp;&nbsp;✅ تم إنشاء جدول direct_discounts بنجاح<br>";
            } else {
                echo "&nbsp;&nbsp;&nbsp;&nbsp;❌ فشل إنشاء الجدول: " . $conn->error . "<br>";
            }
        }
    }
}

// إنشاء جدول settings إذا لم يكن موجوداً
$result = $conn->query("SHOW TABLES LIKE 'settings'");
if ($result && $result->num_rows == 0) {
    echo "<br>⌛ جاري إنشاء جدول settings...<br>";
    $sql = "CREATE TABLE IF NOT EXISTS settings (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(100) NOT NULL UNIQUE,
        value TEXT NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )";
    
    if ($conn->query($sql) === TRUE) {
        echo "✅ تم إنشاء جدول settings بنجاح<br>";
        
        // إضافة إعدادات افتراضية
        $default_settings = [
            ['delivery_fee', '10.00'],
            ['currency', 'ريال'],
            ['restaurant_name', 'مطعم ماكس']
        ];
        
        foreach ($default_settings as $setting) {
            $stmt = $conn->prepare("INSERT INTO settings (name, value) VALUES (?, ?)");
            $stmt->bind_param("ss", $setting[0], $setting[1]);
            $stmt->execute();
        }
        echo "✅ تم إضافة الإعدادات الافتراضية<br>";
    }
}

// اختبار إضافة تخفيض
echo "<br><h4>🧪 اختبار إضافة تخفيض:</h4>";
$test_discount_name = "تخفيض اختباري " . date('Y-m-d H:i:s');
$sql = "INSERT INTO direct_discounts (discount_name, discount_type, discount_value, 
        target_type, min_order_amount, start_date, end_date, is_active) 
        VALUES (?, 'percentage', 10.00, 'order', 0.00, NOW(), DATE_ADD(NOW(), INTERVAL 30 DAY), 1)";

$stmt = $conn->prepare($sql);
if ($stmt) {
    $stmt->bind_param("s", $test_discount_name);
    if ($stmt->execute()) {
        echo "✅ تم إضافة تخفيض اختباري بنجاح<br>";
        $discount_id = $conn->insert_id;
        echo "&nbsp;&nbsp;&nbsp;&nbsp;رقم التخفيض: $discount_id<br>";
        echo "&nbsp;&nbsp;&nbsp;&nbsp;اسم التخفيض: $test_discount_name<br>";
    } else {
        echo "❌ فشل إضافة تخفيض اختباري: " . $stmt->error . "<br>";
    }
} else {
    echo "❌ فشل إعداد استعلام إضافة التخفيض<br>";
}

// عرض التخفيضات المضافة
echo "<br><h4>📋 قائمة التخفيضات الحالية:</h4>";
$result = $conn->query("SELECT id, discount_name, discount_type, discount_value, 
                        target_type, is_active, created_at 
                        FROM direct_discounts ORDER BY id DESC LIMIT 5");
if ($result && $result->num_rows > 0) {
    echo "<table border='1' cellpadding='5' style='border-collapse: collapse;'>";
    echo "<tr style='background: #f2f2f2;'>
            <th>#</th>
            <th>الاسم</th>
            <th>النوع</th>
            <th>القيمة</th>
            <th>الهدف</th>
            <th>الحالة</th>
            <th>تاريخ الإنشاء</th>
          </tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . htmlspecialchars($row['discount_name']) . "</td>";
        echo "<td>" . ($row['discount_type'] == 'percentage' ? 'نسبة %' : 'مبلغ') . "</td>";
        echo "<td>" . $row['discount_value'] . ($row['discount_type'] == 'percentage' ? '%' : 'ريال') . "</td>";
        echo "<td>" . $row['target_type'] . "</td>";
        echo "<td>" . ($row['is_active'] == 1 ? '✅ نشط' : '❌ غير نشط') . "</td>";
        echo "<td>" . $row['created_at'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
} else {
    echo "لا توجد تخفيضات<br>";
}

echo "<br><hr>";
echo "<h3>🎉 اختبار النظام اكتمل بنجاح!</h3>";
echo "<p>إذا رأيت ✅ بجانب جميع العناصر، فإن النظام يعمل بشكل صحيح.</p>";
echo "<p><a href='direct_discounts.php' style='background: #4CAF50; color: white; padding: 10px 15px; text-decoration: none; border-radius: 5px;'>الذهاب إلى صفحة التخفيضات</a></p>";
?>