Versión inicial funcional de MyDiary

This commit is contained in:
2026-09-17 23:47:51 +02:00
commit adde97c654
148 changed files with 44990 additions and 0 deletions
+319
View File
@@ -0,0 +1,319 @@
<?php
session_start();
require_once $_SERVER['DOCUMENT_ROOT'].'/MyDiary/includes/limpiaFormulario.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/MyDiary/clases/claseLibro.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/MyDiary/clases/claseUsuarioxLibro.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/MyDiary/clases/claseApiLibro.php';
//$_POST = limpiaFormulario($_POST);
switch($_POST['orden']){
case "agregar":
// La metemos en la tabla libros, exista o no, devolverá su idLibro.
$libro = new Libro();
$libro->idApi = $_POST['idApi'];
$libro->nombreLibro = empty($_POST['nombreLibro']) ? null : $_POST['nombreLibro'];
$libro->autorLibro = empty($_POST['autorLibro']) ? null : $_POST['autorLibro'];
$libro->anoLibro = empty($_POST['anoLibro']) ? null : $_POST['anoLibro'];
$libro->generoLibro = empty($_POST['generoLibro']) ? null : $_POST['generoLibro'];
$libro->temaLibro = empty($_POST['temaLibro']) ? null : $_POST['temaLibro'];
$libro->paginasLibro = empty($_POST['paginasLibro']) ? null : $_POST['paginasLibro'];
$libro->edicionesLibro = empty($_POST['edicionesLibro']) ? null : $_POST['edicionesLibro'];
$libro->idiomaLibro = empty($_POST['idiomaLibro']) ? null : $_POST['idiomaLibro'];
$libro->ratingAvgLibro = empty($_POST['ratingAvgLibro']) ? null : $_POST['ratingAvgLibro'];
$libro->posterLibro = empty($_POST['posterLibro']) ? null : $_POST['posterLibro'];
$libro->sinopsisLibro = empty($_POST['sinopsisLibro']) ? null : $_POST['sinopsisLibro'];
// Exista o no, agregar() devolverá su idLibro
$idLibro = $libro->agregar();
if (isset($idLibro['error'])) {
echo json_encode($idLibro);
break;
}
// Usamos ese idLibro para agregarlo a la tabla usuariosxlibros
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->idLibro = $idLibro;
// Comprobamos si ya está registrado, si no se agrega
$resultado = $usuarioxLibro->existe();
if(!$resultado){
$usuarioxLibro->fechaLibro = empty($_POST['fechaLibro']) ? null : $_POST['fechaLibro'];
$usuarioxLibro->fechaInicioLibro = empty($_POST['fechaInicioLibro']) ? null : $_POST['fechaInicioLibro'];
$usuarioxLibro->ratingLibro = empty($_POST['ratingLibro']) ? null : $_POST['ratingLibro'];
$usuarioxLibro->notasLibro = empty($_POST['notasLibro']) ? null : $_POST['notasLibro'];
$usuarioxLibro->favLibro = $_POST['favLibro'];
$resultado = $usuarioxLibro->agregar();
echo json_encode([
'idLibro' => $idLibro,
'idUsuarioLibro' => $resultado
]);
}else{
echo json_encode($resultado);
}
break;
case 'descargarPoster':
$libro = new Libro();
$api = new ApiLibro();
$libro->idLibro = $_POST['idLibro'];
$url = $_POST['posterLibro'] ?? '';
/*
* Descargamos la portada desde Open Library.
*/
$posterLocal = $api->descargarPortada($url);
if(empty($posterLocal)){
echo json_encode([
'error' => 'No se pudo descargar la portada del libro.'
]);
break;
}
$libro->posterLibro = $posterLocal;
$resultado = $libro->actualizarPoster();
echo json_encode($resultado);
break;
case "buscarApi":
$api = new ApiLibro();
$resultado = $api->buscar($_POST['nombreLibro']);
$libros = [];
foreach($resultado as $item){
$libros[] = $api->transformarDatos($item);
}
echo json_encode($libros);
break;
case "detallesApi":
$api = new ApiLibro();
$resultado = $api->detalles($_POST["idApi"]);
if(isset($resultado['error'])){
echo json_encode($resultado);
break;
}
$resultado = $api->transformarDatos($resultado);
echo json_encode($resultado);
break;
case 'listarTodo':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$lista = $usuarioxLibro->listarTodo();
echo json_encode($lista);
break;
case 'listarEstrellas':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->ratingLibro = $_POST['i'];
$lista = $usuarioxLibro->listarEstrellas();
echo json_encode($lista);
break;
case 'listarFav':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$lista = $usuarioxLibro->listarFav();
echo json_encode($lista);
break;
case 'listarPendientes':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$lista = $usuarioxLibro->listarPendientes();
echo json_encode($lista);
break;
case 'agregarPend':
// La metemos en la tabla libros, exista o no, devolverá su idLibro.
$libro = new Libro();
$libro->idApi = $_POST['idApi'];
$libro->nombreLibro = empty($_POST['nombreLibro']) ? null : $_POST['nombreLibro'];
$libro->autorLibro = empty($_POST['autorLibro']) ? null : $_POST['autorLibro'];
$libro->anoLibro = empty($_POST['anoLibro']) ? null : $_POST['anoLibro'];
$libro->generoLibro = empty($_POST['generoLibro']) ? null : $_POST['generoLibro'];
$libro->temaLibro = empty($_POST['temaLibro']) ? null : $_POST['temaLibro'];
$libro->paginasLibro = empty($_POST['paginasLibro']) ? null : $_POST['paginasLibro'];
$libro->edicionesLibro = empty($_POST['edicionesLibro']) ? null : $_POST['edicionesLibro'];
$libro->idiomaLibro = empty($_POST['idiomaLibro']) ? null : $_POST['idiomaLibro'];
$libro->ratingAvgLibro = empty($_POST['ratingAvgLibro']) ? null : $_POST['ratingAvgLibro'];
$libro->posterLibro = empty($_POST['posterLibro']) ? null : $_POST['posterLibro'];
$libro->sinopsisLibro = empty($_POST['sinopsisLibro']) ? null : $_POST['sinopsisLibro'];
$idLibro = $libro->agregar();
if (isset($idLibro['error'])) {
echo json_encode($idLibro);
break;
}
// Usamos ese idLibro para agregarlo como pendiente a la tabla usuariosxlibros
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->idLibro = $idLibro;
// Comprobamos si ya está registrado, si no se agrega
$resultado = $usuarioxLibro->existe();
if(!$resultado){
$resultado = $usuarioxLibro->agregarPend();
echo json_encode([
'idLibro' => $idLibro,
'idUsuarioLibro' => $resultado
]);
}else{
echo json_encode($resultado);
}
break;
case 'buscar':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$lista = $usuarioxLibro->buscar();
echo json_encode($lista);
break;
case 'favorita':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->favLibro = $_POST['favLibro'];
$resultado = $usuarioxLibro->favorita();
echo json_encode($resultado);
break;
case 'comprobar':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$resultado = $usuarioxLibro->comprobar();
echo json_encode($resultado);
break;
case 'comprobarContenido':
$libro = new Libro();
$libro->idLibro = $_POST['idLibro'];
echo json_encode($libro->comprobar());
break;
case 'editarVal':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->ratingLibro = $_POST['ratingLibro'];
echo json_encode($usuarioxLibro->editarVal());
break;
case 'editarFecha':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->fechaLibro = empty($_POST['fechaLibro']) ? null : $_POST['fechaLibro'];
$usuarioxLibro->fechaInicioLibro = empty($_POST['fechaInicioLibro']) ? null : $_POST['fechaInicioLibro'];
echo json_encode($usuarioxLibro->editarFecha());
break;
case 'editarNotas':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
$usuarioxLibro->notasLibro = empty($_POST['notasLibro']) ? null : $_POST['notasLibro'];
echo json_encode($usuarioxLibro->editarNotas());
break;
case 'agregarPendTabla':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->fechaLibro = empty($_POST['fechaLibro']) ? null : $_POST['fechaLibro'];
$usuarioxLibro->fechaInicioLibro = empty($_POST['fechaInicioLibro']) ? null : $_POST['fechaInicioLibro'];
$usuarioxLibro->ratingLibro = empty($_POST['ratingLibro']) ? null : $_POST['ratingLibro'];
$usuarioxLibro->notasLibro = empty($_POST['notasLibro']) ? null : $_POST['notasLibro'];
$usuarioxLibro->favLibro = $_POST['favLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
echo json_encode($usuarioxLibro->agregarPendTabla());
break;
case 'eliminar':
$usuarioxLibro = new UsuarioxLibro();
$usuarioxLibro->idUsuarioLibro = $_POST['idUsuarioLibro'];
$usuarioxLibro->idUsuario = $_SESSION['idUsuario'];
echo json_encode($usuarioxLibro->eliminar());
break;
} // Fin de switch
?>