<?php
session_start();
if (!isset($_SESSION['admin_usuario'])) {
    header('Location: ../admin_login.php');
    exit();
}
require_once '../config/database.php';

// Verificar si se solicita exportación
if (isset($_GET['exportar'])) {
    // Obtener todos los miembros
    $stmt = $pdo->query("SELECT * FROM miembros ORDER BY fecha_registro DESC");
    $miembros = $stmt->fetchAll();
    
    // Crear archivo Excel usando HTML (método simple)
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="miembros_ripa_' . date('Y-m-d_H-i-s') . '.xls"');
    header('Cache-Control: max-age=0');
    
    // Crear tabla HTML para Excel
    echo '<html>';
    echo '<head>';
    echo '<meta charset="UTF-8">';
    echo '<title>Reporte de Miembros RIPA</title>';
    echo '<style>';
    echo 'th { background-color: #003366; color: white; padding: 8px; }';
    echo 'td { padding: 5px; border: 1px solid #ddd; }';
    echo 'table { border-collapse: collapse; width: 100%; }';
    echo '</style>';
    echo '</head>';
    echo '<body>';
    echo '<h1>Reporte de Miembros RIPA</h1>';
    echo '<p>Fecha de generación: ' . date('d/m/Y H:i:s') . '</p>';
    echo '<p>Total de miembros: ' . count($miembros) . '</p>';
    echo '<table border="1">';
    echo '<thead>';
    echo '<tr>';
    echo '<th>ID</th>';
    echo '<th>Nombre</th>';
    echo '<th>Apellido</th>';
    echo '<th>Cédula</th>';
    echo '<th>Fecha de Nacimiento</th>';
    echo '<th>Edad</th>';
    echo '<th>Teléfono</th>';
    echo '<th>País</th>';
    echo '<th>Departamento</th>';
    echo '<th>Ciudad</th>';
    echo '<th>Latitud</th>';
    echo '<th>Longitud</th>';
    echo '<th>Fecha de Registro</th>';
    echo '</tr>';
    echo '</thead>';
    echo '<tbody>';
    
    foreach ($miembros as $miembro) {
        // Calcular edad
        $edad = '';
        if ($miembro['fecha_nacimiento']) {
            $fecha_nac = new DateTime($miembro['fecha_nacimiento']);
            $hoy = new DateTime();
            $edad = $hoy->diff($fecha_nac)->y;
        }
        
        echo '<tr>';
        echo '<td>' . $miembro['id'] . '</td>';
        echo '<td>' . htmlspecialchars($miembro['nombre']) . '</td>';
        echo '<td>' . htmlspecialchars($miembro['apellido']) . '</td>';
        echo '<td>' . $miembro['cedula'] . '</td>';
        echo '<td>' . date('d/m/Y', strtotime($miembro['fecha_nacimiento'])) . '</td>';
        echo '<td>' . $edad . '</td>';
        echo '<td>' . $miembro['telefono'] . '</td>';
        echo '<td>' . htmlspecialchars($miembro['pais']) . '</td>';
        echo '<td>' . htmlspecialchars($miembro['departamento']) . '</td>';
        echo '<td>' . htmlspecialchars($miembro['ciudad']) . '</td>';
        echo '<td>' . ($miembro['latitud'] ?? '') . '</td>';
        echo '<td>' . ($miembro['longitud'] ?? '') . '</td>';
        echo '<td>' . date('d/m/Y H:i:s', strtotime($miembro['fecha_registro'])) . '</td>';
        echo '</tr>';
    }
    
    echo '</tbody>';
    echo '</table>';
    echo '</body>';
    echo '</html>';
    exit();
}

// Obtener estadísticas para la vista previa
$stmt = $pdo->query("SELECT COUNT(*) as total FROM miembros");
$totalMiembros = $stmt->fetch()['total'];

$stmt = $pdo->query("SELECT departamento, COUNT(*) as total FROM miembros GROUP BY departamento ORDER BY total DESC");
$departamentos = $stmt->fetchAll();

$stmt = $pdo->query("SELECT COUNT(*) as total FROM miembros WHERE MONTH(fecha_registro) = MONTH(CURDATE()) AND YEAR(fecha_registro) = YEAR(CURDATE())");
$nuevosMes = $stmt->fetch()['total'];
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exportar Miembros a Excel - RIPA Admin</title>
    <link rel="stylesheet" href="../css/style.css">
    <style>
        .export-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin: 30px 0;
        }
        
        .export-card {
            background: white;
            border-radius: 10px;
            padding: 25px;
            text-align: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
            cursor: pointer;
        }
        
        .export-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.15);
        }
        
        .export-icon {
            font-size: 64px;
            margin-bottom: 15px;
        }
        
        .export-title {
            font-size: 20px;
            font-weight: bold;
            color: #003366;
            margin-bottom: 10px;
        }
        
        .export-desc {
            color: #666;
            font-size: 14px;
            margin-bottom: 20px;
        }
        
        .btn-export {
            background: #28a745;
            color: white;
            padding: 10px 25px;
            border-radius: 5px;
            text-decoration: none;
            display: inline-block;
            transition: background 0.3s ease;
        }
        
        .btn-export:hover {
            background: #218838;
        }
        
        .stats-preview {
            background: #f8f9fa;
            padding: 20px;
            border-radius: 10px;
            margin-top: 30px;
        }
        
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-top: 15px;
        }
        
        .stat-item {
            text-align: center;
            padding: 15px;
            background: white;
            border-radius: 8px;
        }
        
        .stat-number {
            font-size: 28px;
            font-weight: bold;
            color: #003366;
        }
        
        .filter-section {
            background: #e3f2fd;
            padding: 20px;
            border-radius: 10px;
            margin-top: 20px;
        }
        
        .filter-buttons {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 15px;
        }
        
        .filter-btn {
            background: #fff;
            border: 1px solid #003366;
            color: #003366;
            padding: 8px 15px;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
        }
        
        .filter-btn:hover {
            background: #003366;
            color: white;
        }
    </style>
</head>
<body>
    <div class="container">
        <header>
            <h1>📊 Exportar Miembros a Excel</h1>
            <p>Genere reportes y planillas electrónicas de los miembros RIPA</p>
        </header>
        
        <nav>
            <a href="index.php">🏠 Inicio</a>
            <a href="miembros.php">📋 Gestionar Miembros</a>
            <a href="agregar_miembro.php">➕ Agregar Miembro</a>
            <a href="enviar_mensaje.php">📨 Enviar Mensaje</a>
            <a href="verificar_cumpleanos.php">🎂 Cumpleaños</a>
            <a href="exportar_excel.php">📊 Exportar Excel</a>
            <a href="../logout.php">🚪 Cerrar Sesión</a>
        </nav>
        
        <!-- Vista previa de estadísticas -->
        <div class="stats-preview">
            <h3>📈 Resumen de la Base de Datos</h3>
            <div class="stats-grid">
                <div class="stat-item">
                    <div class="stat-number"><?php echo $totalMiembros; ?></div>
                    <div>Total Miembros</div>
                </div>
                <div class="stat-item">
                    <div class="stat-number"><?php echo $nuevosMes; ?></div>
                    <div>Nuevos este Mes</div>
                </div>
                <div class="stat-item">
                    <div class="stat-number"><?php echo count($departamentos); ?></div>
                    <div>Departamentos</div>
                </div>
            </div>
        </div>
        
        <!-- Opciones de exportación -->
        <div class="export-options">
            <div class="export-card">
                <div class="export-icon">📊</div>
                <div class="export-title">Exportar Todos los Miembros</div>
                <div class="export-desc">
                    Genera un archivo Excel con todos los miembros registrados<br>
                    <strong><?php echo $totalMiembros; ?></strong> miembros disponibles
                </div>
                <a href="?exportar=1" class="btn-export">📥 Exportar Excel Completo</a>
            </div>
            
            <div class="export-card">
                <div class="export-icon">📅</div>
                <div class="export-title">Exportar por Departamento</div>
                <div class="export-desc">
                    Seleccione un departamento para exportar solo sus miembros
                </div>
                <select id="select_departamento" style="width: 80%; margin: 10px auto; padding: 8px; display: block;">
                    <option value="">Seleccione un departamento...</option>
                    <?php foreach ($departamentos as $depto): ?>
                    <option value="<?php echo htmlspecialchars($depto['departamento']); ?>">
                        <?php echo htmlspecialchars($depto['departamento']); ?> (<?php echo $depto['total']; ?>)
                    </option>
                    <?php endforeach; ?>
                </select>
                <button onclick="exportarPorDepartamento()" class="btn-export" style="background: #17a2b8;">
                    📥 Exportar por Departamento
                </button>
            </div>
            
            <div class="export-card">
                <div class="export-icon">🎂</div>
                <div class="export-title">Exportar Cumpleaños del Mes</div>
                <div class="export-desc">
                    Lista de miembros que cumplen años este mes
                </div>
                <button onclick="exportarCumpleanosMes()" class="btn-export" style="background: #ff9800;">
                    📥 Exportar Cumpleaños
                </button>
            </div>
        </div>
        
        <!-- Opciones de filtro adicionales -->
        <div class="filter-section">
            <h3>🔍 Exportar con Filtros Personalizados</h3>
            <div class="filter-buttons">
                <button onclick="exportarConFiltro('todos')" class="filter-btn">✅ Todos los miembros</button>
                <button onclick="exportarConFiltro('recientes')" class="filter-btn">🆕 Últimos 30 días</button>
                <button onclick="exportarConFiltro('sin_ubicacion')" class="filter-btn">📍 Sin ubicación</button>
                <button onclick="exportarConFiltro('con_ubicacion')" class="filter-btn">🗺️ Con ubicación</button>
                <button onclick="exportarConFiltro('whatsapp')" class="filter-btn">📱 Con WhatsApp</button>
            </div>
        </div>
        
        <!-- Tabla de vista previa -->
        <div style="margin-top: 30px;">
            <h3>👥 Últimos 10 Miembros Registrados</h3>
            <div style="overflow-x: auto;">
                <table style="width: 100%; margin-top: 15px;">
                    <thead>
                        <tr style="background: #003366; color: white;">
                            <th>ID</th>
                            <th>Nombre</th>
                            <th>Cédula</th>
                            <th>Teléfono</th>
                            <th>Departamento</th>
                            <th>Fecha Registro</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        $stmt = $pdo->query("SELECT id, nombre, apellido, cedula, telefono, departamento, fecha_registro FROM miembros ORDER BY fecha_registro DESC LIMIT 10");
                        while ($row = $stmt->fetch()):
                        ?>
                        <tr>
                            <td><?php echo $row['id']; ?></td>
                            <td><?php echo htmlspecialchars($row['nombre'] . ' ' . $row['apellido']); ?></td>
                            <td><?php echo $row['cedula']; ?></td>
                            <td><?php echo $row['telefono']; ?></td>
                            <td><?php echo htmlspecialchars($row['departamento']); ?></td>
                            <td><?php echo date('d/m/Y', strtotime($row['fecha_registro'])); ?></td>
                        </tr>
                        <?php endwhile; ?>
                    </tbody>
                </table>
            </div>
        </div>
        
        <!-- Instrucciones -->
        <div style="background: #fff3e0; padding: 15px; border-radius: 8px; margin-top: 20px;">
            <h4>💡 Información:</h4>
            <ul style="margin-left: 20px; color: #666;">
                <li>Los archivos se generan en formato Excel compatible con Microsoft Excel y LibreOffice Calc</li>
                <li>Los datos exportados incluyen: nombre, apellido, cédula, fecha de nacimiento, edad, teléfono, país, departamento, ciudad, coordenadas y fecha de registro</li>
                <li>Puede usar los filtros para obtener reportes específicos</li>
                <li>Los archivos se descargan automáticamente con el nombre "miembros_ripa_fecha.xls"</li>
            </ul>
        </div>
    </div>
    
    <script>
        function exportarPorDepartamento() {
            const departamento = document.getElementById('select_departamento').value;
            if (!departamento) {
                alert('Por favor, seleccione un departamento');
                return;
            }
            window.location.href = 'exportar_excel.php?exportar_departamento=' + encodeURIComponent(departamento);
        }
        
        function exportarCumpleanosMes() {
            window.location.href = 'exportar_excel.php?exportar_cumpleanos_mes=1';
        }
        
        function exportarConFiltro(tipo) {
            window.location.href = 'exportar_excel.php?filtro=' + tipo;
        }
    </script>
</body>
</html>