<?php
session_save_path("/home/evolucionamos/public_html/mejora/sessions");
session_start();
if (empty($_SESSION['adm'])) { header("Location: index.php"); exit; }

// Intentar generar xlsx real con PhpSpreadsheet
$autoloadPaths = [
    __DIR__ . '/../vendor/autoload.php',
    __DIR__ . '/../../vendor/autoload.php',
];
$autoloaded = false;
foreach ($autoloadPaths as $ap) {
    if (file_exists($ap)) { require_once $ap; $autoloaded = true; break; }
}

if ($autoloaded && class_exists('\PhpOffice\PhpSpreadsheet\Spreadsheet')) {
    $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();
    $sheet->setTitle('Candidatos');

    // Cabeceras
    $headers = ['A'=>'NUMERO','B'=>'NOMBRE','C'=>'POSICION','D'=>'CEDULA'];
    foreach ($headers as $col => $label) {
        $sheet->setCellValue($col.'1', $label);
    }

    // Estilo cabecera
    $headerStyle = [
        'font'      => ['bold'=>true,'color'=>['rgb'=>'FFFFFF'],'size'=>12],
        'fill'      => ['fillType'=>\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,'startColor'=>['rgb'=>'2B5A9E']],
        'alignment' => ['horizontal'=>\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER],
    ];
    $sheet->getStyle('A1:D1')->applyFromArray($headerStyle);

    // Filas de ejemplo
    $ejemplos = [
        ['1', 'JUAN PÉREZ GARCÍA', 'Gerente Regional Norte', '10234567'],
        ['2', 'MARÍA TORRES SILVA', 'Coordinadora Zona Sur',  '20345678'],
        ['3', 'CARLOS RUIZ MORA',   'Director Occidente',     '30456789'],
    ];
    foreach ($ejemplos as $i => $fila) {
        $row = $i + 2;
        $sheet->setCellValue('A'.$row, $fila[0]);
        $sheet->setCellValue('B'.$row, $fila[1]);
        $sheet->setCellValue('C'.$row, $fila[2]);
        $sheet->setCellValue('D'.$row, $fila[3]);
    }

    // Estilo filas ejemplo (fondo amarillo claro)
    $exampleStyle = ['fill'=>['fillType'=>\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,'startColor'=>['rgb'=>'FFF9C4']]];
    $sheet->getStyle('A2:D4')->applyFromArray($exampleStyle);

    // Nota en fila 6
    $sheet->setCellValue('A6', 'INSTRUCCIONES:');
    $sheet->getStyle('A6')->getFont()->setBold(true)->setColor(new \PhpOffice\PhpSpreadsheet\Style\Color('FF2B5A9E'));
    $sheet->setCellValue('A7', 'NUMERO: Número del tarjetón (ej: 1, 2, 3)');
    $sheet->setCellValue('A7', 'NUMERO: Número del tarjetón (ej: 1, 2, 3)');
    $sheet->setCellValue('A8', 'NOMBRE: Nombre completo del candidato');
    $sheet->setCellValue('A9', 'POSICION: Texto adicional (área, ciudad, cargo). Opcional.');
    $sheet->setCellValue('A10','CEDULA: Número de cédula. Si hay foto assets/candidatos/{cedula}.jpg se mostrará.');
    $sheet->setCellValue('A11','ZONA: NO va en el archivo. Se selecciona en el panel al momento de subir.');
    $sheet->getStyle('A7:A11')->getFont()->setSize(10)->setItalic(true);

    foreach (['A','B','C','D'] as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); }

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment; filename="plantilla_candidatos_brujula.xlsx"');
    header('Cache-Control: max-age=0');

    $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
    $writer->save('php://output');
    exit;
} else {
    // Fallback: descargar plantilla CSV
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename="plantilla_candidatos_brujula.csv"');
    $output = fopen('php://output', 'w');
    fprintf($output, chr(0xEF).chr(0xBB).chr(0xBF));
    fputcsv($output, ['NUMERO','NOMBRE','POSICION','CEDULA'], ';');
    fputcsv($output, ['1','JUAN PÉREZ GARCÍA','Gerente Regional Norte','10234567'], ';');
    fputcsv($output, ['2','MARÍA TORRES SILVA','Coordinadora Zona Sur','20345678'], ';');
    fputcsv($output, ['3','CARLOS RUIZ MORA','Director Occidente','30456789'], ';');
    fclose($output);
    exit;
}
