1ra Versión

This commit is contained in:
MarcosFlorSalcedo
2026-07-14 18:24:27 -03:00
commit 8ec55e40fc
86 changed files with 15839 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
<?php
header('Content-Type: application/json');
require_once 'conexion.php';
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
echo json_encode(['success' => false, 'error' => 'Método no permitido.']);
exit;
}
$idReserva = isset($_POST['id_reserva']) ? intval($_POST['id_reserva']) : 0;
if ($idReserva === 0 || !isset($_FILES['comprobante'])) {
echo json_encode(['success' => false, 'error' => 'Faltan datos obligatorios.']);
exit;
}
$file = $_FILES['comprobante'];
$ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
$allowed = ['jpg', 'jpeg', 'png'];
// Validar extensión
if (!in_array($ext, $allowed)) {
echo json_encode(['success' => false, 'error' => 'Formato no permitido. Solo JPG, JPEG o PNG.']);
exit;
}
// Definir rutas
$nombreArchivo = "reserva_" . $idReserva . "_" . time() . "." . $ext;
$carpetaDestino = "C:\\xampp\\htdocs\\TP-Taller\\ProyectoTaller\\uploads\\comprobantes\\";
$rutaCompleta = $carpetaDestino . $nombreArchivo;
// Mover el archivo al servidor
if (move_uploaded_file($file['tmp_name'], $rutaCompleta)) {
// Actualizar la base de datos con el nombre del archivo
$stmt = $conexion->prepare("UPDATE reservas SET Comprobante = ? WHERE ID_Reserva = ?");
$stmt->bind_param('si', $nombreArchivo, $idReserva);
$stmt->execute();
if ($stmt->affected_rows > 0) {
// --- NOTIFICACIÓN AL ADMINISTRADOR DE CANCHAS ---
// 1. Buscamos el teléfono del usuario con rol 'cancha'
$resUser = $conexion->query("SELECT Telefono FROM usuarios WHERE Rol = 'cancha' LIMIT 1");
if ($resUser && $resUser->num_rows > 0) {
$admin = $resUser->fetch_assoc();
$telefonoAdmin = $admin['Telefono']; // Ej: "549343..."
// 2. Limpiamos el formato del teléfono del administrador
$telefonoLimpio = preg_replace('/[^0-9]/', '', $telefonoAdmin);
// 3. Armamos el mensaje con un link directo para que el admin vea la foto desde su celular
// Nota: Cuando pases el sistema a producción, reemplaza 'localhost' por tu IP pública o dominio
$urlFoto = "http://localhost/TP-Taller/ProyectoTaller/uploads/comprobantes/" . $nombreArchivo;
$mensaje = "Alerta: Se ha subido un comprobante para la Reserva #$idReserva. Ver foto aquí: $urlFoto";
// 4. Llamamos al bot de Python de forma asíncrona para no trabar la pantalla del cliente
$scriptPython = "C:\\xampp\\htdocs\\TP-Taller\\ProyectoTaller\\python\\Enviar_WSP.py";
$comando = "start /B python \"$scriptPython\" $telefonoLimpio \"$mensaje\"";
pclose(popen($comando, "r"));
}
echo json_encode(['success' => true, 'message' => 'Comprobante subido y administrador notificado.']);
} else {
echo json_encode(['success' => false, 'error' => 'No se encontró la reserva para actualizar.']);
}
$stmt->close();
} else {
echo json_encode(['success' => false, 'error' => 'No se pudo guardar el archivo en el servidor.']);
}
$conexion->close();
?>