cambiar avatar y nombre en perfil.php
This commit is contained in:
@@ -35,7 +35,8 @@ switch ($_POST['orden']) {
|
||||
$usuario = new Usuario(
|
||||
$nombreUsuario,
|
||||
$contrasena,
|
||||
$email
|
||||
$email,
|
||||
'img/avatars/defaultProfile.jpeg'
|
||||
);
|
||||
|
||||
$resultado = $usuario->registrar();
|
||||
@@ -97,7 +98,6 @@ switch ($_POST['orden']) {
|
||||
'derrotas' => $usuario->getDerrotas(),
|
||||
'aciertos' => $usuario->getAciertos()
|
||||
]);
|
||||
|
||||
} else {
|
||||
|
||||
echo json_encode($usuario);
|
||||
@@ -105,6 +105,120 @@ switch ($_POST['orden']) {
|
||||
|
||||
break;
|
||||
|
||||
case 'cambiarNombre':
|
||||
|
||||
if (!isset($_SESSION['idUsuario'])) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'No hay ningún usuario conectado.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$nuevoNombre = trim($_POST['nombreUsuario'] ?? '');
|
||||
|
||||
if ($nuevoNombre === '') {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'El nombre no puede estar vacío.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$usuario = Usuario::buscarPorId($_SESSION['idUsuario']);
|
||||
|
||||
if (!($usuario instanceof Usuario)) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'No se encontró el usuario.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$resultado = $usuario->cambiarNombre($nuevoNombre);
|
||||
|
||||
if (isset($resultado['error'])) {
|
||||
|
||||
echo json_encode($resultado);
|
||||
} else {
|
||||
|
||||
// Actualizamos también la sesión
|
||||
$_SESSION['nombreUsuario'] = $nuevoNombre;
|
||||
|
||||
echo json_encode([
|
||||
'exito' => 'Nombre actualizado correctamente.',
|
||||
'nombreUsuario' => $nuevoNombre
|
||||
]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'cambiarAvatar':
|
||||
|
||||
if (!isset($_SESSION['idUsuario'])) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'No hay ningún usuario conectado.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (!isset($_FILES['avatar']) || $_FILES['avatar']['error'] !== UPLOAD_ERR_OK) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'No se ha recibido ninguna imagen.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$archivo = $_FILES['avatar'];
|
||||
|
||||
$tipo = mime_content_type($archivo['tmp_name']);
|
||||
|
||||
$tiposPermitidos = [
|
||||
'image/jpeg',
|
||||
'image/png',
|
||||
'image/gif',
|
||||
'image/webp'
|
||||
];
|
||||
|
||||
if (!in_array($tipo, $tiposPermitidos)) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'El formato de imagen no es válido.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$usuario = Usuario::buscarPorId($_SESSION['idUsuario']);
|
||||
|
||||
if (!($usuario instanceof Usuario)) {
|
||||
|
||||
echo json_encode([
|
||||
'error' => 'No se encontró el usuario.'
|
||||
]);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
$resultado = $usuario->cambiarAvatar($archivo);
|
||||
|
||||
if (isset($resultado['error'])) {
|
||||
|
||||
echo json_encode($resultado);
|
||||
} else {
|
||||
|
||||
// Actualizamos también la sesión
|
||||
$_SESSION['avatar'] = $resultado['avatar'];
|
||||
|
||||
echo json_encode($resultado);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user