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
+3 -3
View File
@@ -78,13 +78,13 @@
</div>
<!--MODAL ABANDONAR SALA -->
<!-- Modal Confirmar Abandonar Sala -->
<div class="modal fade" id="modalAbandonarSala" tabindex="-1" aria-labelledby="modalAbandonarSalaLabel" aria-hidden="true">
<div class="modal fade" id="modalAbandonarSala" tabindex="-1" aria-labelledby="modalAbandonarSalaLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content modal-kahoot text-center p-3">
<div class="modal-body">
<div class="mb-3 fs-1">⚠️</div>
<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 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">
@@ -96,7 +96,7 @@
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="js/jquery-4.0.0.min.js"></script>
+28 -74
View File
@@ -60,6 +60,7 @@ class EquipoxUsuario
];
}
}
public function obtenerSalaUsuario($idUsuario)
{
$conexion = conexionBD();
@@ -128,15 +129,10 @@ class EquipoxUsuario
try {
// 1. Averiguamos el equipo y la partida del usuario
$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";
$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";
$consulta = $conexion->prepare($sql);
$consulta->bindParam(
':idUsuario',
$idUsuario,
PDO::PARAM_INT
);
$consulta->bindParam(':idUsuario',$idUsuario, PDO::PARAM_INT);
$consulta->execute();
$datosSala = $consulta->fetch(PDO::FETCH_ASSOC);
@@ -164,18 +160,10 @@ class EquipoxUsuario
* Obtenemos todos los equipos pertenecientes
* a esta partida.
*/
$sqlEquipos = "
SELECT idEquipo
FROM equipoxpartida
WHERE idPartida = :idPartida
";
$sqlEquipos = "SELECT idEquipo FROM equipoxpartida WHERE idPartida = :idPartida";
$consultaEquipos = $conexion->prepare($sqlEquipos);
$consultaEquipos->bindParam(
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$consultaEquipos->bindParam(':idPartida', $idPartida, PDO::PARAM_INT);
$consultaEquipos->execute();
$equipos = $consultaEquipos->fetchAll(PDO::FETCH_COLUMN);
@@ -186,15 +174,9 @@ class EquipoxUsuario
*/
if (!empty($equipos)) {
$placeholders = implode(
',',
array_fill(0, count($equipos), '?')
);
$placeholders = implode(',', array_fill(0, count($equipos), '?'));
$sqlUsuarios = "
DELETE FROM equipoxusuario
WHERE idEquipo IN ($placeholders)
";
$sqlUsuarios = "DELETE FROM equipoxusuario WHERE idEquipo IN ($placeholders)";
$consultaUsuarios = $conexion->prepare($sqlUsuarios);
$consultaUsuarios->execute($equipos);
@@ -204,21 +186,10 @@ class EquipoxUsuario
* 4. Eliminamos las relaciones
* entre equipos y partida.
*/
$sqlEquipoxPartida = "
DELETE FROM equipoxpartida
WHERE idPartida = :idPartida
";
$consultaEquipoxPartida = $conexion->prepare(
$sqlEquipoxPartida
);
$consultaEquipoxPartida->bindParam(
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$sqlEquipoxPartida = "DELETE FROM equipoxpartida WHERE idPartida = :idPartida";
$consultaEquipoxPartida = $conexion->prepare($sqlEquipoxPartida);
$consultaEquipoxPartida->bindParam(':idPartida', $idPartida,PDO::PARAM_INT);
$consultaEquipoxPartida->execute();
/*
@@ -229,38 +200,30 @@ class EquipoxUsuario
*/
if (!empty($equipos)) {
$placeholders = implode(
',',
array_fill(0, count($equipos), '?')
);
$sqlEliminarEquipos = "
DELETE FROM equipo
WHERE idEquipo IN ($placeholders)
";
$consultaEliminarEquipos =
$conexion->prepare($sqlEliminarEquipos);
$placeholders = implode(',', array_fill(0, count($equipos), '?'));
$sqlEliminarEquipos = "DELETE FROM equipo WHERE idEquipo IN ($placeholders)";
$consultaEliminarEquipos = $conexion->prepare($sqlEliminarEquipos);
$consultaEliminarEquipos->execute($equipos);
}
/*
* 6. Finalmente eliminamos la partida.
* 6. Eliminamos las relaciones
* entre preguntas y partida.
*/
$sqlPartida = "
DELETE FROM partida
WHERE idPartida = :idPartida
";
$sqlPartidaxPregunta = "DELETE FROM partidaxpregunta 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->bindParam(
':idPartida',
$idPartida,
PDO::PARAM_INT
);
$consultaPartida->bindParam(':idPartida', $idPartida, PDO::PARAM_INT);
$consultaPartida->execute();
// Todo ha ido correctamente
@@ -277,19 +240,10 @@ class EquipoxUsuario
* 7. Si NO es el host, simplemente abandona
* su relación con el equipo.
*/
$sqlSalir = "
DELETE FROM equipoxusuario
WHERE idUsuario = :idUsuario
";
$sqlSalir = "DELETE FROM equipoxusuario WHERE idUsuario = :idUsuario";
$consultaSalir = $conexion->prepare($sqlSalir);
$consultaSalir->bindParam(
':idUsuario',
$idUsuario,
PDO::PARAM_INT
);
$consultaSalir->bindParam(':idUsuario', $idUsuario, PDO::PARAM_INT);
$consultaSalir->execute();
$conexion->commit();