<?php
require 'config.php';
// @author Ibrahim Al-Mansour

// التحقق من أن المستخدم مسجل دخول وهو أدمن
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
    header("Location: login.php");
    exit;
}

$message = '';

// التأكد من وجود جدول user_places
try {
    $conn->query("SELECT 1 FROM user_places LIMIT 1");
} catch (PDOException $e) { // إذا لم يكن الجدول موجوداً، قم بإنشائه
    $conn->exec("CREATE TABLE `user_places` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(11) NOT NULL,
      `place_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
      `latitude` decimal(10,7) NOT NULL,
      `longitude` decimal(10,7) NOT NULL,
      `radius` int(11) NOT NULL DEFAULT 100, -- نصف القطر بالمتر
      `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
}
// معالجة إضافة مستخدم جديد
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    // إضافة مستخدم جديد
    if ($_POST['action'] === 'add_user') {
        $new_username = filter_var(trim($_POST['new_username']), FILTER_SANITIZE_STRING);
        $new_password = $_POST['new_password']; // سيتم تشفيرها
        $new_role = $_POST['new_role'];
        $allowed_devices = isset($_POST['allowed_devices']) ? implode(',', $_POST['allowed_devices']) : '';
        
        $stmt = $conn->prepare("SELECT id FROM users WHERE username = :username");
        $stmt->execute(['username' => $new_username]);
        if ($stmt->fetch()) {
            $message = "اسم المستخدم موجود بالفعل.";
        } else {
            $hashed = password_hash($new_password, PASSWORD_DEFAULT);
            $stmt = $conn->prepare("INSERT INTO users (username, password, role, allowed_devices) VALUES (:username, :password, :role, :allowed_devices)");
            $stmt->execute([
                'username' => $new_username,
                'password' => $hashed,
                'role' => $new_role,
                'allowed_devices' => $allowed_devices
            ]);
            $message = "تم إضافة المستخدم بنجاح.";
        }
    }
    
    // حذف المستخدم
    if ($_POST['action'] === 'delete_user' && isset($_POST['user_id'])) {
        $user_id = (int)$_POST['user_id'];
        if ($user_id == $_SESSION['user_id']) {
            $message = "لا يمكن حذف الحساب الحالي.";
        } else {
            $stmt = $conn->prepare("DELETE FROM users WHERE id = :id");
            $stmt->execute(['id' => $user_id]);
            $message = "تم حذف المستخدم بنجاح.";
        }
    }
     // إضافة جهاز جديد
    if ($_POST['action'] === 'add_device') {
        $new_device_id = filter_var(trim($_POST['new_device_id']), FILTER_SANITIZE_STRING);
        $new_device_name = filter_var(trim($_POST['new_device_name']), FILTER_SANITIZE_STRING);

        // التحقق من وجود الجهاز مسبقًا في جدول devices
        $stmt = $conn->prepare("SELECT device_id FROM devices WHERE device_id = :device_id");
        $stmt->execute(['device_id' => $new_device_id]);
        if ($stmt->fetch()) {
            $message = "الجهاز موجود بالفعل.";
        } else {
            // إضافة الجهاز الجديد إلى جدول devices
            $stmt = $conn->prepare("INSERT INTO devices (device_id, device_name, status) VALUES (:device_id, :device_name, 'active')");
            $stmt->execute([
                'device_id' => $new_device_id,
                'device_name' => $new_device_name
            ]);
            $message = "تمت إضافة الجهاز بنجاح.";
        }
    }
    
    // حذف جهاز
    if ($_POST['action'] === 'delete_device' && isset($_POST['device_id'])) {
        $device_id = filter_var(trim($_POST['device_id']), FILTER_SANITIZE_STRING);
        // حذف الجهاز من جدول devices
        $stmt = $conn->prepare("DELETE FROM devices WHERE device_id = :device_id");
        $stmt->execute(['device_id' => $device_id]);
        // حذف الجهاز من المجموعات إن وجد
        $stmt = $conn->prepare("DELETE FROM device_group_members WHERE device_id = :device_id");
        $stmt->execute(['device_id' => $device_id]);
        $message = "تم حذف الجهاز بنجاح.";
    }
    
    // تحديث اسم الجهاز
    if ($_POST['action'] === 'update_device' && isset($_POST['device_id'])) {
        $device_id = filter_var(trim($_POST['device_id']), FILTER_SANITIZE_STRING);
        $new_device_name = filter_var(trim($_POST['new_device_name']), FILTER_SANITIZE_STRING);
        $stmt = $conn->prepare("UPDATE devices SET device_name = :device_name WHERE device_id = :device_id");
        $stmt->execute(['device_name' => $new_device_name, 'device_id' => $device_id]);
        $message = "تم تحديث اسم الجهاز بنجاح.";
    }
    
    // تحديث الأجهزة المسموح بها للمستخدم
    if ($_POST['action'] === 'update_devices' && isset($_POST['user_id'])) {
        $user_id = (int)$_POST['user_id'];
        $allowed_devices = isset($_POST['allowed_devices']) ? implode(',', $_POST['allowed_devices']) : '';
        $stmt = $conn->prepare("UPDATE users SET allowed_devices = :allowed_devices WHERE id = :id");
        $stmt->execute(['allowed_devices' => $allowed_devices, 'id' => $user_id]);
        $message = "تم تحديث الأجهزة المسموح بها للمستخدم بنجاح.";
    }

    // إضافة مكان خاص جديد
    if ($_POST['action'] === 'add_place') {
        $user_id = (int)$_POST['user_id'];
        $place_name = filter_var(trim($_POST['place_name']), FILTER_SANITIZE_STRING);
        $latitude = filter_var(trim($_POST['latitude']), FILTER_VALIDATE_FLOAT);
        $longitude = filter_var(trim($_POST['longitude']), FILTER_VALIDATE_FLOAT);
        $radius = filter_var($_POST['radius'] ?? 100, FILTER_VALIDATE_INT, ['options' => ['min_range' => 10, 'max_range' => 1000]]);

        $stmt = $conn->prepare("INSERT INTO user_places (user_id, place_name, latitude, longitude, radius) VALUES (:user_id, :place_name, :latitude, :longitude, :radius)");
        $stmt->execute([
            'user_id' => $user_id,
            'place_name' => $place_name,
            'latitude' => $latitude,
            'longitude' => $longitude,
            'radius' => $radius
        ]);
        $message = "تمت إضافة المكان الخاص بنجاح.";
    }

    // حذف مكان خاص
    if ($_POST['action'] === 'delete_place' && isset($_POST['place_id'])) {
        $stmt = $conn->prepare("DELETE FROM user_places WHERE id = :id"); // استخدام المعرف كـ int
        $stmt->execute(['id' => $_POST['place_id']]);
        $message = "تم حذف المكان الخاص بنجاح.";
    }
}

// جلب كافة الأجهزة من جدول devices مع معلومات إضافية
$stmt_devices = $conn->query("SELECT device_id, device_name, first_seen, last_seen, status FROM devices WHERE status = 'active' ORDER BY device_name ASC");
$all_devices = $stmt_devices->fetchAll(PDO::FETCH_ASSOC);

// جلب كافة المستخدمين
$stmt_users = $conn->query("SELECT id, username, role, allowed_devices FROM users ORDER BY username ASC");
$users = $stmt_users->fetchAll(PDO::FETCH_ASSOC);

// جلب كافة الأماكن الخاصة
$stmt_places = $conn->query("SELECT up.*, u.username FROM user_places up JOIN users u ON up.user_id = u.id ORDER BY u.username, up.place_name");
$user_places = $stmt_places->fetchAll(PDO::FETCH_ASSOC);

// التحقق من طلب تعديل الأجهزة لمستخدم معين
$editUser = null;
if (isset($_GET['edit_user'])) {
    $edit_user_id = $_GET['edit_user'];
    $stmt_edit = $conn->prepare("SELECT id, username, allowed_devices FROM users WHERE id = :id LIMIT 1"); // LIMIT 1 لتحسين الأداء
    $stmt_edit->execute(['id' => $edit_user_id]);
    $editUser = $stmt_edit->fetch(PDO::FETCH_ASSOC);
}
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>لوحة تحكم الأدمن - Almanara GPS</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root {
            --primary: #3b82f6;
            --primary-hover: #2563eb;
            --secondary: #1e40af;
            --success: #10b981;
            --danger: #ef4444;
            --warning: #f59e0b;
            --info: #06b6d4;
            --bg-primary: #f8fafc;
            --bg-secondary: #ffffff;
            --bg-tertiary: #f1f5f9;
            --text-primary: #1e293b;
            --text-secondary: #64748b;
            --border-color: #e2e8f0;
            --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
            --radius: 0.75rem;
            --radius-sm: 0.5rem;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Inter', 'Segoe UI', 'Tahoma', 'Geneva', 'Verdana', sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            background-attachment: fixed;
            color: var(--text-primary);
            min-height: 100vh;
            padding: 0;
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Top Navigation Bar */
        .top-nav {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            box-shadow: var(--shadow-md);
            padding: 1rem 2rem;
            position: sticky;
            top: 0;
            z-index: 1000;
            border-bottom: 1px solid var(--border-color);
        }

        .nav-container {
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .nav-title {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 1.5rem;
            font-weight: 700;
            background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .nav-title i {
            background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .nav-actions {
            display: flex;
            gap: 1rem;
            align-items: center;
        }

        .btn-nav {
            padding: 0.625rem 1.25rem;
            border-radius: var(--radius-sm);
            text-decoration: none;
            font-weight: 500;
            transition: var(--transition);
            display: flex;
            align-items: center;
            gap: 0.5rem;
            border: none;
            cursor: pointer;
            font-size: 0.875rem;
        }

        .btn-nav-primary {
            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
            color: white;
            box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
        }

        .btn-nav-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
        }

        .btn-nav-secondary {
            background: var(--bg-secondary);
            color: var(--text-primary);
            border: 1px solid var(--border-color);
        }

        .btn-nav-secondary:hover {
            background: var(--bg-tertiary);
            border-color: var(--primary);
        }

        /* Main Container */
        .main-container {
            max-width: 1400px;
            margin: 2rem auto;
            padding: 0 2rem;
        }

        /* Alert Message */
        .alert {
            max-width: 1200px;
            margin: 0 auto 2rem;
            padding: 1rem 1.5rem;
            border-radius: var(--radius);
            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
            border-left: 4px solid var(--warning);
            color: #92400e;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            box-shadow: var(--shadow-md);
            animation: slideDown 0.3s ease;
        }

        .alert i {
            font-size: 1.25rem;
        }

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Section Title */
        .section-title {
            font-size: 1.75rem;
            font-weight: 700;
            color: white;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .section-title i {
            font-size: 1.5rem;
        }

        /* Cards Grid */
        .cards-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 1.5rem;
            margin-bottom: 3rem;
        }

        /* Card */
        .card {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: var(--radius);
            padding: 2rem;
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: var(--transition);
            animation: fadeInUp 0.5s ease;
        }

        .card:hover {
            transform: translateY(-4px);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .card-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid var(--bg-tertiary);
        }

        .card-header i {
            font-size: 1.5rem;
            color: var(--primary);
        }

        .card-header h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--text-primary);
            margin: 0;
        }

        /* Form Styles */
        .form-group {
            margin-bottom: 1.25rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 500;
            color: var(--text-primary);
            font-size: 0.875rem;
        }

        .form-group input,
        .form-group select {
            width: 100%;
            padding: 0.75rem 1rem;
            border: 1px solid var(--border-color);
            border-radius: var(--radius-sm);
            background: var(--bg-secondary);
            color: var(--text-primary);
            font-size: 0.9375rem;
            transition: var(--transition);
        }

        .form-group input:focus,
        .form-group select:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
        }

        .form-group select[multiple] {
            min-height: 120px;
            padding: 0.5rem;
        }

        /* Buttons */
        .btn {
            padding: 0.75rem 1.5rem;
            border-radius: var(--radius-sm);
            font-weight: 500;
            font-size: 0.9375rem;
            border: none;
            cursor: pointer;
            transition: var(--transition);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            text-decoration: none;
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
            color: white;
            box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
        }

        .btn-success {
            background: linear-gradient(135deg, var(--success) 0%, #059669 100%);
            color: white;
        }

        .btn-danger {
            background: linear-gradient(135deg, var(--danger) 0%, #dc2626 100%);
            color: white;
        }

        .btn-danger:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
        }

        .btn-warning {
            background: linear-gradient(135deg, var(--warning) 0%, #d97706 100%);
            color: white;
        }

        .btn-secondary {
            background: var(--bg-tertiary);
            color: var(--text-primary);
            border: 1px solid var(--border-color);
        }

        .btn-secondary:hover {
            background: var(--border-color);
        }

        .btn-full {
            width: 100%;
        }

        /* Tables */
        .table-container {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: var(--radius);
            padding: 2rem;
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(255, 255, 255, 0.2);
            overflow-x: auto;
            margin-bottom: 2rem;
            animation: fadeInUp 0.5s ease;
        }

        .table-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid var(--bg-tertiary);
        }

        .table-header i {
            font-size: 1.5rem;
            color: var(--primary);
        }

        .table-header h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--text-primary);
            margin: 0;
        }

        table {
            width: 100%;
            border-collapse: collapse;
        }

        thead {
            background: var(--bg-tertiary);
        }

        th {
            padding: 1rem;
            text-align: right;
            font-weight: 600;
            color: var(--text-primary);
            font-size: 0.875rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            border-bottom: 2px solid var(--border-color);
        }

        td {
            padding: 1rem;
            border-bottom: 1px solid var(--border-color);
            color: var(--text-secondary);
        }

        tbody tr {
            transition: var(--transition);
        }

        tbody tr:hover {
            background: var(--bg-tertiary);
        }

        .badge {
            display: inline-block;
            padding: 0.25rem 0.75rem;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 500;
        }

        .badge-success {
            background: rgba(16, 185, 129, 0.1);
            color: #059669;
        }

        .badge-danger {
            background: rgba(239, 68, 68, 0.1);
            color: #dc2626;
        }

        .badge-info {
            background: rgba(6, 182, 212, 0.1);
            color: #0891b2;
        }

        /* Actions */
        .actions {
            display: flex;
            gap: 0.5rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .actions .btn {
            padding: 0.5rem 1rem;
            font-size: 0.8125rem;
        }

        /* Edit Device Form */
        #editDeviceForm {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-radius: var(--radius);
            padding: 2rem;
            margin-top: 2rem;
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(255, 255, 255, 0.2);
            animation: fadeInUp 0.5s ease;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .main-container {
                padding: 0 1rem;
            }

            .cards-grid {
                grid-template-columns: 1fr;
            }

            .top-nav {
                padding: 1rem;
            }

            .nav-container {
                flex-direction: column;
                gap: 1rem;
            }

            .nav-actions {
                width: 100%;
                justify-content: center;
            }

            .table-container {
                padding: 1rem;
            }

            table {
                font-size: 0.875rem;
            }

            th, td {
                padding: 0.75rem 0.5rem;
            }
        }

        /* Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }

        ::-webkit-scrollbar-track {
            background: var(--bg-tertiary);
        }

        ::-webkit-scrollbar-thumb {
            background: var(--border-color);
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: var(--text-secondary);
        }
    </style>
</head>
<body>
    <!-- Top Navigation -->
    <nav class="top-nav">
        <div class="nav-container">
            <div class="nav-title">
                <i class="fas fa-shield-alt"></i>
                <span>لوحة تحكم الأدمن</span>
            </div>
            <div class="nav-actions">
                <a href="dashboard.php" class="btn-nav btn-nav-primary">
                    <i class="fas fa-arrow-right"></i>
                    <span>العودة إلى لوحة التتبع</span>
                </a>
            </div>
        </div>
    </nav>

    <div class="main-container">
        <?php if ($message): ?>
            <div class="alert">
                <i class="fas fa-info-circle"></i>
                <span><?= htmlspecialchars($message) ?></span>
            </div>
        <?php endif; ?>

        <?php if ($editUser): ?>
            <!-- نموذج تعديل الأجهزة لمستخدم محدد -->
            <div class="card">
                <div class="card-header">
                    <i class="fas fa-user-edit"></i>
                    <h3>تعديل الأجهزة للمستخدم: <?= htmlspecialchars($editUser['username']) ?></h3>
                </div>
                <?php 
                    $currentDevices = $editUser['allowed_devices'] ? array_map('trim', explode(',', $editUser['allowed_devices'])) : [];
                ?>
                <form method="POST" action="admin.php">
                    <input type="hidden" name="action" value="update_devices">
                    <input type="hidden" name="user_id" value="<?= $editUser['id'] ?>">
                    <div class="form-group">
                        <label><i class="fas fa-mobile-alt"></i> اختر الأجهزة المسموح بها:</label>
                        <select name="allowed_devices[]" multiple size="5">
                            <?php foreach ($all_devices as $device): ?>
                                <?php $selected = in_array($device['device_id'], $currentDevices) ? 'selected' : ''; ?>
                                <option value="<?= $device['device_id'] ?>" <?= $selected ?>>
                                    <?= htmlspecialchars($device['device_name']) ?>
                                </option>
                            <?php endforeach; ?>
                        </select>
                    </div>
                    <button type="submit" class="btn btn-primary btn-full">
                        <i class="fas fa-save"></i>
                        تحديث الأجهزة
                    </button>
                    <a href="admin.php" class="btn btn-secondary btn-full" style="margin-top: 0.75rem;">
                        <i class="fas fa-times"></i>
                        إلغاء التعديل
                    </a>
                </form>
            </div>
        <?php else: ?>
            <div class="cards-grid">
                <!-- نموذج إضافة مستخدم جديد -->
                <div class="card">
                    <div class="card-header">
                        <i class="fas fa-user-plus"></i>
                        <h3>إضافة مستخدم جديد</h3>
                    </div>
                    <form method="POST" action="admin.php">
                        <input type="hidden" name="action" value="add_user">
                        <div class="form-group">
                            <label><i class="fas fa-user"></i> اسم المستخدم:</label>
                            <input type="text" name="new_username" required placeholder="أدخل اسم المستخدم">
                        </div>
                        <div class="form-group">
                            <label><i class="fas fa-lock"></i> كلمة المرور:</label>
                            <input type="password" name="new_password" required placeholder="أدخل كلمة المرور">
                        </div>
                        <div class="form-group">
                            <label><i class="fas fa-user-tag"></i> الدور:</label>
                            <select name="new_role">
                                <option value="user">مستخدم</option>
                                <option value="admin">أدمن</option>
                            </select>
                        </div>
                        <div class="form-group">
                            <label><i class="fas fa-mobile-alt"></i> الأجهزة المسموح بها (اختياري):</label>
                            <select name="allowed_devices[]" multiple>
                                <?php foreach ($all_devices as $device): ?>
                                    <option value="<?= $device['device_id'] ?>"><?= htmlspecialchars($device['device_name']) ?></option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                        <button type="submit" class="btn btn-primary btn-full">
                            <i class="fas fa-plus-circle"></i>
                            إضافة المستخدم
                        </button>
                    </form>
                </div>

                <!-- نموذج إضافة جهاز جديد -->
                <div class="card">
                    <div class="card-header">
                        <i class="fas fa-mobile-alt"></i>
                        <h3>إضافة جهاز جديد</h3>
                    </div>
                    <form method="POST" action="admin.php">
                        <input type="hidden" name="action" value="add_device">
                        <div class="form-group">
                            <label><i class="fas fa-fingerprint"></i> معرف الجهاز:</label>
                            <input type="text" name="new_device_id" required placeholder="أدخل معرف الجهاز">
                        </div>
                        <div class="form-group">
                            <label><i class="fas fa-tag"></i> اسم الجهاز:</label>
                            <input type="text" name="new_device_name" required placeholder="أدخل اسم الجهاز">
                        </div>
                        <button type="submit" class="btn btn-success btn-full">
                            <i class="fas fa-plus-circle"></i>
                            إضافة الجهاز
                        </button>
                    </form>
                </div>
            </div>

            <!-- قسم إدارة الأجهزة الفريدة -->
            <div class="table-container">
                <div class="table-header">
                    <i class="fas fa-server"></i>
                    <h3>الأجهزة الفريدة المسجلة</h3>
                </div>
                <table>
                    <thead>
                        <tr>
                            <th>معرف الجهاز</th>
                            <th>اسم الجهاز</th>
                            <th>تاريخ التسجيل</th>
                            <th>آخر نشاط</th>
                            <th>الحالة</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($all_devices as $device): ?>
                        <tr>
                            <td><strong><?= htmlspecialchars($device['device_id']) ?></strong></td>
                            <td><?= htmlspecialchars($device['device_name']) ?></td>
                            <td><?= isset($device['first_seen']) ? htmlspecialchars($device['first_seen']) : '<span class="badge badge-info">غير محدد</span>' ?></td>
                            <td><?= isset($device['last_seen']) ? htmlspecialchars($device['last_seen']) : '<span class="badge badge-info">غير محدد</span>' ?></td>
                            <td>
                                <span class="badge badge-success"><?= isset($device['status']) ? htmlspecialchars($device['status']) : 'نشط' ?></span>
                            </td>
                            <td>
                                <div class="actions">
                                    <form method="POST" action="admin.php" onsubmit="return confirm('هل أنت متأكد من حذف هذا الجهاز؟ سيتم حذف جميع بياناته.');" style="display: inline;">
                                        <input type="hidden" name="action" value="delete_device">
                                        <input type="hidden" name="device_id" value="<?= htmlspecialchars($device['device_id']) ?>">
                                        <button type="submit" class="btn btn-danger">
                                            <i class="fas fa-trash"></i>
                                            حذف
                                        </button>
                                    </form>
                                    <button type="button" onclick="editDevice('<?= htmlspecialchars($device['device_id']) ?>', '<?= htmlspecialchars($device['device_name']) ?>')" class="btn btn-warning">
                                        <i class="fas fa-edit"></i>
                                        تعديل
                                    </button>
                                </div>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>

            <!-- نموذج تعديل اسم الجهاز (مخفي افتراضياً) -->
            <div id="editDeviceForm" style="display:none;">
                <div class="card">
                    <div class="card-header">
                        <i class="fas fa-edit"></i>
                        <h3>تعديل اسم الجهاز</h3>
                    </div>
                    <form method="POST" action="admin.php">
                        <input type="hidden" name="action" value="update_device">
                        <input type="hidden" id="edit_device_id" name="device_id">
                        <div class="form-group">
                            <label><i class="fas fa-tag"></i> اسم الجهاز الجديد:</label>
                            <input type="text" id="edit_device_name" name="new_device_name" required placeholder="أدخل اسم الجهاز الجديد">
                        </div>
                        <button type="submit" class="btn btn-primary btn-full">
                            <i class="fas fa-save"></i>
                            تحديث
                        </button>
                        <button type="button" onclick="cancelEdit()" class="btn btn-secondary btn-full" style="margin-top: 0.75rem;">
                            <i class="fas fa-times"></i>
                            إلغاء
                        </button>
                    </form>
                </div>
            </div>
        
            <!-- جدول عرض المستخدمين الحاليين -->
            <div class="table-container">
                <div class="table-header">
                    <i class="fas fa-users"></i>
                    <h3>المستخدمين الحاليين</h3>
                </div>
                <table>
                    <thead>
                        <tr>
                            <th>المعرف</th>
                            <th>اسم المستخدم</th>
                            <th>الدور</th>
                            <th>الأجهزة المسموح بها</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($users as $user): ?>
                        <tr>
                            <td><strong>#<?= $user['id'] ?></strong></td>
                            <td><?= htmlspecialchars($user['username']) ?></td>
                            <td>
                                <span class="badge <?= $user['role'] === 'admin' ? 'badge-danger' : 'badge-info' ?>">
                                    <?= htmlspecialchars($user['role']) === 'admin' ? 'أدمن' : 'مستخدم' ?>
                                </span>
                            </td>
                            <td><?= htmlspecialchars($user['allowed_devices']) ?: '<span class="badge badge-info">جميع الأجهزة</span>' ?></td>
                            <td>
                                <div class="actions">
                                    <?php if ($user['id'] != $_SESSION['user_id']): ?>
                                        <form method="POST" action="admin.php" onsubmit="return confirm('هل أنت متأكد من حذف هذا المستخدم؟');" style="display: inline;">
                                            <input type="hidden" name="action" value="delete_user">
                                            <input type="hidden" name="user_id" value="<?= $user['id'] ?>">
                                            <button type="submit" class="btn btn-danger">
                                                <i class="fas fa-trash"></i>
                                                حذف
                                            </button>
                                        </form>
                                        <a href="admin.php?edit_user=<?= $user['id'] ?>" class="btn btn-warning">
                                            <i class="fas fa-edit"></i>
                                            تعديل الأجهزة
                                        </a>
                                    <?php else: ?>
                                        <span class="badge badge-info">الحساب الحالي</span>
                                    <?php endif; ?>
                                </div>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        <?php endif; ?>

        <!-- قسم إدارة الأماكن الخاصة -->
        <div class="cards-grid">
            <div class="card">
                <div class="card-header">
                    <i class="fas fa-map-marker-alt"></i>
                    <h3>إضافة مكان خاص جديد</h3>
                </div>
                <form method="POST" action="admin.php">
                    <input type="hidden" name="action" value="add_place">
                    <div class="form-group">
                        <label><i class="fas fa-user"></i> اختر المستخدم:</label>
                        <select name="user_id" required>
                            <?php foreach ($users as $user): ?>
                                <option value="<?= $user['id'] ?>"><?= htmlspecialchars($user['username']) ?></option>
                            <?php endforeach; ?>
                        </select>
                    </div>
                    <div class="form-group">
                        <label><i class="fas fa-home"></i> اسم المكان (مثال: المنزل):</label>
                        <input type="text" name="place_name" required placeholder="أدخل اسم المكان">
                    </div>
                    <div class="form-group">
                        <label><i class="fas fa-globe"></i> خط العرض (Latitude):</label>
                        <input type="number" step="0.0000001" name="latitude" required placeholder="مثال: 33.3152">
                    </div>
                    <div class="form-group">
                        <label><i class="fas fa-globe"></i> خط الطول (Longitude):</label>
                        <input type="number" step="0.0000001" name="longitude" required placeholder="مثال: 44.3661">
                    </div>
                    <div class="form-group">
                        <label><i class="fas fa-ruler"></i> نصف القطر (بالمتر):</label>
                        <input type="number" name="radius" value="100" required min="10" max="1000" placeholder="100">
                    </div>
                    <button type="submit" class="btn btn-success btn-full">
                        <i class="fas fa-plus-circle"></i>
                        إضافة المكان
                    </button>
                </form>
            </div>
        </div>

        <div class="table-container">
            <div class="table-header">
                <i class="fas fa-map-marked-alt"></i>
                <h3>الأماكن الخاصة المسجلة</h3>
            </div>
            <table>
                <thead>
                    <tr>
                        <th>المستخدم</th>
                        <th>اسم المكان</th>
                        <th>الإحداثيات</th>
                        <th>نصف القطر</th>
                        <th>الإجراءات</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if (empty($user_places)): ?>
                        <tr>
                            <td colspan="5" style="text-align: center; padding: 2rem; color: var(--text-secondary);">
                                <i class="fas fa-inbox" style="font-size: 2rem; margin-bottom: 0.5rem; display: block;"></i>
                                لا توجد أماكن خاصة مسجلة
                            </td>
                        </tr>
                    <?php else: ?>
                        <?php foreach ($user_places as $place): ?>
                        <tr>
                            <td><strong><?= htmlspecialchars($place['username']) ?></strong></td>
                            <td>
                                <i class="fas fa-map-marker-alt" style="color: var(--danger); margin-left: 0.5rem;"></i>
                                <?= htmlspecialchars($place['place_name']) ?>
                            </td>
                            <td>
                                <span class="badge badge-info">
                                    <?= htmlspecialchars($place['latitude']) ?>, <?= htmlspecialchars($place['longitude']) ?>
                                </span>
                            </td>
                            <td>
                                <span class="badge badge-success">
                                    <?= htmlspecialchars($place['radius']) ?> متر
                                </span>
                            </td>
                            <td>
                                <div class="actions">
                                    <form method="POST" action="admin.php" onsubmit="return confirm('هل أنت متأكد من حذف هذا المكان؟');" style="display: inline;">
                                        <input type="hidden" name="action" value="delete_place">
                                        <input type="hidden" name="place_id" value="<?= $place['id'] ?>">
                                        <button type="submit" class="btn btn-danger">
                                            <i class="fas fa-trash"></i>
                                            حذف
                                        </button>
                                    </form>
                                </div>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>

    </div>

    <script>
        function editDevice(deviceId, deviceName) {
            document.getElementById('edit_device_id').value = deviceId;
            document.getElementById('edit_device_name').value = deviceName;
            const form = document.getElementById('editDeviceForm');
            form.style.display = 'block';
            form.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
            document.getElementById('edit_device_name').focus();
        }
        
        function cancelEdit() {
            document.getElementById('editDeviceForm').style.display = 'none';
            document.getElementById('edit_device_id').value = '';
            document.getElementById('edit_device_name').value = '';
        }

        // Auto-hide alert after 5 seconds
        document.addEventListener('DOMContentLoaded', function() {
            const alert = document.querySelector('.alert');
            if (alert) {
                setTimeout(function() {
                    alert.style.transition = 'opacity 0.5s ease';
                    alert.style.opacity = '0';
                    setTimeout(function() {
                        alert.style.display = 'none';
                    }, 500);
                }, 5000);
            }
        });
    </script>
</body>
</html>
