<?php
/**
 * تتبع زيارات المتجر وإرسال إشعار تليجرام
 */

session_start();
require_once '../config/database.php';
require_once '../helpers/telegram.php';

header('Content-Type: application/json');

$database = new Database();
$db = $database->getConnection();

try {
    // جمع معلومات الزائر
    $user_id = $_SESSION['user_id'] ?? null;
    $ip_address = $_SERVER['REMOTE_ADDR'] ?? 'Unknown';
    $user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'Unknown';
    $page = $_POST['page'] ?? 'index';
    $referrer = $_SERVER['HTTP_REFERER'] ?? 'Direct';
    
    // معلومات إضافية
    $device_type = 'Desktop';
    if (preg_match('/mobile|android|iphone|ipad/i', $user_agent)) {
        $device_type = 'Mobile';
    } elseif (preg_match('/tablet|ipad/i', $user_agent)) {
        $device_type = 'Tablet';
    }
    
    // Browser detection
    $browser = 'Unknown';
    if (preg_match('/Chrome/i', $user_agent)) $browser = 'Chrome';
    elseif (preg_match('/Firefox/i', $user_agent)) $browser = 'Firefox';
    elseif (preg_match('/Safari/i', $user_agent)) $browser = 'Safari';
    elseif (preg_match('/Edge/i', $user_agent)) $browser = 'Edge';
    
    // جلب معلومات المستخدم إذا كان مسجل دخول
    $user_name = 'زائر';
    $user_email = '';
    $user_phone = '';
    
    if ($user_id) {
        $query = "SELECT name, phone FROM users WHERE id = ?";
        $stmt = $db->prepare($query);
        $stmt->execute([$user_id]);
        $user = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($user) {
            $user_name = $user['name'];
            $user_phone = $user['phone'] ?? '';
        }
    }
    
    // حفظ الزيارة في قاعدة البيانات
    $query = "INSERT INTO site_visits (user_id, ip_address, user_agent, page, referrer, device_type, browser, created_at) 
              VALUES (?, ?, ?, ?, ?, ?, ?, NOW())";
    $stmt = $db->prepare($query);
    $stmt->execute([$user_id, $ip_address, $user_agent, $page, $referrer, $device_type, $browser]);
    
    // إرسال إشعار تليجرام (فقط للزيارات الجديدة - مرة واحدة في الجلسة)
    if (!isset($_SESSION['visit_notified'])) {
        
        // جلب إعدادات التليجرام
        $query = "SELECT setting_value FROM settings WHERE setting_key IN ('telegram_enabled', 'telegram_bot_token', 'telegram_chat_id')";
        $stmt = $db->prepare($query);
        $stmt->execute();
        $telegram_settings = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
        
        $telegram_enabled = ($telegram_settings['telegram_enabled'] ?? '0') === '1';
        
        if ($telegram_enabled) {
            // إنشاء رسالة التليجرام
            $emoji_device = $device_type === 'Mobile' ? '📱' : ($device_type === 'Tablet' ? '📲' : '💻');
            $emoji_user = $user_id ? '👤' : '👥';
            
            $message = "🔔 <b>زائر جديد في المتجر!</b>/n/n";
            $message .= "$emoji_user <b>الزائر:</b> " . htmlspecialchars($user_name) . "/n";
            
            if ($user_id) {
                $message .= "🆔 <b>ID:</b> #" . $user_id . "/n";
                if ($user_phone) $message .= "📞 <b>الهاتف:</b> " . htmlspecialchars($user_phone) . "/n";
            }
            
            $message .= "/n📍 <b>معلومات الزيارة:</b>/n";
            $message .= "$emoji_device <b>الجهاز:</b> $device_type/n";
            $message .= "🌐 <b>المتصفح:</b> $browser/n";
            $message .= "🌍 <b>IP:</b> <code>$ip_address</code>/n";
            $message .= "📄 <b>الصفحة:</b> $page/n";
            
            if ($referrer !== 'Direct') {
                $message .= "🔗 <b>المصدر:</b> " . htmlspecialchars($referrer) . "/n";
            }
            
            $message .= "/n⏰ <b>الوقت:</b> " . date('Y-m-d H:i:s');
            
            // إرسال الإشعار
            sendTelegramMessage($message);
            
            // تعليم الجلسة كمُشعر بها
            $_SESSION['visit_notified'] = true;
        }
    }
    
    echo json_encode([
        'success' => true,
        'message' => 'Visit tracked successfully'
    ]);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
