Host2 #11

Merged
jorge merged 3 commits from host2 into main 2026-09-29 13:12:05 +02:00
2 changed files with 45 additions and 91 deletions
Showing only changes of commit 534c20a45d - Show all commits
+1 -1
View File
@@ -84,7 +84,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="mb-3 fs-1">⚠️</div> <div class="mb-3 fs-1">⚠️</div>
<h4 class="modal-title mb-2 fw-bold" id="modalAbandonarSalaLabel">¿Abandonar la sala?</h4> <h4 class="modal-title mb-2 fw-bold" id="modalAbandonarSalaLabel">¿Abandonar la sala?</h4>
<p class="text-dark-50">Si sales de la sala, perderás tu lugar en el equipo.</p> <p class="text-dark-50" id="modalAbandonarSalaMensaje">Si sales de la sala, perderás tu lugar en el equipo.</p>
</div> </div>
<div class="modal-footer justify-content-center border-0 gap-2"> <div class="modal-footer justify-content-center border-0 gap-2">
<button type="button" class="btn btn-secondary px-4 py-2" data-bs-dismiss="modal"> <button type="button" class="btn btn-secondary px-4 py-2" data-bs-dismiss="modal">
+28 -74
View File
@@ -60,6 +60,7 @@ class EquipoxUsuario
]; ];
} }
} }
public function obtenerSalaUsuario($idUsuario) public function obtenerSalaUsuario($idUsuario)
{ {
$conexion = conexionBD(); $conexion = conexionBD();
@@ -128,15 +129,10 @@ class EquipoxUsuario
try { try {
// 1. Averiguamos el equipo y la partida del usuario // 1. Averiguamos el equipo y la partida del usuario
$sql = " $sql = "SELECT exu.idEquipo, exp.idPartida, p.idUsuario AS idHost FROM equipoxusuario exu INNER JOIN equipoxpartida exp ON exu.idEquipo = exp.idEquipo INNER JOIN partida p ON exp.idPartida = p.idPartida WHERE exu.idUsuario = :idUsuario LIMIT 1";
SELECT exu.idEquipo, exp.idPartida, p.idUsuario AS idHost FROM equipoxusuario exu INNER JOIN equipoxpartida exp ON exu.idEquipo = exp.idEquipo INNER JOIN partida p ON exp.idPartida = p.idPartida WHERE exu.idUsuario = :idUsuario LIMIT 1";
$consulta = $conexion->prepare($sql); $consulta = $conexion->prepare($sql);
$consulta->bindParam( $consulta->bindParam(':idUsuario',$idUsuario, PDO::PARAM_INT);
':idUsuario',
$idUsuario,
PDO::PARAM_INT
);
$consulta->execute(); $consulta->execute();
$datosSala = $consulta->fetch(PDO::FETCH_ASSOC); $datosSala = $consulta->fetch(PDO::FETCH_ASSOC);
@@ -164,18 +160,10 @@ class EquipoxUsuario
* Obtenemos todos los equipos pertenecientes * Obtenemos todos los equipos pertenecientes
* a esta partida. * a esta partida.
*/ */
$sqlEquipos = " $sqlEquipos = "SELECT idEquipo FROM equipoxpartida WHERE idPartida = :idPartida";
SELECT idEquipo
FROM equipoxpartida
WHERE idPartida = :idPartida
";
$consultaEquipos = $conexion->prepare($sqlEquipos); $consultaEquipos = $conexion->prepare($sqlEquipos);
$consultaEquipos->bindParam( $consultaEquipos->bindParam(':idPartida', $idPartida, PDO::PARAM_INT);
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$consultaEquipos->execute(); $consultaEquipos->execute();
$equipos = $consultaEquipos->fetchAll(PDO::FETCH_COLUMN); $equipos = $consultaEquipos->fetchAll(PDO::FETCH_COLUMN);
@@ -186,15 +174,9 @@ class EquipoxUsuario
*/ */
if (!empty($equipos)) { if (!empty($equipos)) {
$placeholders = implode( $placeholders = implode(',', array_fill(0, count($equipos), '?'));
',',
array_fill(0, count($equipos), '?')
);
$sqlUsuarios = " $sqlUsuarios = "DELETE FROM equipoxusuario WHERE idEquipo IN ($placeholders)";
DELETE FROM equipoxusuario
WHERE idEquipo IN ($placeholders)
";
$consultaUsuarios = $conexion->prepare($sqlUsuarios); $consultaUsuarios = $conexion->prepare($sqlUsuarios);
$consultaUsuarios->execute($equipos); $consultaUsuarios->execute($equipos);
@@ -204,21 +186,10 @@ class EquipoxUsuario
* 4. Eliminamos las relaciones * 4. Eliminamos las relaciones
* entre equipos y partida. * entre equipos y partida.
*/ */
$sqlEquipoxPartida = " $sqlEquipoxPartida = "DELETE FROM equipoxpartida WHERE idPartida = :idPartida";
DELETE FROM equipoxpartida
WHERE idPartida = :idPartida
";
$consultaEquipoxPartida = $conexion->prepare(
$sqlEquipoxPartida
);
$consultaEquipoxPartida->bindParam(
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$consultaEquipoxPartida = $conexion->prepare($sqlEquipoxPartida);
$consultaEquipoxPartida->bindParam(':idPartida', $idPartida,PDO::PARAM_INT);
$consultaEquipoxPartida->execute(); $consultaEquipoxPartida->execute();
/* /*
@@ -229,38 +200,30 @@ class EquipoxUsuario
*/ */
if (!empty($equipos)) { if (!empty($equipos)) {
$placeholders = implode( $placeholders = implode(',', array_fill(0, count($equipos), '?'));
',',
array_fill(0, count($equipos), '?')
);
$sqlEliminarEquipos = "
DELETE FROM equipo
WHERE idEquipo IN ($placeholders)
";
$consultaEliminarEquipos =
$conexion->prepare($sqlEliminarEquipos);
$sqlEliminarEquipos = "DELETE FROM equipo WHERE idEquipo IN ($placeholders)";
$consultaEliminarEquipos = $conexion->prepare($sqlEliminarEquipos);
$consultaEliminarEquipos->execute($equipos); $consultaEliminarEquipos->execute($equipos);
} }
/* /*
* 6. Finalmente eliminamos la partida. * 6. Eliminamos las relaciones
* entre preguntas y partida.
*/ */
$sqlPartida = " $sqlPartidaxPregunta = "DELETE FROM partidaxpregunta WHERE idPartida = :idPartida";
DELETE FROM partida
WHERE idPartida = :idPartida $consultaPartidaxPregunta = $conexion->prepare($sqlPartidaxPregunta);
"; $consultaPartidaxPregunta->bindParam(':idPartida', $idPartida, PDO::PARAM_INT);
$consultaPartidaxPregunta->execute();
/*
* 7. Finalmente eliminamos la partida.
*/
$sqlPartida = "DELETE FROM partida WHERE idPartida = :idPartida";
$consultaPartida = $conexion->prepare($sqlPartida); $consultaPartida = $conexion->prepare($sqlPartida);
$consultaPartida->bindParam(':idPartida', $idPartida, PDO::PARAM_INT);
$consultaPartida->bindParam(
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$consultaPartida->execute(); $consultaPartida->execute();
// Todo ha ido correctamente // Todo ha ido correctamente
@@ -277,19 +240,10 @@ class EquipoxUsuario
* 7. Si NO es el host, simplemente abandona * 7. Si NO es el host, simplemente abandona
* su relación con el equipo. * su relación con el equipo.
*/ */
$sqlSalir = " $sqlSalir = "DELETE FROM equipoxusuario WHERE idUsuario = :idUsuario";
DELETE FROM equipoxusuario
WHERE idUsuario = :idUsuario
";
$consultaSalir = $conexion->prepare($sqlSalir); $consultaSalir = $conexion->prepare($sqlSalir);
$consultaSalir->bindParam(':idUsuario', $idUsuario, PDO::PARAM_INT);
$consultaSalir->bindParam(
':idUsuario',
$idUsuario,
PDO::PARAM_INT
);
$consultaSalir->execute(); $consultaSalir->execute();
$conexion->commit(); $conexion->commit();