<?php
/**
 * تتبع الزيارات - يسجل كل IP فريد كزيارة جديدة
 * يتم استدعاؤه من كل صفحة في الموقع
 * SQLite version
 */
require_once(__DIR__ . '/json_db.php');

function trackVisit() {
    global $jsonDB;
    
    $ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
    }
    $ip = trim($ip);
    
    $now = date('Y-m-d H:i:s');
    $today = date('Y-m-d');
    
    try {
        $db = $jsonDB->getPDO();
        
        // إنشاء جدول الزيارات إذا لم يكن موجوداً (مع حقول إضافية)
        $db->exec('CREATE TABLE IF NOT EXISTS visits (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            ip TEXT DEFAULT "",
            first_visit TEXT DEFAULT "",
            last_visit TEXT DEFAULT "",
            visit_count INTEGER DEFAULT 1,
            date TEXT DEFAULT "",
            country TEXT DEFAULT "",
            city TEXT DEFAULT "",
            isp TEXT DEFAULT "",
            user_agent TEXT DEFAULT "",
            timestamp TEXT DEFAULT "",
            page TEXT DEFAULT ""
        )');
        
        // البحث عن IP موجود
        $stmt = $db->prepare('SELECT id, visit_count FROM visits WHERE ip = :ip LIMIT 1');
        $stmt->execute([':ip' => $ip]);
        $existing = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($existing) {
            // تحديث الزيارة الموجودة
            $stmt = $db->prepare('UPDATE visits SET last_visit = :last_visit, visit_count = :count WHERE id = :id');
            $stmt->execute([
                ':last_visit' => $now,
                ':count' => $existing['visit_count'] + 1,
                ':id' => $existing['id']
            ]);
        } else {
            // زائر جديد
            $stmt = $db->prepare('INSERT INTO visits (ip, first_visit, last_visit, visit_count, date) VALUES (:ip, :first, :last, 1, :date)');
            $stmt->execute([
                ':ip' => $ip,
                ':first' => $now,
                ':last' => $now,
                ':date' => $today
            ]);
        }
    } catch (PDOException $e) {
        // صامت - لا نوقف الصفحة بسبب خطأ في التتبع
        error_log('Track visit error: ' . $e->getMessage());
    }
}

trackVisit();
