<?php
// support.php

// 1. إعدادات الاتصال بقاعدة البيانات
$host     = "localhost";
$username = "root";
$password = "";
$dbname   = "coffee_erp";

$conn = new mysqli($host, $username, $password, $dbname);
if ($conn->connect_error) {
    die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");

$message = "";
$message_type = ""; 

// 2. معالجة العمليات عند الضغط على الأزرار
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
    // --- الزر الأول: أخذ نسخة احتياطية (Backup) ---
    if (isset($_POST['action']) && $_POST['action'] === 'backup') {
        $backup_file = $dbname . '_backup_' . date('Y-m-d_H-i-s') . '.sql';
        
        $tables = array();
        $result = $conn->query("SHOW TABLES");
        while ($row = $result->fetch_row()) {
            $tables[] = $row[0];
        }
        
        $sql_dump = "-- الكود الاحتياطي لقاعدة البيانات: $dbname\n";
        $sql_dump .= "-- تاريخ الإنشاء: " . date('Y-m-d H:i:s') . "\n\n";
        $sql_dump .= "SET FOREIGN_KEY_CHECKS=0;\n\n";
        
        foreach ($tables as $table) {
            $res_create = $conn->query("SHOW CREATE TABLE `$table`");
            $row_create = $res_create->fetch_assoc();
            $sql_dump .= "\n\n" . $row_create['Create Table'] . ";\n\n";
            
            $res_data = $conn->query("SELECT * FROM `$table`");
            while ($row_data = $res_data->fetch_assoc()) {
                $keys = array_map(function($k) use ($conn) { return "`" . $conn->real_escape_string($k) . "`"; }, array_keys($row_data));
                $values = array_map(function($v) use ($conn) { 
                    if ($v === null) return "NULL";
                    return "'" . $conn->real_escape_string($v) . "'"; 
                }, array_values($row_data));
                
                $sql_dump .= "INSERT INTO `$table` (" . implode(', ', $keys) . ") VALUES (" . implode(', ', $values) . ");\n";
            }
        }
        
        $sql_dump .= "\n\nSET FOREIGN_KEY_CHECKS=1;\n";
        
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . $backup_file);
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        echo $sql_dump;
        exit;
    }
    
    // --- الزر الثاني: تصفير قاعدة البيانات (Reset) ---
    if (isset($_POST['action']) && $_POST['action'] === 'reset') {
        $excluded_tables = ['pages', 'users', 'user_permissions'];
        
        $tables = array();
        $result = $conn->query("SHOW TABLES");
        while ($row = $result->fetch_row()) {
            $tables[] = $row[0];
        }
        
        $conn->query("SET FOREIGN_KEY_CHECKS = 0;");
        
        $success = true;
        foreach ($tables as $table) {
            if (!in_array($table, $excluded_tables)) {
                if (!$conn->query("TRUNCATE TABLE `$table`")) {
                    $success = false;
                    $message = "حدث خطأ أثناء تصفير الجدول: " . $table;
                    $message_type = "error";
                    break;
                }
            }
        }
        
        $conn->query("SET FOREIGN_KEY_CHECKS = 1;");
        
        if ($success) {
            $message = "تم تصفير النظام بنجاح، ومسح كافة البيانات والعمليات مع الحفاظ على المستخدمين والصلاحيات والصفحات.";
            $message_type = "success";
        }
    }
}
?>

<!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>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root {
            --odoo-brown: #70483c; /* لون الهيدر الأساسي في نظامك */
            --odoo-teal: #008f8a;  /* لون أزرار التأكيد والدفع */
            --bg-light: #f8f9fa;   /* الخلفية الرمادية الفاتحة لأودو */
            --text-dark: #333333;
            --text-muted: #666666;
            --danger-red: #dc3545;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--bg-light);
            color: var(--text-dark);
            margin: 0;
            padding: 0;
        }

        /* محاكاة شريط التنقل الفرعي (Breadcrumb) زي شاشاتك */
        .sub-header {
            background-color: #ffffff;
            padding: 15px 30px;
            border-bottom: 1px solid #e9ecef;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .breadcrumb {
            font-size: 13px;
            color: var(--text-muted);
        }
        .breadcrumb a {
            color: var(--odoo-brown);
            text-decoration: none;
        }

        .page-title {
            font-size: 22px;
            font-weight: 600;
            color: #444;
            margin: 0;
        }

        /* الحاوية الرئيسية للمحتوى */
        .content-container {
            padding: 30px;
            max-width: 1200px;
            margin: 0 auto;
        }

        /* تنبيهات النظام */
        .alert {
            padding: 15px 20px;
            border-radius: 4px;
            margin-bottom: 25px;
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 10px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.05);
        }
        .alert-success {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
        }
        .alert-error {
            background-color: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
        }

        /* كروت الخيارات المصممة بستايل كروت منتجات أودو */
        .support-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
            gap: 20px;
        }

        .support-card {
            background: #ffffff;
            border: 1px solid #dee2e6;
            border-radius: 4px;
            padding: 24px;
            box-shadow: 0 1px 4px rgba(0,0,0,0.05);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .support-card:hover {
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }

        .card-body h3 {
            margin: 0 0 12px 0;
            font-size: 18px;
            color: var(--odoo-brown);
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .card-body p {
            margin: 0 0 20px 0;
            font-size: 14px;
            color: var(--text-muted);
            line-height: 1.6;
        }

        .card-actions {
            display: flex;
            justify-content: flex-end;
            border-top: 1px solid #f1f3f5;
            padding-top: 15px;
        }

        /* الأزرار المتوافقة مع أودو */
        .btn {
            padding: 10px 20px;
            font-size: 14px;
            font-weight: 500;
            border: 1px solid transparent;
            border-radius: 4px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: background-color 0.2s;
        }

        .btn-backup {
            background-color: var(--odoo-brown);
            color: #ffffff;
        }
        .btn-backup:hover {
            background-color: #5a3930;
        }

        .btn-reset {
            background-color: #ffffff;
            border-color: var(--danger-red);
            color: var(--danger-red);
        }
        .btn-reset:hover {
            background-color: var(--danger-red);
            color: #ffffff;
        }
    </style>
</head>
<body>

<div class="sub-header">
    <h2 class="page-title">إدارة الدعم الفني والصيانة</h2>
    <div class="breadcrumb">
        <a href="dashboard.php">الرئيسية</a> / <span>الدعم الفني</span>
    </div>
</div>

<div class="content-container">

    <?php if (!empty($message)): ?>
        <div class="alert alert-<?php echo $message_type; ?>">
            <?php if ($message_type === 'success'): ?>
                <i class="fa-solid fa-circle-check"></i>
            <?php else: ?>
                <i class="fa-solid fa-circle-exclamation"></i>
            <?php endif; ?>
            <span><?php echo $message; ?></span>
        </div>
    <?php endif; ?>

    <div class="support-grid">
        
        <div class="support-card">
            <div class="card-body">
                <h3><i class="fa-solid fa-database"></i> نسخة احتياطية كاملة</h3>
                <p>تنزيل ملف بصيغة SQL يحتوي على نسخة فورية من تركيب الجداول والبيانات المسجلة بداخلها للرجوع إليها عند الحاجة.</p>
            </div>
            <div class="card-actions">
                <form method="POST" action="">
                    <input type="hidden" name="action" value="backup">
                    <button type="submit" class="btn btn-backup">
                        <i class="fa-solid fa-download"></i> تحميل قاعدة البيانات
                    </button>
                </form>
            </div>
        </div>

        <div class="support-card" style="border-top: 3px solid var(--danger-red);">
            <div class="card-body">
                <h3><i class="fa-solid fa-trash-can"></i> تهيئة وتصفير النظام</h3>
                <p style="color: #666;">سيتم إفراغ الفروع، المنتجات، الورديات، المبيعات والمخزن تماماً. <strong style="color: var(--danger-red);">ملاحظة:</strong> لن يتم مسح بيانات المستخدمين، صلاحياتهم، أو الصفحات لضمان قدرتك على الدخول مجدداً.</p>
            </div>
            <div class="card-actions">
                <form method="POST" action="" onsubmit="return confirm('تنبيه هام جداً: هل أنت متأكد من تصفير العمليات والبيانات؟ لا يمكن التراجع عن هذا الإجراء!');">
                    <input type="hidden" name="action" value="reset">
                    <button type="submit" class="btn btn-reset">
                        <i class="fa-solid fa-triangle-exclamation"></i> تصفير الآن
                    </button>
                </form>
            </div>
        </div>

    </div>

</div>

</body>
</html>