crear sala (crear clase EquipoxPartida y modificar controladorPartida)
This commit is contained in:
@@ -66,6 +66,7 @@
|
|||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
<!-- Modal Crear Sala -->
|
||||||
<div
|
<div
|
||||||
class="modal fade"
|
class="modal fade"
|
||||||
id="modalCrearSala"
|
id="modalCrearSala"
|
||||||
|
|||||||
+38
-33
@@ -2,38 +2,45 @@
|
|||||||
require_once __DIR__ . '/../includes/conexionBD.php';
|
require_once __DIR__ . '/../includes/conexionBD.php';
|
||||||
|
|
||||||
|
|
||||||
class Equipo{
|
class Equipo
|
||||||
|
{
|
||||||
|
|
||||||
public $idEquipo;
|
public $idEquipo;
|
||||||
public $nombreEquipo;
|
public $nombreEquipo;
|
||||||
|
|
||||||
function __construct($idEquipo=null, $nombreEquipo=null){
|
function __construct($idEquipo = null, $nombreEquipo = null)
|
||||||
|
{
|
||||||
$this->idEquipo = $idEquipo;
|
$this->idEquipo = $idEquipo;
|
||||||
$this->nombreEquipo = $nombreEquipo;
|
$this->nombreEquipo = $nombreEquipo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function crear(){
|
function crear()
|
||||||
|
{
|
||||||
$conexion = conexionBD();
|
$conexion = conexionBD();
|
||||||
|
|
||||||
if(is_array($conexion)){
|
if (is_array($conexion)) {
|
||||||
return $conexion;
|
return $conexion;
|
||||||
}else{
|
} else {
|
||||||
try{
|
try {
|
||||||
$consulta = $conexion->prepare("INSERT INTO equipo (nombreEquipo) VALUES (:nombreEquipo)");
|
$consulta = $conexion->prepare(
|
||||||
|
"INSERT INTO equipo (nombreEquipo) VALUES (:nombreEquipo)"
|
||||||
|
);
|
||||||
|
|
||||||
$consulta->bindParam(':nombreEquipo', $this->nombreEquipo);
|
$consulta->bindParam(':nombreEquipo', $this->nombreEquipo);
|
||||||
|
|
||||||
$consulta->execute();
|
$consulta->execute();
|
||||||
|
|
||||||
|
// Guardamos el ID generado por la BD
|
||||||
|
$this->idEquipo = (int)$conexion->lastInsertId();
|
||||||
|
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'exito' => 'Equipo creado correctamente',
|
'exito' => 'Equipo creado correctamente',
|
||||||
'exito_tecnico' => $this->nombreEquipo
|
'exito_tecnico' => $this->idEquipo
|
||||||
];
|
];
|
||||||
|
|
||||||
return $respuesta;
|
return $respuesta;
|
||||||
|
} catch (PDOException $error) {
|
||||||
}catch(PDOException $error){
|
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'error' => 'Ocurrió un error al guardar el equipo.',
|
'error' => 'Ocurrió un error al guardar el equipo.',
|
||||||
'error_tecnico' => $error->getMessage()
|
'error_tecnico' => $error->getMessage()
|
||||||
@@ -46,13 +53,15 @@ class Equipo{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function listar(){
|
|
||||||
|
function listar()
|
||||||
|
{
|
||||||
$conexion = conexionBD();
|
$conexion = conexionBD();
|
||||||
|
|
||||||
if(is_array($conexion)){
|
if (is_array($conexion)) {
|
||||||
return $conexion;
|
return $conexion;
|
||||||
}else{
|
} else {
|
||||||
try{
|
try {
|
||||||
$sql = 'SELECT * FROM equipo';
|
$sql = 'SELECT * FROM equipo';
|
||||||
|
|
||||||
$consulta = $conexion->prepare($sql);
|
$consulta = $conexion->prepare($sql);
|
||||||
@@ -61,8 +70,7 @@ class Equipo{
|
|||||||
$resultado = $consulta->fetchAll(PDO::FETCH_ASSOC);
|
$resultado = $consulta->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
return $resultado;
|
return $resultado;
|
||||||
|
} catch (PDOException $error) {
|
||||||
}catch(PDOException $error){
|
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'error' => 'Ocurrió un error al obtener el listado de equipos.',
|
'error' => 'Ocurrió un error al obtener el listado de equipos.',
|
||||||
'error_tecnico' => $error->getMessage()
|
'error_tecnico' => $error->getMessage()
|
||||||
@@ -75,13 +83,14 @@ class Equipo{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function buscar(){
|
function buscar()
|
||||||
|
{
|
||||||
$conexion = conexionBD();
|
$conexion = conexionBD();
|
||||||
|
|
||||||
if(is_array($conexion)){
|
if (is_array($conexion)) {
|
||||||
return $conexion;
|
return $conexion;
|
||||||
}else{
|
} else {
|
||||||
try{
|
try {
|
||||||
$consulta = $conexion->prepare("SELECT * FROM equipo WHERE idEquipo = :idEquipo");
|
$consulta = $conexion->prepare("SELECT * FROM equipo WHERE idEquipo = :idEquipo");
|
||||||
|
|
||||||
$consulta->bindParam(':idEquipo', $this->idEquipo);
|
$consulta->bindParam(':idEquipo', $this->idEquipo);
|
||||||
@@ -91,8 +100,7 @@ class Equipo{
|
|||||||
$resultado = $consulta->fetch(PDO::FETCH_ASSOC);
|
$resultado = $consulta->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
return $resultado;
|
return $resultado;
|
||||||
|
} catch (PDOException $error) {
|
||||||
}catch(PDOException $error){
|
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'error' => 'Ocurrió un error al buscar el equipo.',
|
'error' => 'Ocurrió un error al buscar el equipo.',
|
||||||
'error_tecnico' => $error->getMessage()
|
'error_tecnico' => $error->getMessage()
|
||||||
@@ -105,25 +113,26 @@ class Equipo{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function borrar(){
|
function borrar()
|
||||||
|
{
|
||||||
$conexion = conexionBD();
|
$conexion = conexionBD();
|
||||||
|
|
||||||
if(is_array($conexion)){
|
if (is_array($conexion)) {
|
||||||
return $conexion;
|
return $conexion;
|
||||||
}else{
|
} else {
|
||||||
try{
|
try {
|
||||||
$consulta = $conexion->prepare("DELETE FROM equipo WHERE idEquipo = :idEquipo");
|
$consulta = $conexion->prepare("DELETE FROM equipo WHERE idEquipo = :idEquipo");
|
||||||
|
|
||||||
$consulta->bindParam(':idEquipo', $this->idEquipo);
|
$consulta->bindParam(':idEquipo', $this->idEquipo);
|
||||||
|
|
||||||
$consulta->execute();
|
$consulta->execute();
|
||||||
|
|
||||||
if($consulta->rowCount() > 0){
|
if ($consulta->rowCount() > 0) {
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'exito' => 'Se eliminó correctamente el equipo',
|
'exito' => 'Se eliminó correctamente el equipo',
|
||||||
'exito_tecnico' => $this->idEquipo
|
'exito_tecnico' => $this->idEquipo
|
||||||
];
|
];
|
||||||
}else{
|
} else {
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'error' => 'No existe ningún equipo con ese ID.',
|
'error' => 'No existe ningún equipo con ese ID.',
|
||||||
'error_tecnico' => $this->idEquipo
|
'error_tecnico' => $this->idEquipo
|
||||||
@@ -131,8 +140,7 @@ class Equipo{
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $respuesta;
|
return $respuesta;
|
||||||
|
} catch (PDOException $error) {
|
||||||
}catch(PDOException $error){
|
|
||||||
$respuesta = [
|
$respuesta = [
|
||||||
'error' => 'Ocurrió un error al eliminar el equipo.',
|
'error' => 'Ocurrió un error al eliminar el equipo.',
|
||||||
'error_tecnico' => $error
|
'error_tecnico' => $error
|
||||||
@@ -143,7 +151,4 @@ class Equipo{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../includes/conexionBD.php';
|
||||||
|
|
||||||
|
class EquipoxPartida
|
||||||
|
{
|
||||||
|
public $idEquipoxPartida;
|
||||||
|
public $idEquipo;
|
||||||
|
public $idPartida;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
$idEquipoxPartida = null,
|
||||||
|
$idEquipo = null,
|
||||||
|
$idPartida = null
|
||||||
|
) {
|
||||||
|
$this->idEquipoxPartida = $idEquipoxPartida;
|
||||||
|
$this->idEquipo = $idEquipo;
|
||||||
|
$this->idPartida = $idPartida;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function insertar()
|
||||||
|
{
|
||||||
|
$conexion = conexionBD();
|
||||||
|
|
||||||
|
if (is_array($conexion)) {
|
||||||
|
return $conexion;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$sql = "
|
||||||
|
INSERT INTO equipoxpartida
|
||||||
|
(idEquipo, idPartida)
|
||||||
|
VALUES
|
||||||
|
(:idEquipo, :idPartida)
|
||||||
|
";
|
||||||
|
|
||||||
|
$consulta = $conexion->prepare($sql);
|
||||||
|
|
||||||
|
$consulta->bindParam(':idEquipo', $this->idEquipo);
|
||||||
|
$consulta->bindParam(':idPartida', $this->idPartida);
|
||||||
|
|
||||||
|
$consulta->execute();
|
||||||
|
|
||||||
|
$this->idEquipoxPartida = (int)$conexion->lastInsertId();
|
||||||
|
|
||||||
|
return [
|
||||||
|
'exito' => 'Equipo vinculado a la partida correctamente.',
|
||||||
|
'exito_tecnico' => $this->idEquipoxPartida
|
||||||
|
];
|
||||||
|
|
||||||
|
} catch (PDOException $error) {
|
||||||
|
|
||||||
|
return [
|
||||||
|
'error' => 'Ocurrió un error al vincular el equipo con la partida.',
|
||||||
|
'error_tecnico' => $error->getMessage()
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,11 +3,9 @@
|
|||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
require_once '../clases/ClasePartida.php';
|
require_once '../clases/ClasePartida.php';
|
||||||
|
require_once '../clases/ClaseEquipo.php';
|
||||||
|
require_once '../clases/ClaseEquipoxUsuario.php';
|
||||||
|
require_once '../clases/ClaseEquipoxPartida.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch ($_POST['orden']) {
|
switch ($_POST['orden']) {
|
||||||
@@ -22,7 +20,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($listadoPartidas);
|
echo json_encode($listadoPartidas);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -46,15 +44,14 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case 'crear':
|
case 'crear':
|
||||||
|
|
||||||
//Comprobamos que haya un usuario conectado
|
// Comprobamos que haya un usuario conectado
|
||||||
|
|
||||||
|
|
||||||
if (!isset($_SESSION['idUsuario'])) {
|
if (!isset($_SESSION['idUsuario'])) {
|
||||||
|
|
||||||
@@ -66,9 +63,7 @@ switch ($_POST['orden']) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Comprobamos el nombre de la partida
|
||||||
//Comprobamos que se haya introducido un nombre
|
|
||||||
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!isset($_POST['nombrePartida']) ||
|
!isset($_POST['nombrePartida']) ||
|
||||||
@@ -83,26 +78,155 @@ switch ($_POST['orden']) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Comprobamos los nombres de los equipos
|
||||||
|
|
||||||
|
if (
|
||||||
|
!isset($_POST['nombreEquipo1']) ||
|
||||||
|
trim($_POST['nombreEquipo1']) === '' ||
|
||||||
|
!isset($_POST['nombreEquipo2']) ||
|
||||||
|
trim($_POST['nombreEquipo2']) === ''
|
||||||
|
) {
|
||||||
|
|
||||||
|
echo json_encode([
|
||||||
|
'error' => 'Los nombres de los equipos son obligatorios.'
|
||||||
|
]);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Creamos la partida
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* 1. CREAMOS LA PARTIDA
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
$partida = new Partida();
|
$partida = new Partida();
|
||||||
|
|
||||||
$partida->nombrePartida = trim($_POST['nombrePartida']);
|
$partida->nombrePartida = trim($_POST['nombrePartida']);
|
||||||
|
|
||||||
|
// El usuario conectado será el propietario
|
||||||
//El usuario conectado será el propietario de la partida.
|
|
||||||
|
|
||||||
$partida->idUsuario = $_SESSION['idUsuario'];
|
$partida->idUsuario = $_SESSION['idUsuario'];
|
||||||
|
|
||||||
|
$resultadoPartida = $partida->insertar();
|
||||||
|
|
||||||
$resultado = $partida->insertar();
|
|
||||||
|
|
||||||
echo json_encode($resultado);
|
if (isset($resultadoPartida['error'])) {
|
||||||
|
|
||||||
|
echo json_encode($resultadoPartida);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$idPartida = (int)$resultadoPartida['exito_tecnico'];
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* 2. CREAMOS EL EQUIPO 1
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
$equipo1 = new Equipo();
|
||||||
|
|
||||||
|
$equipo1->nombreEquipo = trim($_POST['nombreEquipo1']);
|
||||||
|
|
||||||
|
$resultadoEquipo1 = $equipo1->crear();
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($resultadoEquipo1['error'])) {
|
||||||
|
|
||||||
|
echo json_encode($resultadoEquipo1);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* 3. CREAMOS EL EQUIPO 2
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
$equipo2 = new Equipo();
|
||||||
|
|
||||||
|
$equipo2->nombreEquipo = trim($_POST['nombreEquipo2']);
|
||||||
|
|
||||||
|
$resultadoEquipo2 = $equipo2->crear();
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($resultadoEquipo2['error'])) {
|
||||||
|
|
||||||
|
echo json_encode($resultadoEquipo2);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* 3. INSERTAMOS LOS EQUIPOS CON SU PARTIDA EN EQUIPOXPARTIDA
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
$relacionEquipo1 = new EquipoxPartida(
|
||||||
|
null,
|
||||||
|
$equipo1->idEquipo,
|
||||||
|
$idPartida
|
||||||
|
);
|
||||||
|
|
||||||
|
$resultadoRelacion1 = $relacionEquipo1->insertar();
|
||||||
|
|
||||||
|
|
||||||
|
$relacionEquipo2 = new EquipoxPartida(
|
||||||
|
null,
|
||||||
|
$equipo2->idEquipo,
|
||||||
|
$idPartida
|
||||||
|
);
|
||||||
|
|
||||||
|
$resultadoRelacion2 = $relacionEquipo2->insertar();
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* 4. ASIGNAMOS EL USUARIO AL EQUIPO 1
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
$usuarioEquipo = new EquipoxUsuario(
|
||||||
|
null,
|
||||||
|
$_SESSION['idUsuario'],
|
||||||
|
$equipo1->idEquipo
|
||||||
|
);
|
||||||
|
|
||||||
|
$resultadoUsuarioEquipo =
|
||||||
|
$usuarioEquipo->registrarUsuarioEnEquipo();
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($resultadoUsuarioEquipo['error'])) {
|
||||||
|
|
||||||
|
echo json_encode($resultadoUsuarioEquipo);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ==========================================
|
||||||
|
* TODO CORRECTO
|
||||||
|
* ==========================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo json_encode([
|
||||||
|
'exito' => 'Sala creada correctamente.',
|
||||||
|
'idPartida' => $resultadoPartida['exito_tecnico'],
|
||||||
|
'idEquipo1' => $equipo1->idEquipo,
|
||||||
|
'idEquipo2' => $equipo2->idEquipo
|
||||||
|
]);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -189,7 +313,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -259,7 +383,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -284,7 +408,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -309,7 +433,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -358,7 +482,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -395,7 +519,7 @@ switch ($_POST['orden']) {
|
|||||||
'asignada' => $resultado
|
'asignada' => $resultado
|
||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -428,7 +552,7 @@ switch ($_POST['orden']) {
|
|||||||
'totalPreguntas' => $resultado
|
'totalPreguntas' => $resultado
|
||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -464,7 +588,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -495,7 +619,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -526,7 +650,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -638,7 +762,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -672,7 +796,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -745,7 +869,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -805,7 +929,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -850,7 +974,7 @@ switch ($_POST['orden']) {
|
|||||||
'finalizada' => $resultado
|
'finalizada' => $resultado
|
||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -895,7 +1019,7 @@ switch ($_POST['orden']) {
|
|||||||
'totalRespondidas' => $resultado
|
'totalRespondidas' => $resultado
|
||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -969,7 +1093,7 @@ switch ($_POST['orden']) {
|
|||||||
|
|
||||||
echo json_encode($resultado);
|
echo json_encode($resultado);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -980,7 +1104,7 @@ switch ($_POST['orden']) {
|
|||||||
'error' => 'La orden indicada no existe.'
|
'error' => 'La orden indicada no existe.'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
+229
-325
@@ -1,28 +1,22 @@
|
|||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
cargarSalas();
|
||||||
|
|
||||||
cargarSalas();
|
function cargarSalas() {
|
||||||
|
$.ajax({
|
||||||
|
url: "controladores/controladorPartida.php",
|
||||||
|
type: "POST",
|
||||||
|
dataType: "json",
|
||||||
|
data: {
|
||||||
|
orden: "listar",
|
||||||
|
},
|
||||||
|
|
||||||
function cargarSalas() {
|
success: function (partidas) {
|
||||||
|
const contenedor = $("#contenedorSalas");
|
||||||
|
|
||||||
$.ajax({
|
contenedor.empty();
|
||||||
url: 'controladores/controladorPartida.php',
|
|
||||||
type: 'POST',
|
|
||||||
dataType: 'json',
|
|
||||||
data: {
|
|
||||||
orden: 'listar'
|
|
||||||
},
|
|
||||||
|
|
||||||
success: function (partidas) {
|
if (!Array.isArray(partidas) || partidas.length === 0) {
|
||||||
|
contenedor.html(`
|
||||||
const contenedor =
|
|
||||||
$('#contenedorSalas');
|
|
||||||
|
|
||||||
contenedor.empty();
|
|
||||||
|
|
||||||
if (!Array.isArray(partidas) ||
|
|
||||||
partidas.length === 0) {
|
|
||||||
|
|
||||||
contenedor.html(`
|
|
||||||
<div class="col-12 text-center">
|
<div class="col-12 text-center">
|
||||||
<p class="text-muted">
|
<p class="text-muted">
|
||||||
No hay salas disponibles.
|
No hay salas disponibles.
|
||||||
@@ -30,143 +24,95 @@ $(document).ready(function () {
|
|||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
partidas.forEach(function (partida) {
|
partidas.forEach(function (partida) {
|
||||||
cargarInformacionSala(partida);
|
cargarInformacionSala(partida);
|
||||||
});
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
|
|
||||||
console.error(
|
|
||||||
'Error al obtener las partidas:',
|
|
||||||
error
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
function cargarInformacionSala(partida) {
|
error: function (xhr, status, error) {
|
||||||
|
console.error("Error al obtener las partidas:", error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function cargarInformacionSala(partida) {
|
||||||
|
$.ajax({
|
||||||
|
url: "controladores/controladorPartida.php",
|
||||||
|
type: "POST",
|
||||||
|
dataType: "json",
|
||||||
|
|
||||||
|
data: {
|
||||||
|
orden: "getEquipos",
|
||||||
|
idPartida: partida.idPartida,
|
||||||
|
},
|
||||||
|
|
||||||
|
success: function (equipos) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: 'controladores/controladorPartida.php',
|
url: "controladores/controladorPartida.php",
|
||||||
type: 'POST',
|
type: "POST",
|
||||||
dataType: 'json',
|
dataType: "json",
|
||||||
|
|
||||||
data: {
|
data: {
|
||||||
orden: 'getEquipos',
|
orden: "getJugadores",
|
||||||
idPartida: partida.idPartida
|
idPartida: partida.idPartida,
|
||||||
},
|
},
|
||||||
|
|
||||||
success: function (equipos) {
|
success: function (jugadores) {
|
||||||
|
mostrarSala(partida, equipos, jugadores);
|
||||||
|
},
|
||||||
|
|
||||||
$.ajax({
|
error: function (xhr, status, error) {
|
||||||
url: 'controladores/controladorPartida.php',
|
console.error("Error al obtener jugadores:", error);
|
||||||
type: 'POST',
|
},
|
||||||
dataType: 'json',
|
|
||||||
|
|
||||||
data: {
|
|
||||||
orden: 'getJugadores',
|
|
||||||
idPartida: partida.idPartida
|
|
||||||
},
|
|
||||||
|
|
||||||
success: function (jugadores) {
|
|
||||||
|
|
||||||
crearSala(
|
|
||||||
partida,
|
|
||||||
equipos,
|
|
||||||
jugadores
|
|
||||||
);
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
|
|
||||||
console.error(
|
|
||||||
'Error al obtener jugadores:',
|
|
||||||
error
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error: function (xhr, status, error) {
|
|
||||||
|
|
||||||
console.error(
|
|
||||||
'Error al obtener equipos:',
|
|
||||||
error
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
function crearSala(
|
error: function (xhr, status, error) {
|
||||||
partida,
|
console.error("Error al obtener equipos:", error);
|
||||||
equipos,
|
},
|
||||||
jugadores
|
});
|
||||||
) {
|
}
|
||||||
|
|
||||||
const contenedor =
|
function mostrarSala(partida, equipos, jugadores) {
|
||||||
$('#contenedorSalas');
|
const contenedor = $("#contenedorSalas");
|
||||||
|
|
||||||
let equiposHTML = '';
|
let equiposHTML = "";
|
||||||
|
|
||||||
equipos.forEach(function (equipo) {
|
equipos.forEach(function (equipo) {
|
||||||
|
const jugadoresEquipo = jugadores.filter(function (jugador) {
|
||||||
|
return jugador.idEquipo == equipo.idEquipo;
|
||||||
|
});
|
||||||
|
|
||||||
const jugadoresEquipo =
|
let jugadoresHTML = "";
|
||||||
jugadores.filter(function (jugador) {
|
|
||||||
|
|
||||||
return jugador.idEquipo ==
|
if (jugadoresEquipo.length > 0) {
|
||||||
equipo.idEquipo;
|
jugadoresEquipo.forEach(function (jugador) {
|
||||||
|
jugadoresHTML += `
|
||||||
});
|
|
||||||
|
|
||||||
let jugadoresHTML = '';
|
|
||||||
|
|
||||||
if (jugadoresEquipo.length > 0) {
|
|
||||||
|
|
||||||
jugadoresEquipo.forEach(
|
|
||||||
function (jugador) {
|
|
||||||
|
|
||||||
jugadoresHTML += `
|
|
||||||
<div class="jugador">
|
<div class="jugador">
|
||||||
<span class="avatar">
|
<span class="avatar">
|
||||||
👤
|
👤
|
||||||
</span>
|
</span>
|
||||||
${escapeHTML(
|
${escapeHTML(jugador.nombreUsuario)}
|
||||||
jugador.nombreUsuario
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
});
|
||||||
}
|
} else {
|
||||||
);
|
jugadoresHTML = `
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
jugadoresHTML = `
|
|
||||||
<div class="text-muted small">
|
<div class="text-muted small">
|
||||||
Sin jugadores
|
Sin jugadores
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
equiposHTML += `
|
||||||
|
|
||||||
equiposHTML += `
|
|
||||||
|
|
||||||
<div class="equipo">
|
<div class="equipo">
|
||||||
|
|
||||||
<h6>
|
<h6>
|
||||||
${escapeHTML(
|
${escapeHTML(equipo.nombreEquipo)}
|
||||||
equipo.nombreEquipo
|
|
||||||
)}
|
|
||||||
</h6>
|
</h6>
|
||||||
|
|
||||||
<div class="jugadores">
|
<div class="jugadores">
|
||||||
@@ -188,10 +134,9 @@ $(document).ready(function () {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
`;
|
`;
|
||||||
|
});
|
||||||
|
|
||||||
});
|
const salaHTML = `
|
||||||
|
|
||||||
const salaHTML = `
|
|
||||||
|
|
||||||
<div class="col-12 col-md-10 col-lg-8">
|
<div class="col-12 col-md-10 col-lg-8">
|
||||||
|
|
||||||
@@ -199,9 +144,7 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
<div class="sala-header">
|
<div class="sala-header">
|
||||||
|
|
||||||
${escapeHTML(
|
${escapeHTML(partida.nombrePartida)}
|
||||||
partida.nombrePartida
|
|
||||||
)}
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -221,228 +164,189 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
contenedor.append(salaHTML);
|
contenedor.append(salaHTML);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
$(document).on("click", ".btn-unirse-equipo", function () {
|
||||||
|
const boton = $(this);
|
||||||
|
|
||||||
$(document).on(
|
const idPartida = boton.data("id-partida");
|
||||||
'click',
|
|
||||||
'.btn-unirse-equipo',
|
|
||||||
function () {
|
|
||||||
|
|
||||||
const boton = $(this);
|
const idEquipo = boton.data("id-equipo");
|
||||||
|
|
||||||
const idPartida =
|
boton.prop("disabled", true);
|
||||||
boton.data('id-partida');
|
|
||||||
|
|
||||||
const idEquipo =
|
boton.text("Uniéndose...");
|
||||||
boton.data('id-equipo');
|
|
||||||
|
|
||||||
boton.prop('disabled', true);
|
$.ajax({
|
||||||
|
url: "controladores/controladorPartida.php",
|
||||||
|
|
||||||
boton.text('Uniéndose...');
|
type: "POST",
|
||||||
|
|
||||||
$.ajax({
|
dataType: "json",
|
||||||
|
|
||||||
url:
|
data: {
|
||||||
'controladores/controladorPartida.php',
|
orden: "registrarEquipo",
|
||||||
|
|
||||||
type: 'POST',
|
idPartida: idPartida,
|
||||||
|
|
||||||
dataType: 'json',
|
idEquipo: idEquipo,
|
||||||
|
},
|
||||||
|
|
||||||
data: {
|
success: function (respuesta) {
|
||||||
|
if (respuesta.error) {
|
||||||
|
alert(respuesta.error);
|
||||||
|
|
||||||
orden: 'registrarEquipo',
|
boton.prop("disabled", false);
|
||||||
|
|
||||||
idPartida: idPartida,
|
boton.text("Unirse");
|
||||||
|
|
||||||
idEquipo: idEquipo
|
return;
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
success: function (respuesta) {
|
|
||||||
|
|
||||||
if (respuesta.error) {
|
|
||||||
|
|
||||||
alert(respuesta.error);
|
|
||||||
|
|
||||||
boton.prop(
|
|
||||||
'disabled',
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
boton.text('Unirse');
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
cargarSalas();
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error: function (
|
|
||||||
xhr,
|
|
||||||
status,
|
|
||||||
error
|
|
||||||
) {
|
|
||||||
|
|
||||||
console.error(
|
|
||||||
'Error al unirse al equipo:',
|
|
||||||
error
|
|
||||||
);
|
|
||||||
|
|
||||||
alert(
|
|
||||||
'No se ha podido unir al equipo.'
|
|
||||||
);
|
|
||||||
|
|
||||||
boton.prop(
|
|
||||||
'disabled',
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
boton.text('Unirse');
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
function escapeHTML(texto) {
|
|
||||||
|
|
||||||
return $('<div>')
|
|
||||||
.text(texto ?? '')
|
|
||||||
.html();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#btnCrearSala').on('click', function () {
|
|
||||||
|
|
||||||
const nombreSala =
|
|
||||||
$('#nombreSala').val().trim();
|
|
||||||
|
|
||||||
const nombreEquipo1 =
|
|
||||||
$('#nombreEquipo1').val().trim();
|
|
||||||
|
|
||||||
const nombreEquipo2 =
|
|
||||||
$('#nombreEquipo2').val().trim();
|
|
||||||
|
|
||||||
let valido = true;
|
|
||||||
|
|
||||||
$('.mensaje-error-sala').remove();
|
|
||||||
|
|
||||||
$('.input-kahoot')
|
|
||||||
.removeClass('is-invalid');
|
|
||||||
|
|
||||||
if (nombreSala === '') {
|
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreSala',
|
|
||||||
'El nombre de la sala es obligatorio.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
|
|
||||||
} else if (nombreSala.length < 3) {
|
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreSala',
|
|
||||||
'El nombre de la sala debe tener al menos 3 caracteres.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nombreEquipo1 === '') {
|
cargarSalas();
|
||||||
|
},
|
||||||
|
|
||||||
mostrarError(
|
error: function (xhr, status, error) {
|
||||||
'#nombreEquipo1',
|
console.error("Error al unirse al equipo:", error);
|
||||||
'El nombre del equipo 1 es obligatorio.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
alert("No se ha podido unir al equipo.");
|
||||||
|
|
||||||
} else if (nombreEquipo1.length < 2) {
|
boton.prop("disabled", false);
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreEquipo1',
|
|
||||||
'El nombre del equipo debe tener al menos 2 caracteres.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nombreEquipo2 === '') {
|
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreEquipo2',
|
|
||||||
'El nombre del equipo 2 es obligatorio.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
|
|
||||||
} else if (nombreEquipo2.length < 2) {
|
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreEquipo2',
|
|
||||||
'El nombre del equipo debe tener al menos 2 caracteres.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
|
||||||
nombreEquipo1 !== '' &&
|
|
||||||
nombreEquipo2 !== '' &&
|
|
||||||
nombreEquipo1.toLowerCase() ===
|
|
||||||
nombreEquipo2.toLowerCase()
|
|
||||||
) {
|
|
||||||
|
|
||||||
mostrarError(
|
|
||||||
'#nombreEquipo2',
|
|
||||||
'Los dos equipos deben tener nombres diferentes.'
|
|
||||||
);
|
|
||||||
|
|
||||||
valido = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!valido) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('Datos válidos:');
|
|
||||||
|
|
||||||
console.log({
|
|
||||||
nombreSala: nombreSala,
|
|
||||||
nombreEquipo1: nombreEquipo1,
|
|
||||||
nombreEquipo2: nombreEquipo2
|
|
||||||
});
|
|
||||||
|
|
||||||
|
boton.text("Unirse");
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function mostrarError(selector, mensaje) {
|
function escapeHTML(texto) {
|
||||||
|
return $("<div>")
|
||||||
|
.text(texto ?? "")
|
||||||
|
.html();
|
||||||
|
}
|
||||||
|
|
||||||
const input = $(selector);
|
$("#btnCrearSala").on("click", function () {
|
||||||
|
const nombreSala = $("#nombreSala").val().trim();
|
||||||
|
|
||||||
input.addClass('is-invalid');
|
const nombreEquipo1 = $("#nombreEquipo1").val().trim();
|
||||||
|
|
||||||
input.after(`
|
const nombreEquipo2 = $("#nombreEquipo2").val().trim();
|
||||||
|
|
||||||
|
let valido = true;
|
||||||
|
|
||||||
|
$(".mensaje-error-sala").remove();
|
||||||
|
|
||||||
|
$(".input-kahoot").removeClass("is-invalid");
|
||||||
|
|
||||||
|
if (nombreSala === "") {
|
||||||
|
mostrarError("#nombreSala", "El nombre de la sala es obligatorio.");
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
} else if (nombreSala.length < 3) {
|
||||||
|
mostrarError(
|
||||||
|
"#nombreSala",
|
||||||
|
"El nombre de la sala debe tener al menos 3 caracteres.",
|
||||||
|
);
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nombreEquipo1 === "") {
|
||||||
|
mostrarError("#nombreEquipo1", "El nombre del equipo 1 es obligatorio.");
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
} else if (nombreEquipo1.length < 2) {
|
||||||
|
mostrarError(
|
||||||
|
"#nombreEquipo1",
|
||||||
|
"El nombre del equipo debe tener al menos 2 caracteres.",
|
||||||
|
);
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nombreEquipo2 === "") {
|
||||||
|
mostrarError("#nombreEquipo2", "El nombre del equipo 2 es obligatorio.");
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
} else if (nombreEquipo2.length < 2) {
|
||||||
|
mostrarError(
|
||||||
|
"#nombreEquipo2",
|
||||||
|
"El nombre del equipo debe tener al menos 2 caracteres.",
|
||||||
|
);
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
nombreEquipo1 !== "" &&
|
||||||
|
nombreEquipo2 !== "" &&
|
||||||
|
nombreEquipo1.toLowerCase() === nombreEquipo2.toLowerCase()
|
||||||
|
) {
|
||||||
|
mostrarError(
|
||||||
|
"#nombreEquipo2",
|
||||||
|
"Los dos equipos deben tener nombres diferentes.",
|
||||||
|
);
|
||||||
|
|
||||||
|
valido = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!valido) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// AJAX
|
||||||
|
// ==========================================
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method: "POST",
|
||||||
|
url: "controladores/controladorPartida.php",
|
||||||
|
data: {
|
||||||
|
nombrePartida: nombreSala,
|
||||||
|
nombreEquipo1: nombreEquipo1,
|
||||||
|
nombreEquipo2: nombreEquipo2,
|
||||||
|
orden: "crear",
|
||||||
|
},
|
||||||
|
}).done(function (respuesta) {
|
||||||
|
console.log(respuesta);
|
||||||
|
|
||||||
|
respuesta = JSON.parse(respuesta);
|
||||||
|
|
||||||
|
if (respuesta.error) {
|
||||||
|
alert(respuesta.error);
|
||||||
|
} else {
|
||||||
|
console.log("Sala creada correctamente");
|
||||||
|
console.log("ID partida:", respuesta.idPartida);
|
||||||
|
console.log("ID equipo 1:", respuesta.idEquipo1);
|
||||||
|
console.log("ID equipo 2:", respuesta.idEquipo2);
|
||||||
|
|
||||||
|
// Cerramos el modal
|
||||||
|
$("#modalCrearSala").modal("hide");
|
||||||
|
|
||||||
|
// Aquí posteriormente podemos mandar al usuario
|
||||||
|
// a la página de la sala
|
||||||
|
//
|
||||||
|
// window.location.href =
|
||||||
|
// 'sala.php?id=' + respuesta.idPartida;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function mostrarError(selector, mensaje) {
|
||||||
|
const input = $(selector);
|
||||||
|
|
||||||
|
input.addClass("is-invalid");
|
||||||
|
|
||||||
|
input.after(`
|
||||||
<div class="mensaje-error-sala text-danger mt-1 small">
|
<div class="mensaje-error-sala text-danger mt-1 small">
|
||||||
${mensaje}
|
${mensaje}
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.input-kahoot').on('input', function () {
|
$(".input-kahoot").on("input", function () {
|
||||||
|
$(this).removeClass("is-invalid");
|
||||||
$(this).removeClass('is-invalid');
|
|
||||||
|
|
||||||
$(this)
|
|
||||||
.next('.mensaje-error-sala')
|
|
||||||
.remove();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
$(this).next(".mensaje-error-sala").remove();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user