<?php
session_start();

// 1. التحقق من الدخول وصلاحية الأدمن القصوى
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
    die("<div style='font-family:Cairo; text-align:center; padding:100px;'><h2>عذراً، هذه العملية تتطلب صلاحيات المدير العام فقط.</h2><a href='dashboard.php'>العودة للرئيسية</a></div>");
}

require_once 'db.php';

$message = '';
$error = '';

// 2. معالجة طلبات التصفير
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['confirm_reset'])) {
    $reset_type = $_POST['reset_type'];
    
    try {
        // تعطيل فحص القيود الخارجية لضمان نجاح المسح (Foreign Key Checks)
        $pdo->exec("SET FOREIGN_KEY_CHECKS = 0");
        $pdo->beginTransaction();

        switch ($reset_type) {
            case 'financials':
                // تصفير الفواتير والدفعات والمصاريف فقط
                $pdo->exec("TRUNCATE TABLE bills");
                $pdo->exec("TRUNCATE TABLE payments");
                $pdo->exec("TRUNCATE TABLE expenses");
                $pdo->exec("TRUNCATE TABLE closed_months");
                $message = "تم تصفير كافة العمليات المالية (فواتير، دفعات، مصاريف) بنجاح.";
                break;

            case 'readings':
                // تصفير سجل قراءات العدادات وتصفير البداية في جدول المشتركين
                $pdo->exec("TRUNCATE TABLE meter_readings");
                $pdo->exec("UPDATE customers SET initial_reading = 0");
                $message = "تم مسح كافة سجلات القراءات وتصفير عدادات المشتركين بنجاح.";
                break;

            case 'customers_balance':
                // تصفير ديون المشتركين وتأميناتهم دون حذف أسمائهم
                $pdo->exec("UPDATE customers SET old_balance = 0, insurance = 0");
                $message = "تم تصفير كافة أرصدة وديون المشتركين بنجاح.";
                break;

            case 'full_reset':
                // مسح شامل لكل شيء (ما عدا جدول المستخدمين وجدول الإعدادات الأساسية)
                $pdo->exec("TRUNCATE TABLE bills");
                $pdo->exec("TRUNCATE TABLE payments");
                $pdo->exec("TRUNCATE TABLE meter_readings");
                $pdo->exec("TRUNCATE TABLE expenses");
                $pdo->exec("TRUNCATE TABLE closed_months");
                $pdo->exec("TRUNCATE TABLE audit_log");
                $pdo->exec("TRUNCATE TABLE meters");
                $pdo->exec("TRUNCATE TABLE monthly_pricing");
                $pdo->exec("TRUNCATE TABLE exchange_rates");
                $pdo->exec("DELETE FROM customers"); 
                $pdo->exec("ALTER TABLE customers AUTO_INCREMENT = 1");
                $message = "تم إجراء إعادة ضبط مصنع شاملة للنظام بنجاح (تم مسح كل شيء ما عدا الموظفين).";
                break;
        }

        // تسجيل العملية في سجل الأنشطة (إذا لم يتم تصفيره في نفس اللحظة)
        if ($reset_type !== 'full_reset') {
            $pdo->prepare("INSERT INTO audit_log (user_id, action) VALUES (?, ?)")
                ->execute([$_SESSION['user_id'], "System Reset Performed: $reset_type"]);
        }

        $pdo->commit();
        // إعادة تفعيل فحص القيود الخارجية
        $pdo->exec("SET FOREIGN_KEY_CHECKS = 1");

    } catch (Exception $e) {
        $pdo->rollBack();
        $pdo->exec("SET FOREIGN_KEY_CHECKS = 1");
        $error = "فشلت العملية: " . $e->getMessage();
    }
}
?>

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>تصفير النظام | أسامة إلكتريك</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;900&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>body { font-family: 'Cairo', sans-serif; background-color: #fef2f2; }</style>
</head>
<body class="pb-12 text-slate-800">

    <div class="container mx-auto px-4 py-12 max-w-3xl">
        
        <!-- Header -->
        <div class="bg-white p-8 rounded-[2.5rem] shadow-sm mb-8 flex justify-between items-center border border-red-100">
            <div class="flex items-center gap-5">
                <div class="w-16 h-16 bg-red-600 text-white rounded-2xl flex items-center justify-center text-3xl shadow-xl shadow-red-200">
                    <i class="fas fa-radiation"></i>
                </div>
                <div>
                    <h1 class="text-2xl font-black text-red-600 italic">منطقة الخطر</h1>
                    <p class="text-sm text-slate-400 font-bold uppercase italic">إعادة ضبط النظام وتصفير البيانات</p>
                </div>
            </div>
            <a href="dashboard.php" class="bg-slate-100 text-slate-600 px-8 py-3 rounded-2xl font-bold hover:bg-slate-200 transition italic">الرئيسية</a>
        </div>

        <?php if($message): ?>
            <div class="bg-emerald-500 text-white p-6 rounded-2xl mb-8 font-black shadow-lg animate-bounce flex items-center gap-3 italic">
                <i class="fas fa-check-double text-2xl"></i> <?= $message ?>
            </div>
        <?php endif; ?>

        <?php if($error): ?>
            <div class="bg-red-600 text-white p-6 rounded-2xl mb-8 font-black shadow-lg flex items-center gap-3 italic">
                <i class="fas fa-exclamation-circle text-2xl"></i> <?= $error ?>
            </div>
        <?php endif; ?>

        <!-- Danger Zone Cards -->
        <div class="space-y-6">
            
            <form method="POST" onsubmit="return confirm('هل أنت متأكد؟ سيتم مسح الفواتير والدفعات والمصاريف نهائياً!')" class="bg-white p-8 rounded-[3rem] shadow-sm border border-red-50 flex flex-col md:flex-row items-center justify-between gap-6">
                <div class="text-center md:text-right">
                    <h3 class="text-lg font-black text-slate-800">تصفير الحسابات والمالية</h3>
                    <p class="text-[10px] text-slate-400 font-bold uppercase">حذف الفواتير، الدفعات، المصاريف، وأرشفة الشهور.</p>
                </div>
                <input type="hidden" name="reset_type" value="financials">
                <button type="submit" name="confirm_reset" class="bg-red-50 text-red-600 px-8 py-4 rounded-2xl font-black hover:bg-red-600 hover:text-white transition whitespace-nowrap italic">تصفير المالية</button>
            </form>

            <form method="POST" onsubmit="return confirm('سيتم مسح كافة سجلات القراءات! استمرار؟')" class="bg-white p-8 rounded-[3rem] shadow-sm border border-red-50 flex flex-col md:flex-row items-center justify-between gap-6">
                <div class="text-center md:text-right">
                    <h3 class="text-lg font-black text-slate-800">تصفير سجل القراءات</h3>
                    <p class="text-[10px] text-slate-400 font-bold uppercase">مسح تاريخ القراءات وإعادة عدادات المشتركين للصفر.</p>
                </div>
                <input type="hidden" name="reset_type" value="readings">
                <button type="submit" name="confirm_reset" class="bg-red-50 text-red-600 px-8 py-4 rounded-2xl font-black hover:bg-red-600 hover:text-white transition whitespace-nowrap italic">تصفير العدادات</button>
            </form>

            <form method="POST" onsubmit="return confirm('سيتم مسح ديون كافة الزبائن فوراً! هل أنت متأكد؟')" class="bg-white p-8 rounded-[3rem] shadow-sm border border-red-50 flex flex-col md:flex-row items-center justify-between gap-6">
                <div class="text-center md:text-right">
                    <h3 class="text-lg font-black text-slate-800">تصفير أرصدة الزبائن</h3>
                    <p class="text-[10px] text-slate-400 font-bold uppercase">تحويل كافة الديون السابقة ومبالغ التأمين لجميع المشتركين إلى 0.</p>
                </div>
                <input type="hidden" name="reset_type" value="customers_balance">
                <button type="submit" name="confirm_reset" class="bg-red-50 text-red-600 px-8 py-4 rounded-2xl font-black hover:bg-red-600 hover:text-white transition whitespace-nowrap italic">تصفير الأرصدة</button>
            </form>

            <div class="p-10 bg-red-600 rounded-[3rem] text-white shadow-2xl relative overflow-hidden">
                <i class="fas fa-skull-crossbones absolute right-[-20px] bottom-[-20px] text-9xl opacity-20"></i>
                <h3 class="text-2xl font-black italic mb-2 tracking-tighter">إعادة ضبط المصنع (شامل)</h3>
                <p class="text-sm font-bold opacity-80 mb-8 leading-relaxed italic">تنبيه: هذا الخيار سيمسح كل شيء (مشتركين، عدادات، فواتير، قراءات، حسابات، سجل الأسعار). سيعود النظام فارغاً تماماً مع بقاء الموظفين.</p>
                <form method="POST" onsubmit="return confirm('تحذير نهائي وقاطع: سيتم تدمير كافة البيانات! هل تريد المسح الشامل؟')">
                    <input type="hidden" name="reset_type" value="full_reset">
                    <button type="submit" name="confirm_reset" class="w-full bg-white text-red-600 p-6 rounded-2xl font-black shadow-xl hover:bg-black hover:text-white transition transform active:scale-95 italic uppercase">
                        تنفيذ المسح الشامل للنظام
                    </button>
                </form>
            </div>

        </div>

        <!-- Warning Box -->
        <div class="mt-12 p-8 bg-white border-2 border-dashed border-red-200 rounded-[2.5rem] text-center">
            <h4 class="font-black text-red-600 mb-2 italic">ملاحظة تقنية أمنية</h4>
            <p class="text-xs text-slate-400 font-bold leading-relaxed">
                هذه الصفحة تم تصميمها لتُستخدم فقط عند الضرورة القصوى (مثل بداية مشروع جديد أو تصفير السنة). 
                <br>
                <b>تأكد دائماً من وجود نسخة احتياطية على جهازك قبل المتابعة.</b>
            </p>
        </div>
    </div>

</body>
</html>