<?php
/* common_export.php — Единый экспорт в total_index.json */
if (!defined('COMMON_EXPORT_LOADED')) {
    define('COMMON_EXPORT_LOADED', true);

    $index_file = __DIR__ . '/total_index.json';

    function export_aal($page, $aal, $extra = []) {
        global $index_file;

        // Читаем текущий индекс
        $index = ['factors' => [], 'last_update' => date('d.m.Y H:i')];
        if (file_exists($index_file)) {
            $json = file_get_contents($index_file);
            $data = json_decode($json, true);
            if (is_array($data) && isset($data['factors'])) {
                $index = $data;
            }
        }

        // Обновляем фактор
        $index['factors'][$page] = array_merge([
            'aal' => $aal,
            'last_update' => date('d.m.Y H:i')
        ], $extra);

        // Пересчитываем общий AAL
        $sum = 0; $count = 0;
        foreach ($index['factors'] as $f) {
            if (isset($f['aal'])) {
                $sum += $f['aal'];
                $count++;
            }
        }
        $index['total_aal'] = $count > 0 ? round($sum / $count, 2) : 1.0;
        $index['factor_count'] = $count;
        $index['last_update'] = date('d.m.Y H:i');

        // Сохраняем
        $json = json_encode($index, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
        @file_put_contents($index_file, $json);
        @chmod($index_file, 0666);
    }
}
?>