<?php
// /m/includes/config.php

// Автоматическое определение базового URL
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
$host = $_SERVER['HTTP_HOST'];
$script_path = dirname($_SERVER['SCRIPT_NAME']); // Получаем путь к скрипту (/m)

// Базовые настройки
define('SITE_NAME', 'Avatiah Security Index: Израиль');
define('SITE_URL', $protocol . '://' . $host . $script_path);
define('BASE_PATH', $script_path); // Будет: /m или / если корень
define('VERSION', '2.0');

// Настройки кэширования
define('CACHE_FILE', __DIR__ . '/../data/cache/last_collector_run.txt');
define('UPDATE_INTERVAL', 1800);
define('COLLECTOR_KEY', 'MYSECRETKEY');

// Настройки API
define('API_BASE_URL', SITE_URL . '/api/');

// Функция для запуска коллектора
function runCollector() {
    if (!file_exists(CACHE_FILE) || (time() - filemtime(CACHE_FILE)) > UPDATE_INTERVAL) {
        $url = SITE_URL . '/collector.php?key=' . COLLECTOR_KEY;
        @file_get_contents($url);
        file_put_contents(CACHE_FILE, date('Y-m-d H:i:s'));
        return true;
    }
    return false;
}

// Функция для получения данных из API
function getApiData($endpoint = 'latest.php') {
    $url = API_BASE_URL . $endpoint;
    $context = stream_context_create([
        'http' => [
            'timeout' => 10,
            'ignore_errors' => true
        ]
    ]);
    
    $response = @file_get_contents($url, false, $context);
    if ($response === false) {
        return null;
    }
    
    return json_decode($response, true);
}

// Функция для создания абсолютных путей
function asset($path) {
    return BASE_PATH . '/' . ltrim($path, '/');
}

// Функция для создания URL
function url($path) {
    return SITE_URL . '/' . ltrim($path, '/');
}
?>