<?php
ini_set('display_errors', 0);
//date_default_timezone_set('Europe/Madrid');
/**
 * Includes
 */
require_once '../config.php';
require_once DIRLIBCOMP . 'SPDO.php';
require_once DIRLIBCOMP . 'registro_logs.php';
$conexion = new SPDO(BDENGINE, BDHOST, BDDATABASE, BDUSER, BDPASS);

// Implementar validaciones
$sql_localizador = "SELECT localizador.fecha_compra, localizador.tipo_pago 
                    FROM localizadores localizador
                    WHERE localizador.localizador = :localizador ";

$query_localizador = $conexion->prepare($sql_localizador);
$query_localizador->execute(array(':localizador' => $_POST['localizador']));

$invalido = false;
if ($query_localizador->rowCount() > 0) {
    $localizador = $query_localizador->fetch();

    if(!in_array($localizador['tipo_pago'], array(37, 38))){
        if (strtotime($localizador['fecha_compra'] . ' +20 minutes') < time()) {
            $invalido = true;

            /*** REGISTRO LOGS  ****/
            $sentencia = "LOCALIZADOR - " . $_POST['localizador'] . " - Sesión caducada";
            Insertar_Sentencia($sentencia, 'compra');
        }
    }

    if (!$invalido && $_POST['CecaTpv']) {
        $sql_update_reserva = "UPDATE localizadores SET estado = 'pasarela' WHERE localizador = '" . $_POST['localizador'] . "' and estado <> 'pagado'";

        /*** REGISTRO LOGS  ****/
        $sentencia = "LOCALIZADOR - " . $_POST['localizador'] . " - Ha cambiado de estado: pasarela";
        Insertar_Sentencia($sentencia, 'compra');

        if (!$conexion->exec($sql_update_reserva)) {
            $invalido = true;
        }
    }
} else {
    $invalido = true;
}

echo $invalido ? json_encode(0) : json_encode(1);
