<?php
// هذا الملف يتم استدعاؤه في صفحات عرض الفيديو أو البث المباشر للطالب
if (session_status() === PHP_SESSION_NONE) { session_start(); }

// جلب بيانات الطالب (الاسم + الآيدي + الـ IP)
$student_name = $_SESSION['student_name'] ?? 'مستخدم غير معروف';
$student_id = $_SESSION['student_id'] ?? 'N/A';
$user_ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';

$watermark_text = "خاص بـ: " . $student_name . " | ID: " . $student_id . " | IP: " . $user_ip;
?>

<!-- ======================================================== -->
<!-- 🛡️ نظام العلامة المائية المتحركة (Roozmari Anti-Piracy) 🛡️ -->
<!-- ======================================================== -->
<style>
    #rooz_anti_piracy_watermark {
        position: fixed;
        z-index: 99999999; /* ليكون فوق كل شيء (الفيديو، السبورة، الخ) */
        color: rgba(255, 255, 255, 0.4); /* شفافية عالية لكي لا يزعج الطالب ولكن يظهر في التصوير */
        font-size: 16px;
        font-weight: bold;
        font-family: monospace;
        pointer-events: none; /* يسمح للنقرات بالمرور من خلاله (لا يعيق استخدام الموقع) */
        user-select: none; /* يمنع تظليل النص */
        white-space: nowrap;
        text-shadow: 1px 1px 3px rgba(0,0,0,0.8); /* لضمان ظهوره على الخلفيات البيضاء والسوداء */
        transition: top 3s ease-in-out, left 3s ease-in-out, opacity 1s; /* حركة ناعمة جداً */
    }
</style>

<div id="rooz_anti_piracy_watermark"><?php echo htmlspecialchars($watermark_text); ?></div>

<script>
    (function() {
        const watermark = document.getElementById('rooz_anti_piracy_watermark');
        
        function moveWatermark() {
            if (!watermark) return;
            // حساب أقصى طول وعرض للشاشة لتجنب خروج النص خارجها
            const maxX = window.innerWidth - watermark.offsetWidth - 20;
            const maxY = window.innerHeight - watermark.offsetHeight - 20;
            
            // توليد إحداثيات عشوائية
            const randomX = Math.max(0, Math.floor(Math.random() * maxX));
            const randomY = Math.max(0, Math.floor(Math.random() * maxY));
            
            watermark.style.left = randomX + 'px';
            watermark.style.top = randomY + 'px';
            
            // تغيير الشفافية بشكل عشوائي بين 0.2 و 0.5 لزيادة التمويه
            watermark.style.opacity = (Math.random() * (0.5 - 0.2) + 0.2).toFixed(2);
        }

        // تحريك العلامة كل 6 ثوانٍ
        setInterval(moveWatermark, 6000);
        moveWatermark(); // تحريك فوري عند التحميل

        const observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(mutation) {
                // 1. إذا تم حذف العنصر من الـ DOM
                if (mutation.removedNodes) {
                    mutation.removedNodes.forEach(function(node) {
                        if (node.id === 'rooz_anti_piracy_watermark') {
                            alert('⛔ تحذير أمني: محاولة إزالة نظام الحماية! سيتم إغلاق الجلسة.');
                            window.location.reload(); // إجبار الصفحة على التحديث لإرجاع العلامة
                        }
                    });
                }
                
                // 2. إذا حاول الطالب تغيير الشفافية إلى 0 أو إخفاء العنصر (display:none)
                if (mutation.type === 'attributes' && mutation.target.id === 'rooz_anti_piracy_watermark') {
                    const currentDisplay = window.getComputedStyle(watermark).display;
                    const currentOpacity = window.getComputedStyle(watermark).opacity;
                    const currentVisibility = window.getComputedStyle(watermark).visibility;
                    
                    if (currentDisplay === 'none' || currentOpacity == 0 || currentVisibility === 'hidden') {
                        watermark.style.display = 'block';
                        watermark.style.visibility = 'visible';
                        watermark.style.opacity = '0.4';
                        // يمكن توجيهه لصفحة الخروج هنا كعقاب
                    }
                }
            });
        });

        // تشغيل المراقب الأمني لمراقبة كامل جسم الموقع
        observer.observe(document.body, { 
            childList: true, 
            subtree: true, 
            attributes: true, 
            attributeFilter: ['style', 'class'] 
        });

    })();
</script>