<?php
// php/geolocalizacion_comunitaria/filters.php
declare(strict_types=1);
require_once __DIR__ . '/_bootstrap.php';

$u = gcomm_user();

try {
  gcomm_ensure_tables($pdo);

  $categorias = $pdo->query("SELECT id, tipo, nombre, icono, color, descripcion, orden, activo
    FROM geo_comunitaria_categorias
    WHERE activo = 1
    ORDER BY tipo ASC, orden ASC, nombre ASC")->fetchAll(PDO::FETCH_ASSOC);

  $sectorizaciones = [];
  try {
    $sectorizaciones = $pdo->query("SELECT id, nombre_sectorizacion, color_sector FROM sectorizacion ORDER BY nombre_sectorizacion ASC")->fetchAll(PDO::FETCH_ASSOC);
  } catch (Throwable $e) {}

  $sectores = [];
  try {
    $sectores = $pdo->query("SELECT s.id, s.nombre_sector, s.sectorizacion, z.nombre_sectorizacion, z.color_sector
      FROM sectores s
      LEFT JOIN sectorizacion z ON z.id = s.sectorizacion
      ORDER BY s.nombre_sector ASC")->fetchAll(PDO::FETCH_ASSOC);
  } catch (Throwable $e) {}

  json_response([
    'ok' => true,
    'readonly' => is_monitor_user($u),
    'categorias' => $categorias,
    'sectorizaciones' => $sectorizaciones,
    'sectores' => $sectores,
  ]);
} catch (Throwable $e) {
  error_log('GEO COM FILTERS ERROR: ' . $e->getMessage());
  json_response(['ok' => false, 'message' => 'Error cargando filtros comunitarios.'], 500);
}
