<?php
/**
 * ACTUALIZAR CONTADORES
 * 
 * Este script procesa las acciones de incrementar o reiniciar contadores.
 * Luego registra la pulsación en la tabla "pulsaciones".
 */

require_once 'config/conexion.php';
session_start();

// Verificar que se recibió el formulario por POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
    // Obtener datos del formulario
    $id_contador = isset($_POST['id_contador']) ? (int)$_POST['id_contador'] : 0;
    $accion = isset($_POST['accion']) ? $_POST['accion'] : '';
    
    // Validar que se recibieron datos válidos
    if ($id_contador > 0 && in_array($accion, ['incrementar', 'reiniciar'])) {
        
        // Obtener información del contador
        $sql_info = "SELECT nombre FROM contadores WHERE id = ?";
        $stmt_info = $conexion->prepare($sql_info);
        $stmt_info->bind_param("i", $id_contador);
        $stmt_info->execute();
        $resultado_info = $stmt_info->get_result();
        
        if ($resultado_info->num_rows > 0) {
            $info_contador = $resultado_info->fetch_assoc();
            $nombre_persona = $info_contador['nombre'];
            
            // Ejecutar la acción correspondiente
            if ($accion === 'incrementar') {
                // Incrementar el contador en 1
                $sql_update = "UPDATE contadores 
                              SET contador = contador + 1, 
                                  ultima_pulsacion = NOW() 
                              WHERE id = ?";
            } else {
                // Reiniciar el contador a 0
                $sql_update = "UPDATE contadores 
                              SET contador = 0, 
                                  ultima_pulsacion = NOW() 
                              WHERE id = ?";
            }
            
            $stmt_update = $conexion->prepare($sql_update);
            $stmt_update->bind_param("i", $id_contador);
            
            if ($stmt_update->execute()) {
                
                // Registrar la pulsación en la tabla "pulsaciones"
                $ip_usuario = $_SERVER['REMOTE_ADDR'];
                $user_agent = $_SERVER['HTTP_USER_AGENT'];
                
                $sql_pulsacion = "INSERT INTO pulsaciones 
                                 (nombre_persona, fecha_hora, ip_usuario, user_agent) 
                                 VALUES (?, NOW(), ?, ?)";
                
                $stmt_pulsacion = $conexion->prepare($sql_pulsacion);
                $stmt_pulsacion->bind_param("sss", $nombre_persona, $ip_usuario, $user_agent);
                $stmt_pulsacion->execute();
                $stmt_pulsacion->close();
                
                $_SESSION['mensaje'] = "✅ Contador actualizado correctamente.";
            } else {
                $_SESSION['mensaje'] = "❌ Error al actualizar el contador.";
            }
            
            $stmt_update->close();
        }
        
        $stmt_info->close();
    }
}

// Redirigir de vuelta al dashboard
header('Location: index.php');
exit;
?>