Eliminar Sala (Se ejecuta cuando el host abandona la sala)
He modificado salirDeSala() de ClaseEquipoxUsuario.php
This commit is contained in:
+16
-16
@@ -78,25 +78,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<!--MODAL ABANDONAR SALA -->
|
<!--MODAL ABANDONAR SALA -->
|
||||||
<!-- Modal Confirmar 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-dialog modal-dialog-centered">
|
||||||
<div class="modal-content modal-kahoot text-center p-3">
|
<div class="modal-content modal-kahoot text-center p-3">
|
||||||
<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">
|
||||||
Cancelar
|
Cancelar
|
||||||
</button>
|
</button>
|
||||||
<button type="button" id="btnConfirmarAbandonar" class="btn btn-danger px-4 py-2">
|
<button type="button" id="btnConfirmarAbandonar" class="btn btn-danger px-4 py-2">
|
||||||
Sí, salir
|
Sí, salir
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</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="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>
|
<script src="js/jquery-4.0.0.min.js"></script>
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user