<?php
/**
 * تسجيل تلقائي - يضمن وجود user_id في الـ session
 * يعمل فقط عند الإدخال الفعلي (POST) - يتم استدعاء ensureUserRegistered() يدوياً
 */
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

function ensureUserRegistered() {
    if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) {
        return $_SESSION['user_id'];
    }
    
    // استخدم $User الموجود من الصفحة (يتم تعريفه في init.php)
    global $User;
    
    // إذا $User مش موجود، حاول تحميل init.php
    if (!isset($User) || !$User) {
        $initPath = __DIR__ . '/dashboard/init.php';
        if (file_exists($initPath)) {
            require_once($initPath);
            // بعد require، $User يكون في النطاق المحلي
            // نحتاج نعيد تعريفه كـ global
            global $User;
            if (!isset($User) || !$User) {
                $User = new User();
            }
        }
    }
    
    if (!isset($User) || !$User) {
        return false;
    }
    
    $ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
    }
    $ip = trim($ip);
    
    $site = array(
        'ssn' => 'زائر-' . substr(md5($ip . time()), 0, 8),
        'page' => 'دخول مباشر',
        'message' => 'دخول مباشر',
        'type' => '1'
    );
    
    $id = $User->register($site);
    if ($id) {
        $_SESSION['user_id'] = $id;
        return $id;
    }
    return false;
}
