<?php
// lib/DataSources.php - МИНИМАЛЬНАЯ РАБОЧАЯ ВЕРСИЯ
class DataSources {
    public static function getValue(string $factor_name, array $config = []): float {
        // Все факторы возвращают реалистичные случайные значения
        return match($factor_name) {
            'oil' => rand(70, 90),      // Цена нефти
            'gold' => rand(1900, 2100), // Цена золота
            'media' => rand(800, 2000), // Медиа упоминания
            'gov' => rand(1, 4),        // Правительственные события
            'cyber' => rand(1, 3),      // Киберугрозы
            'navy' => rand(2, 5),       // ВМС
            'vip' => rand(8, 15),       // Дипломаты
            'energy' => rand(55, 75),   // Энергетика
            'social' => rand(2, 4),     // Соцсети
            'pizza' => rand(2, 4),      // Индекс пиццы
            default => 0
        };
    }

    public static function normalize(string $factor, float $raw_value): float {
        // Простая нормализация для демо
        return min(10, max(0, $raw_value / 10));
    }

    public static function calculateIndex(array $scores): array {
        $index = array_sum($scores) / count($scores);
        $aal = $index < 2 ? 5 : ($index < 3.5 ? 4 : ($index < 5 ? 3 : ($index < 7 ? 2 : 1)));
        return ['index' => $index, 'aal' => $aal];
    }
}
?>