Eliminar Sala (Se ejecuta cuando el host abandona la sala)
He modificado salirDeSala() de ClaseEquipoxUsuario.php
This commit is contained in:
+3
-3
@@ -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>
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user