<?php
declare(strict_types=1);

/**
 * Импорт/обновление базы город+координаты (DB-IP City Lite, .mmdb, CC-BY).
 *   php plugins/analytics/tools/import-geo-city.php
 * Качает ~60 МБ (gz) → распаковывает в storage/analytics/dbip-city.mmdb (~150 МБ).
 * Запускать раз в месяц (можно по крону). Требует активный плагин analytics.
 */

if (PHP_SAPI !== 'cli') {
    fwrite(STDERR, "CLI only.\n");
    exit(1);
}

$root = dirname(__DIR__, 3);
require $root . '/core/bootstrap.php'; // регистрирует namespace плагина (PSR-4 src/)

try {
    $res = (new \Celena\Plugin\Analytics\Support\GeoCityImporter())
        ->import(null, static fn (string $m) => fwrite(STDOUT, $m . "\n"));
    $mb = number_format($res['size'] / 1048576, 1);
    fwrite(STDOUT, "Готово: база {$res['file']} ({$mb} МБ) из {$res['url']}\n");
    fwrite(STDOUT, "Источник данных: DB-IP.com (CC BY 4.0)\n");
} catch (\Throwable $e) {
    fwrite(STDERR, "Ошибка: " . $e->getMessage() . "\n");
    exit(1);
}
