<?php
/**
 * سكريبت PHP لإضافة حقول form_link و report_link إلى جدول devices
 * هذا السكريبت آمن ويمكن تشغيله عدة مرات
 */
require 'config.php';

header('Content-Type: text/html; charset=UTF-8');
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>تحديث جدول devices</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
            direction: rtl;
            background: #f5f5f5;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .success {
            color: #28a745;
            padding: 10px;
            background: #d4edda;
            border: 1px solid #c3e6cb;
            border-radius: 5px;
            margin: 10px 0;
        }
        .error {
            color: #dc3545;
            padding: 10px;
            background: #f8d7da;
            border: 1px solid #f5c6cb;
            border-radius: 5px;
            margin: 10px 0;
        }
        .info {
            color: #0c5460;
            padding: 10px;
            background: #d1ecf1;
            border: 1px solid #bee5eb;
            border-radius: 5px;
            margin: 10px 0;
        }
        h1 {
            color: #333;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>تحديث جدول devices - إضافة حقول الروابط</h1>
        
        <?php
        try {
            // التحقق من وجود الأعمدة أولاً
            $checkFormLink = $conn->query("SHOW COLUMNS FROM devices LIKE 'form_link'");
            $formLinkExists = $checkFormLink->rowCount() > 0;
            
            $checkReportLink = $conn->query("SHOW COLUMNS FROM devices LIKE 'report_link'");
            $reportLinkExists = $checkReportLink->rowCount() > 0;
            
            $changes = [];
            
            // إضافة form_link إذا لم يكن موجوداً
            if (!$formLinkExists) {
                try {
                    $conn->exec("ALTER TABLE `devices` ADD COLUMN `form_link` VARCHAR(500) DEFAULT NULL AFTER `device_name`");
                    $changes[] = "✅ تم إضافة عمود form_link بنجاح";
                } catch (PDOException $e) {
                    if (strpos($e->getMessage(), 'Duplicate column') !== false) {
                        $changes[] = "ℹ️ عمود form_link موجود بالفعل";
                    } else {
                        $changes[] = "❌ خطأ في إضافة form_link: " . $e->getMessage();
                    }
                }
            } else {
                $changes[] = "ℹ️ عمود form_link موجود بالفعل";
            }
            
            // إضافة report_link إذا لم يكن موجوداً
            if (!$reportLinkExists) {
                try {
                    $conn->exec("ALTER TABLE `devices` ADD COLUMN `report_link` VARCHAR(500) DEFAULT NULL AFTER `form_link`");
                    $changes[] = "✅ تم إضافة عمود report_link بنجاح";
                } catch (PDOException $e) {
                    if (strpos($e->getMessage(), 'Duplicate column') !== false) {
                        $changes[] = "ℹ️ عمود report_link موجود بالفعل";
                    } else {
                        $changes[] = "❌ خطأ في إضافة report_link: " . $e->getMessage();
                    }
                }
            } else {
                $changes[] = "ℹ️ عمود report_link موجود بالفعل";
            }
            
            // محاولة إضافة الفهارس (اختياري)
            try {
                $conn->exec("CREATE INDEX `idx_form_link` ON `devices` (`form_link`(255))");
                $changes[] = "✅ تم إضافة فهرس idx_form_link بنجاح";
            } catch (PDOException $e) {
                if (strpos($e->getMessage(), 'Duplicate key') !== false || strpos($e->getMessage(), 'already exists') !== false) {
                    $changes[] = "ℹ️ فهرس idx_form_link موجود بالفعل";
                } else {
                    $changes[] = "⚠️ لم يتم إضافة فهرس idx_form_link: " . $e->getMessage();
                }
            }
            
            try {
                $conn->exec("CREATE INDEX `idx_report_link` ON `devices` (`report_link`(255))");
                $changes[] = "✅ تم إضافة فهرس idx_report_link بنجاح";
            } catch (PDOException $e) {
                if (strpos($e->getMessage(), 'Duplicate key') !== false || strpos($e->getMessage(), 'already exists') !== false) {
                    $changes[] = "ℹ️ فهرس idx_report_link موجود بالفعل";
                } else {
                    $changes[] = "⚠️ لم يتم إضافة فهرس idx_report_link: " . $e->getMessage();
                }
            }
            
            // عرض النتائج
            echo '<div class="success">';
            echo '<h2>✅ تم تنفيذ التحديثات بنجاح!</h2>';
            echo '<ul>';
            foreach ($changes as $change) {
                echo '<li>' . htmlspecialchars($change) . '</li>';
            }
            echo '</ul>';
            echo '</div>';
            
            // التحقق النهائي
            $finalCheck = $conn->query("SHOW COLUMNS FROM devices WHERE Field IN ('form_link', 'report_link')");
            $finalColumns = $finalCheck->fetchAll(PDO::FETCH_ASSOC);
            
            echo '<div class="info">';
            echo '<h3>التحقق النهائي:</h3>';
            echo '<ul>';
            foreach ($finalColumns as $col) {
                echo '<li>✅ ' . htmlspecialchars($col['Field']) . ' - ' . htmlspecialchars($col['Type']) . '</li>';
            }
            echo '</ul>';
            echo '</div>';
            
        } catch (Exception $e) {
            echo '<div class="error">';
            echo '<h2>❌ حدث خطأ:</h2>';
            echo '<p>' . htmlspecialchars($e->getMessage()) . '</p>';
            echo '</div>';
        }
        ?>
        
        <p style="margin-top: 20px;">
            <a href="manage_devices.php" style="color: #667eea; text-decoration: none;">← العودة إلى إدارة الأجهزة</a>
        </p>
    </div>
</body>
</html>

