<?php
/**
 * csvSinVotarController.php — Sprint 4
 * ANTES: sinvotar() se ejecutaba DOS veces (query duplicada)
 * AHORA: Resultado guardado en variable
 */
namespace app\controller\administradores;

use app\models\User;

require_once '../../../app/models/user.php';

$sinVotos = new User();
$resultados = $sinVotos->sinvotar();

if (!$resultados || count($resultados) == 0) {
    echo "sin resultados";
    exit;
}

$filename = "sin-registro.csv";
$f = fopen('php://memory', 'w');

$encabezados = array('Name', 'Username', 'Zona');
$encabezados_convertidos = array_map(function ($elemento) {
    return mb_convert_encoding($elemento, 'Windows-1252', 'UTF-8');
}, $encabezados);

fputcsv($f, $encabezados_convertidos);

foreach ($resultados as $fila) {
    $fila_convertida = array_map(function ($elemento) {
        return mb_convert_encoding($elemento, 'Windows-1252', 'UTF-8');
    }, $fila);
    fputcsv($f, $fila_convertida);
}

fseek($f, 0);

header('Content-Type: text/csv; charset=Windows-1252');
header('Content-Disposition: attachment; filename="' . $filename . '";');
fpassthru($f);
