diff --git a/UyTube_logica/src/Logica/Controladores/CUsuario.java b/UyTube_logica/src/Logica/Controladores/CUsuario.java index d1afc0a86edb837fcb6c10747f7543e544c7d83c..3080ca81d80447b1411790f77db4365cd771cfbc 100644 --- a/UyTube_logica/src/Logica/Controladores/CUsuario.java +++ b/UyTube_logica/src/Logica/Controladores/CUsuario.java @@ -652,7 +652,17 @@ public class CUsuario implements IUsuario { } return usuarioSeleccionado.obtenerCanal(); } - + + @Override + public DtUsuario obtenerPropietarioDeCanal(int idCanal){ + for (Map.Entry<String, Usuario> u : this.obtenerUsuarios().entrySet()){ + if (u.getValue().obtenerCanal().getId() == idCanal){ + return u.getValue().getDT(); + } + } + throw new RuntimeException("El iID de canal no crresponde a ningun usuario"); + } + @Override public DtUsuario obtenerPropietarioDeVideo(int idVideo) { // Esto es un parche, pero de los que nunca se despegan... @@ -682,7 +692,14 @@ public class CUsuario implements IUsuario { } throw new RuntimeException("El iID de video no crresponde a ningun usuario"); } - + @Override + public DtUsuario obtenerUsuarioActual(){ + if (usuarioActual == null){ + throw new RuntimeException("No se a iniciado la sesión"); + } + return usuarioActual.getDT(); + } + @Override public DtValoracion obtenerValoracionDada() { if (usuarioActual == null) { diff --git a/UyTube_logica/src/Logica/Interfaces/IUsuario.java b/UyTube_logica/src/Logica/Interfaces/IUsuario.java index e94a4890cd0f6967ead47bf3d409c278ad116e5e..0d0ba5d286edaaa6108ed944a52a4e7e4bb33647 100644 --- a/UyTube_logica/src/Logica/Interfaces/IUsuario.java +++ b/UyTube_logica/src/Logica/Interfaces/IUsuario.java @@ -245,6 +245,14 @@ public interface IUsuario { */ public DtCanal obtenerCanalDeUsuario(); + /** + * Busca entre todos los usuarios al propietario del canal con el ID indicado + * + * @param idCanal ID del canal + * @return Datos del usuario + */ + public DtUsuario obtenerPropietarioDeCanal(int idCanal); + /** * Busca entre todos los usuarios al propietario del video con el ID indicado * @@ -261,6 +269,12 @@ public interface IUsuario { */ public DtUsuario obtenerPropietarioDeListaDeReproduccion(int idLista); + /** + * Devuelve los datos del usuario que inició sesión + * @return Datos del usuario actual + */ + public DtUsuario obtenerUsuarioActual(); + /** * Devuelve la valoracion dada por usuarioActual al video * idVideoSeleccionado perteneciente al usuarioSeleccionado diff --git a/UyTube_web/libreria/UyTube_logica.jar b/UyTube_web/libreria/UyTube_logica.jar index 48cf4360d6d98d1583069feabf3ba313adec3fcc..cfa8c2a4d35dae34e5142dc11294aef0678de49e 100644 Binary files a/UyTube_web/libreria/UyTube_logica.jar and b/UyTube_web/libreria/UyTube_logica.jar differ diff --git a/UyTube_web/src/java/Funciones/Funciones.java b/UyTube_web/src/java/Funciones/Funciones.java new file mode 100644 index 0000000000000000000000000000000000000000..e76803a46fe836a34e57d277f9248674ab194344 --- /dev/null +++ b/UyTube_web/src/java/Funciones/Funciones.java @@ -0,0 +1,68 @@ +package Funciones; + +/** + * + * @author Juan + */ +public class Funciones { + + /** + * Extrae el ID del video + * @param URLYoutube URL del video de Youtube + * @return ID del video + */ + public static String extraerIDYoutube(String URLYoutube) { + //https://www.youtube.com/embed/fepmsnGBwJo + String idYoutube = ""; + String urlDT = URLYoutube; + int i = 0; + for (; i < urlDT.length() && urlDT.charAt(i) != '='; i++) { + } + i++; + for (; i < urlDT.length(); i++) { + idYoutube += urlDT.charAt(i); + } + return idYoutube; + } + + /** + * Enlace para embeber video en una página + * @param idYoutube ID del video de Youtube + * @return En lace para embeber video + */ + public static String obtenerEnlaceEmbebido(String idYoutube) { + return "https://www.youtube.com/embed/" + idYoutube; + } + + /** + * Obtiene la url de la miniatura del video original en YouTube + * @param idYoutube ID del video de Youtube + * @param tamanio Tamaño de la imagen [1 a 4] + * @return URL de la miniatura del video + */ + public static String obtenerImagenDeVideo(String idYoutube, int tamanio) { + /* + http://img.youtube.com/vi/VideoID/default.jpg + http://img.youtube.com/vi/VideoID/mqdefault.jpg + http://img.youtube.com/vi/VideoID/hqdefault.jpg + http://img.youtube.com/vi/VideoID/sddefault.jpg + */ + String strTamanio = "/default.jpg"; + switch (tamanio){ + case 1: + strTamanio = "/default.jpg"; + break; + case 2: + strTamanio = "/mqdefault.jpg"; + break; + case 3: + strTamanio = "/hqdefault.jpg"; + break; + case 4: + strTamanio = "/sddefault.jpg"; + break; + } + return "https://i.ytimg.com/vi/" + idYoutube + strTamanio; + } + +} diff --git a/UyTube_web/src/java/com/uytube/AgregarComentario.java b/UyTube_web/src/java/com/uytube/AgregarComentario.java new file mode 100644 index 0000000000000000000000000000000000000000..309ae0f7935beabf52a0029c5917eb7772caed08 --- /dev/null +++ b/UyTube_web/src/java/com/uytube/AgregarComentario.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class AgregarComentario extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet AgregarComentario</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet AgregarComentario at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/AgregarValoracion.java b/UyTube_web/src/java/com/uytube/AgregarValoracion.java new file mode 100644 index 0000000000000000000000000000000000000000..966633ed70f6f9dc8508fae05461d8d0023bb708 --- /dev/null +++ b/UyTube_web/src/java/com/uytube/AgregarValoracion.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class AgregarValoracion extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet AgregarValoracion</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet AgregarValoracion at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java b/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java new file mode 100644 index 0000000000000000000000000000000000000000..7552a56d95b4ea1a96a297a85b40f731262e6e17 --- /dev/null +++ b/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class AgregarVideoAListaReproduccion extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet AgregarVideoAListaReproduccion</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet AgregarVideoAListaReproduccion at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java b/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java new file mode 100644 index 0000000000000000000000000000000000000000..2a476617a4a10fb16e818451df2512c60954c08b --- /dev/null +++ b/UyTube_web/src/java/com/uytube/AltaListaReproduccion.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class AltaListaReproduccion extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet AltaListaReproduccion</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet AltaListaReproduccion at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/AltaUsuario.java b/UyTube_web/src/java/com/uytube/AltaUsuario.java index 3a887fe7646763605d1ad9162d4f729f9a1cd13a..1e2c58cb99851f734291381eea9ce0c50f5f921d 100644 --- a/UyTube_web/src/java/com/uytube/AltaUsuario.java +++ b/UyTube_web/src/java/com/uytube/AltaUsuario.java @@ -9,6 +9,7 @@ import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -17,6 +18,7 @@ import javax.servlet.http.HttpServletResponse; * * @author administrador */ + public class AltaUsuario extends HttpServlet { /** @@ -73,8 +75,40 @@ public class AltaUsuario extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + + //Se guardan los datos del usuario en la base de datos + // Y se redigire por ahora al JSP presentacion + + String pNickname = request.getParameter("nickname"); + String pNombre = request.getParameter("nombre"); + String pApellido = request.getParameter("apellido"); + String pEmail = request.getParameter("email"); + String pFechaNa = request.getParameter("fechaNa"); + String pPassword = request.getParameter("password"); + String pPrivacidad = request.getParameter("privacidad"); + String pCanal = request.getParameter("canal"); + String pDescripcion = request.getParameter("descripcion"); + System.out.println("nickname: "+pNickname); + System.out.println("nombre: "+pNombre); + System.out.println("apellido: "+pApellido); + System.out.println("email: "+pEmail); + System.out.println("fecha: "+pFechaNa); + System.out.println("password: "+pPassword); + System.out.println("privacidad: "+pPrivacidad); + System.out.println("canal: "+pCanal); + System.out.println("descripcion: "+pDescripcion); + + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/Presentacion.jsp"); + rd.forward(request, response); + } + + @Override + protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doDelete(req, resp); //To change body of generated methods, choose Tools | Templates. } + + /** * Returns a short description of the servlet. diff --git a/UyTube_web/src/java/com/uytube/AltaVideo.java b/UyTube_web/src/java/com/uytube/AltaVideo.java index 0aaa1b169401b2567a3776676617357578c4a7b3..1cf3efbcab3a7fb10d181b4f15ee4795e9a9617f 100644 --- a/UyTube_web/src/java/com/uytube/AltaVideo.java +++ b/UyTube_web/src/java/com/uytube/AltaVideo.java @@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletResponse; * * @author administrador */ -@WebServlet("/alta-video") + public class AltaVideo extends HttpServlet { /** @@ -59,7 +59,6 @@ public class AltaVideo extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - RequestDispatcher rd; //objeto para despachar rd = request.getRequestDispatcher("/AltaVideo.jsp"); rd.forward(request, response); @@ -76,17 +75,26 @@ public class AltaVideo extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String nombre = request.getParameter("nombre"); - String duracion = request.getParameter("duracion"); - String url = request.getParameter("url"); - String descripcion = request.getParameter("descripcion"); - String fecha = request.getParameter("fecha"); - String categoria = request.getParameter("categoria"); - System.out.println(nombre +" " + duracion+" "+url+" categoria: "+ categoria); + //Se guardan los datos del usuario en la base de datos + // Y se redigire por ahora al JSP presentacion + + String pNombre = request.getParameter("nombre"); + String pDuracion = request.getParameter("duracion"); + String pUrl = request.getParameter("url"); + String pFecha = request.getParameter("fecha"); + String pDescripcion = request.getParameter("descripcion"); + String pCategoria = request.getParameter("categoria"); + + System.out.println("nombre: "+pNombre); + System.out.println("duracion: "+pDuracion); + System.out.println("url: "+pUrl); + System.out.println("fecha: "+pFecha); + System.out.println("descripcion: "+pDescripcion); + System.out.println("categoria: "+pCategoria); RequestDispatcher rd; //objeto para despachar - rd = request.getRequestDispatcher("/AltaVideo.jsp"); + rd = request.getRequestDispatcher("/Presentacion.jsp"); rd.forward(request, response); } diff --git a/UyTube_web/src/java/com/uytube/Buscar.java b/UyTube_web/src/java/com/uytube/Buscar.java new file mode 100644 index 0000000000000000000000000000000000000000..670edd871522ca7d9609463397b023079c238d1e --- /dev/null +++ b/UyTube_web/src/java/com/uytube/Buscar.java @@ -0,0 +1,104 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Ordenacion; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class Buscar extends HttpServlet { + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + try { + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + //----------------------------------------------------- + String Categoria = request.getParameter("categoria"); + String Texto = request.getParameter("texto"); + String Filtro = request.getParameter("filtro"); + String Orden = request.getParameter("orden"); + //------------------------------------------------------ + ArrayList<Object> Ret = null; + + if (Categoria == null || Categoria.equals("")) { + Filtrado Fil = Filtrado.TODO; + Ordenacion ord = Ordenacion.FECHA_DESCENDENTE; + + if (Filtro != null && Filtro.equals("CANALES")) { + Fil = Filtrado.CANALES; + } + if (Filtro != null && Filtro.equals("LISTAS_DE_REPRODUCCION")) { + Fil = Filtrado.LISTAS_DE_REPRODUCCION; + } + if (Filtro != null && Filtro.equals("VIDEOS")) { + Fil = Filtrado.VIDEOS; + } + if (Orden != null && Orden.equals("ALFABETICO")) { + ord = Ordenacion.ALFABETICA_ASCENDENTE; + } + + String comilla = "" + (char) 34; + String vacio = ""; + Texto = Texto.replaceAll(comilla, vacio); + + if (Texto.equals("")){ + Texto = " "; + } + + Ret = sys.buscar(Texto, Fil, ord); + + } else { + Ret = sys.buscar(Categoria); + } + + request.setAttribute("Lista", Ret); + + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/Buscar.jsp"); + rd.forward(request, response); + + } catch (Exception e) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/CerrarSesion.java b/UyTube_web/src/java/com/uytube/CerrarSesion.java index 49de7bfc44509f64b3a793f32364bb47d927babd..3e2d6d55c0fa86cafe54d4ee6cc884daa7f300a0 100644 --- a/UyTube_web/src/java/com/uytube/CerrarSesion.java +++ b/UyTube_web/src/java/com/uytube/CerrarSesion.java @@ -5,8 +5,10 @@ */ package com.uytube; +import Logica.Enumerados.Filtrado; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; -import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -18,34 +20,7 @@ import javax.servlet.http.HttpSession; * @author administrador */ public class CerrarSesion extends HttpServlet { - - /** - * Processes requests for both HTTP <code>GET</code> and <code>POST</code> - * methods. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - protected void processRequest(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setContentType("text/html;charset=UTF-8"); - try (PrintWriter out = response.getWriter()) { - /* TODO output your page here. You may use following sample code. */ - out.println("<!DOCTYPE html>"); - out.println("<html>"); - out.println("<head>"); - out.println("<title>Servlet CerrarSesion</title>"); - out.println("</head>"); - out.println("<body>"); - out.println("<h1>Servlet CerrarSesion at " + request.getContextPath() + "</h1>"); - out.println("</body>"); - out.println("</html>"); - } - } - - // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** * Handles the HTTP <code>GET</code> method. * @@ -57,26 +32,20 @@ public class CerrarSesion extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + // cierra la sesion HTTP (si es que hay una iniciada) HttpSession session = request.getSession(false); - if(session != null) + if(session != null){ session.invalidate(); + } + // Cierra la sesion en el sistema (si es que hay una iniciada) + if (sys.sesionIniciada()){ + sys.cerrarSesion(); + } request.getRequestDispatcher("/index.jsp").forward(request,response); } - - /** - * Handles the HTTP <code>POST</code> method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - processRequest(request, response); - } - + /** * Returns a short description of the servlet. * diff --git a/UyTube_web/src/java/com/uytube/ConsultaUsuario.java b/UyTube_web/src/java/com/uytube/ConsultaUsuario.java index b11388139144afeeda1fe15f7f8e0c0db6e39fad..f4235bc6f4511ce2db69cec087e753deda7389a6 100644 --- a/UyTube_web/src/java/com/uytube/ConsultaUsuario.java +++ b/UyTube_web/src/java/com/uytube/ConsultaUsuario.java @@ -5,8 +5,17 @@ */ package com.uytube; +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Enumerados.TipoListaDeReproduccion; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -19,33 +28,6 @@ import javax.servlet.http.HttpServletResponse; */ public class ConsultaUsuario extends HttpServlet { - /** - * Processes requests for both HTTP <code>GET</code> and <code>POST</code> - * methods. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - protected void processRequest(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - response.setContentType("text/html;charset=UTF-8"); - try (PrintWriter out = response.getWriter()) { - /* TODO output your page here. You may use following sample code. */ - out.println("<!DOCTYPE html>"); - out.println("<html>"); - out.println("<head>"); - out.println("<title>Servlet ConsultaUsuario</title>"); - out.println("</head>"); - out.println("<body>"); - out.println("<h1>Servlet ConsultaUsuario at " + request.getContextPath() + "</h1>"); - out.println("</body>"); - out.println("</html>"); - } - } - - // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * @@ -57,23 +39,41 @@ public class ConsultaUsuario extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - RequestDispatcher rd; //objeto para despachar - rd = request.getRequestDispatcher("/ConsultaUsuario.jsp"); - rd.forward(request, response); - } + try { + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + String nick = request.getParameter("id"); + + DtUsuario usuario = sys.seleccionarUsuario(nick); + DtCanal canal = sys.obtenerCanalDeUsuario(); + ArrayList<DtUsuario> seguidos = sys.listarUsuarioSeguidos(); + ArrayList<DtUsuario> seguidores = sys.listarUsuarioSeguidores(); + ArrayList<DtVideo> videos = sys.listarVideosDeUsuario(); + ArrayList<DtListaDeReproduccion> listasRep = sys.listarListasDeReproduccionDeUsuario(false); + boolean sesionIniciada = sys.sesionIniciada(); + + boolean usuarioPropietario = false; + if (sesionIniciada){ + usuarioPropietario = sys.obtenerUsuarioActual().getNickname().equals(nick); + } + + request.setAttribute("usuario", usuario); + request.setAttribute("canal", canal); + request.setAttribute("seguidos", seguidos); + request.setAttribute("seguidores", seguidores); + request.setAttribute("videos", videos); + request.setAttribute("listasRep", listasRep); + request.setAttribute("propietario", usuarioPropietario); + request.setAttribute("sesionIniciada", sesionIniciada); - /** - * Handles the HTTP <code>POST</code> method. - * - * @param request servlet request - * @param response servlet response - * @throws ServletException if a servlet-specific error occurs - * @throws IOException if an I/O error occurs - */ - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/ConsultaUsuario.jsp"); + rd.forward(request, response); + + } catch (Exception e) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } } /** diff --git a/UyTube_web/src/java/com/uytube/IniciarSesion.java b/UyTube_web/src/java/com/uytube/IniciarSesion.java index 56956cdc093c050bc61f04a1d56bb692d134ca67..47949f79277b7d1b945de785f3815f5301158fdc 100644 --- a/UyTube_web/src/java/com/uytube/IniciarSesion.java +++ b/UyTube_web/src/java/com/uytube/IniciarSesion.java @@ -5,6 +5,8 @@ */ package com.uytube; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; @@ -13,12 +15,13 @@ import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; /** * * @author administrador */ -@WebServlet(name = "IniciarSesion", urlPatterns = {"/iniciar-sesion"}) +@WebServlet("/inicio-sescion") public class IniciarSesion extends HttpServlet { /** @@ -76,7 +79,26 @@ public class IniciarSesion extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + String paramUser = request.getParameter("user"); + String paramPassword = request.getParameter("password"); + RequestDispatcher rd; //objeto para despachar + + HttpSession sesion = request.getSession(); + //sesion.invalidate(); + + if(sys.iniciarSesionUsuario(paramUser, paramPassword) && sesion.getAttribute(paramUser) == null){ + String nick = sys.obtenerUsuarioActual().getNickname(); + //si coincide usuario y password y además no hay sesión iniciada + sesion.setAttribute("usuario", nick); + //redirijo a página con información de login exitoso + rd = request.getRequestDispatcher("/Presentacion.jsp"); + }else{ + //lógica para login inválido + rd = request.getRequestDispatcher("/IniciarSesion.jsp"); + } + rd.forward(request, response); } /** diff --git a/UyTube_web/src/java/com/uytube/ListarCategoria.java b/UyTube_web/src/java/com/uytube/ListarCategoria.java new file mode 100644 index 0000000000000000000000000000000000000000..4d9b82ef7eee8c08bcadd68ab2576a7a29b45e3b --- /dev/null +++ b/UyTube_web/src/java/com/uytube/ListarCategoria.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class ListarCategoria extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet ListarCategoria</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet ListarCategoria at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/Perfil.java b/UyTube_web/src/java/com/uytube/ListarUsuario.java similarity index 92% rename from UyTube_web/src/java/com/uytube/Perfil.java rename to UyTube_web/src/java/com/uytube/ListarUsuario.java index 512a2d6f8b8bfba02888afdf0ca2aa0905b1685d..27a648e3444943422443f8c2ae27a9008703aa0d 100644 --- a/UyTube_web/src/java/com/uytube/Perfil.java +++ b/UyTube_web/src/java/com/uytube/ListarUsuario.java @@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletResponse; * * @author administrador */ -public class Perfil extends HttpServlet { +public class ListarUsuario extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> @@ -35,10 +35,10 @@ public class Perfil extends HttpServlet { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); - out.println("<title>Servlet Perfil</title>"); + out.println("<title>Servlet ListarUsuario</title>"); out.println("</head>"); out.println("<body>"); - out.println("<h1>Servlet Perfil at " + request.getContextPath() + "</h1>"); + out.println("<h1>Servlet ListarUsuario at " + request.getContextPath() + "</h1>"); out.println("</body>"); out.println("</html>"); } diff --git a/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java b/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java new file mode 100644 index 0000000000000000000000000000000000000000..2c5bd2104f136416d5d8d14595890e2e638216d7 --- /dev/null +++ b/UyTube_web/src/java/com/uytube/ModificarListaReproduccion.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class ModificarListaReproduccion extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet ModificarListaReproduccion</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet ModificarListaReproduccion at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/ModificarUsuario.java b/UyTube_web/src/java/com/uytube/ModificarUsuario.java new file mode 100644 index 0000000000000000000000000000000000000000..d4e53bba1089000a89da9f108ccb3be8cb04166f --- /dev/null +++ b/UyTube_web/src/java/com/uytube/ModificarUsuario.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class ModificarUsuario extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet ModificarUsuario</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet ModificarUsuario at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/ValidarUsuario.java b/UyTube_web/src/java/com/uytube/ModificarVideo.java similarity index 78% rename from UyTube_web/src/java/com/uytube/ValidarUsuario.java rename to UyTube_web/src/java/com/uytube/ModificarVideo.java index e1c3b2d87a9aab0460f9b5b1a24943d6132ca4f2..e7574453fa7554288f16f377aedee2b2d53d5c08 100644 --- a/UyTube_web/src/java/com/uytube/ValidarUsuario.java +++ b/UyTube_web/src/java/com/uytube/ModificarVideo.java @@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletResponse; * * @author administrador */ -public class ValidarUsuario extends HttpServlet { +public class ModificarVideo extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> @@ -35,10 +35,10 @@ public class ValidarUsuario extends HttpServlet { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); - out.println("<title>Servlet ValidarUsuario</title>"); + out.println("<title>Servlet ModificarVideo</title>"); out.println("</head>"); out.println("<body>"); - out.println("<h1>Servlet ValidarUsuario at " + request.getContextPath() + "</h1>"); + out.println("<h1>Servlet ModificarVideo at " + request.getContextPath() + "</h1>"); out.println("</body>"); out.println("</html>"); } @@ -56,16 +56,7 @@ public class ValidarUsuario extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String txtUsuario = request.getParameter("userdata"); // obtiene lo enviado por AJAX - response.setContentType("text/plain"); //Set content type of the response so that jQuery knows what it can expect. - response.setCharacterEncoding("UTF-8"); //You want world domination, huh? - String respuesta; - if(txtUsuario.equals("pedro")){ - respuesta = "Pedro ya existe"; - }else{ - respuesta = "El usuario está disponible"; - } - response.getWriter().write(respuesta); + processRequest(request, response); } /** diff --git a/UyTube_web/src/java/com/uytube/ValidarLogin.java b/UyTube_web/src/java/com/uytube/PeticionAjax.java similarity index 64% rename from UyTube_web/src/java/com/uytube/ValidarLogin.java rename to UyTube_web/src/java/com/uytube/PeticionAjax.java index ae1835a8975acd7eaf8ff130c3ee9b37cd5a1aeb..92cbb1600872f6c5eb7bb55d98667ab5d84a11d3 100644 --- a/UyTube_web/src/java/com/uytube/ValidarLogin.java +++ b/UyTube_web/src/java/com/uytube/PeticionAjax.java @@ -7,20 +7,16 @@ package com.uytube; import java.io.IOException; import java.io.PrintWriter; -import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; /** * * @author administrador */ -@WebServlet("/validar-login") -public class ValidarLogin extends HttpServlet { +public class PeticionAjax extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> @@ -39,10 +35,10 @@ public class ValidarLogin extends HttpServlet { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); - out.println("<title>Servlet ValidarLogin</title>"); + out.println("<title>Servlet PeticionAjax</title>"); out.println("</head>"); out.println("<body>"); - out.println("<h1>Servlet ValidarLogin at " + request.getContextPath() + "</h1>"); + out.println("<h1>Servlet PeticionAjax at " + request.getContextPath() + "</h1>"); out.println("</body>"); out.println("</html>"); } @@ -60,7 +56,21 @@ public class ValidarLogin extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + /* + Aca debe recibir un parametor de nombre accion el cual define cual es la funcion + que se debe ejecutar + */ + String accion = request.getParameter("accion"); // obtiene lo enviado por AJAX + String txtUsuario = request.getParameter("nombre"); // obtiene lo enviado por AJAX + response.setContentType("text/plain"); //Set content type of the response so that jQuery knows what it can expect. + response.setCharacterEncoding("UTF-8"); //You want world domination, huh? + String respuesta; + if(txtUsuario.equals("pedro")){ + respuesta = "Pedro ya existe"; + }else{ + respuesta = "El usuario está disponible"; + } + response.getWriter().write(respuesta); } /** @@ -74,34 +84,8 @@ public class ValidarLogin extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String user = "usuario"; - String password = "123"; - - String paramUser = request.getParameter("user"); - String paramPassword = request.getParameter("password"); - RequestDispatcher rd; //objeto para despachar - - System.out.println("user: "+paramUser); - System.out.println("password: "+paramPassword); - - HttpSession sesion = request.getSession(); - //sesion.invalidate(); - - //deberÃamos buscar el usuario en la base de datos, pero dado que se escapa de este tema, ponemos un ejemplo en el mismo código - if(user.equals(paramUser) && password.equals(paramPassword) && sesion.getAttribute(paramUser) == null){ - //si coincide usuario y password y además no hay sesión iniciada - sesion.setAttribute("usuario", paramUser); - //redirijo a página con información de login exitoso - rd = request.getRequestDispatcher("/Presentacion.jsp"); - }else{ - //lógica para login inválido - rd = request.getRequestDispatcher("/IniciarSesion.jsp"); - } - rd.forward(request, response); + processRequest(request, response); } - - - /** * Returns a short description of the servlet. diff --git a/UyTube_web/src/java/com/uytube/QuitarVideoDeListaReproduccion.java b/UyTube_web/src/java/com/uytube/QuitarVideoDeListaReproduccion.java new file mode 100644 index 0000000000000000000000000000000000000000..157d9a086e2016c15f2e13f745a89dbb74be1dfe --- /dev/null +++ b/UyTube_web/src/java/com/uytube/QuitarVideoDeListaReproduccion.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class QuitarVideoDeListaReproduccion extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet QuitarVideoDeListaReproduccion</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet QuitarVideoDeListaReproduccion at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/src/java/com/uytube/SeguirUsuario.java b/UyTube_web/src/java/com/uytube/SeguirUsuario.java new file mode 100644 index 0000000000000000000000000000000000000000..10ce5ef0736ade09b4b1e3d0f5ea1a444b13f585 --- /dev/null +++ b/UyTube_web/src/java/com/uytube/SeguirUsuario.java @@ -0,0 +1,86 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.uytube; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author administrador + */ +public class SeguirUsuario extends HttpServlet { + + /** + * Processes requests for both HTTP <code>GET</code> and <code>POST</code> + * methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + try (PrintWriter out = response.getWriter()) { + /* TODO output your page here. You may use following sample code. */ + out.println("<!DOCTYPE html>"); + out.println("<html>"); + out.println("<head>"); + out.println("<title>Servlet SeguirUsuario</title>"); + out.println("</head>"); + out.println("<body>"); + out.println("<h1>Servlet SeguirUsuario at " + request.getContextPath() + "</h1>"); + out.println("</body>"); + out.println("</html>"); + } + } + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP <code>POST</code> method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} diff --git a/UyTube_web/web/AltaListaReproduccion.jsp b/UyTube_web/web/AltaListaReproduccion.jsp new file mode 100644 index 0000000000000000000000000000000000000000..270960ba08d4b717c17a67bfccda3fec6d522bac --- /dev/null +++ b/UyTube_web/web/AltaListaReproduccion.jsp @@ -0,0 +1,17 @@ +<%-- + Document : AltaListaReproduccion + Created on : 09/10/2019, 07:34:34 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>AltaListaReproduccion</h1> + </body> +</html> diff --git a/UyTube_web/web/AltaUsuario.jsp b/UyTube_web/web/AltaUsuario.jsp index 0e29fb3fc23e8d16c512ed87567170c397a87fa4..b016e84e3883db03892aabba5a86432935c6d82a 100644 --- a/UyTube_web/web/AltaUsuario.jsp +++ b/UyTube_web/web/AltaUsuario.jsp @@ -1,6 +1,6 @@ <%-- Document : AltaUsuario - Created on : 06/10/2019, 11:40:19 PM + Created on : 09/10/2019, 10:15:12 AM Author : administrador --%> @@ -14,13 +14,12 @@ <link rel="stylesheet" type="text/css" href="css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="css/body.css"> <link rel="stylesheet" type="text/css" href="css/header.css"> - <link rel="stylesheet" type="text/css" href="css/principal.css"> <link rel="stylesheet" type="text/css" href="css/menu.css"> <link rel="stylesheet" type="text/css" href="css/widget.css"> <link rel="stylesheet" type="text/css" href="css/footer.css"> - <link rel="stylesheet" type="text/css" href="css/contenido-alta-usuario.css"> + <link rel="stylesheet" type="text/css" href="css/contenido-alta-usuario.css"> <link rel="stylesheet" type="text/css" href="iconos/style.css"> - <link rel="icon" type="image/png" href="imagenes/icono.png" /> + <title>UyTube</title> </head> <body> @@ -28,31 +27,7 @@ <div class="container-fluid"> <div class="row"> <div class="col-12"> - <header class="header"> - <nav> - <div class="navbar-dark item-header item-header1" id="navLogo"> - <label class="icon-menu1"></label> - <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> - </div> - <div class="navbar-dark item-header item-header2"> - <div id="navbarSupportedContent"> - <form class="form-inline my-2 my-lg-0 formBuscar" id="formBuscar"> - <input class=" mr-sm-2" type="search" placeholder="Search" aria-label="Search"> - <button class="btn btn-primary" id="btnBuscar" type="submit">Buscar</button> - </form> - </div> - </div> - <div class="perfil item-header item-header3"> - <!-- <div class="flex-row justify-content-lg-space-between alig-content-center m-1"> - <p class="pr-2 pt-4" id="nombrePerfil">Homero Simpson</p> - </div> - <div> - <img id="fotoPerfil" src="imagenes/homero.jpg" alt="Perfil"> - </div> --> - <button type="button" id="iniciar-sesion" class="btn btn-outline-primary"><span class="icon-user-tie"></span> INICIAR SESIÓN</button> - </div> - </nav> - </header> + <%@ include file='include/header-visitante.html' %> </div> </div> </div> @@ -72,46 +47,43 @@ <section class="contenido-flexible"> <div class="principal d-flex flex-row justify-content-center"> <section class="d-flex flex-lg-row flex-wrap justify-content-lg-between"> - <form class="form-signin"> - - <h1 class="h3 mb-3 font-weight-normal" id="Texto_ingrese">Complete el formulario por favor</h1><br> - - <input class="form-control" type="text" placeholder="Nickname" id="input_Nickname" required><span id="msjNickname"></span> <br> + <form class="form-signin" action="/uytube/usuario-agregar" method="post"> + <h1 class="h3 mb-3 font-weight-normal" id="Texto_ingrese">Ingrese sus datos</h1><br> + <input class="form-control" type="text" name="nickname" placeholder="Nickname" id="input_Nickname" required><span id="msjNickname"></span> <br> <div class="row"> <div class="col-md-6 mb-3"> - <input type="text" class="form-control" id="input_Nombre" placeholder="Nombre" value="" required> + <input type="text" class="form-control" name="nombre" id="input_Nombre" placeholder="Nombre" required> </div> <div class="col-md-6 mb-3"> - <input type="text" class="form-control" id="input_Apellido" placeholder="Apellido" value="" required> + <input type="text" class="form-control" name="apellido" id="input_Apellido" placeholder="Apellido" required> </div> </div> - <div class="mb-3"> - <input type="email" class="form-control" id="email" placeholder="Email"> + <input type="email" class="form-control" name="email" id="email" placeholder="Email" required> </div> - <input class="form-control" type="date" id="input_fecha" name="trip-start"><br> + <input class="form-control" name="fechaNa" type="date" id="input_fecha" name="trip-start"><br> <input class="form-control" type="password" placeholder="Contraseña" id="input_Contraseña" required><br> - <input class="form-control" type="password" placeholder="Repetir contraseña" id="input_Repetir_contraseña" required> + <input class="form-control" name="password" type="password" placeholder="Repetir contraseña" id="input_Repetir_contraseña" required> <div class="d-block my-3"> <label for="cc-name">Privacidad del canal</label> <div class="custom-control custom-radio"> - <input id="publico" name="paymentMethod" type="radio" class="custom-control-input" checked required> + <input id="publico" name="privacidad" type="radio" class="custom-control-input" checked > <label class="custom-control-label" for="publico">Publico</label> </div> <div class="custom-control custom-radio"> - <input id="privado" name="paymentMethod" type="radio" class="custom-control-input" required> + <input id="privado" name="privacidad" name="foto" type="radio" class="custom-control-input" > <label class="custom-control-label" for="privado">Privado</label> </div> </div> <hr class="mb-4"> - <input class="form-control" type="text" placeholder="Nombre del Canal" id="input_Nombre_canal" required> + <input class="form-control" name="canal" type="text" placeholder="Nombre del Canal" id="input_Nombre_canal" required> <small class="text-muted">Opcional*</small><br><br> - <textarea class="form-control" id="input_descripcion" placeholder="Descripción del Canal" rows="3"></textarea> + <textarea class="form-control" name="descripcion" id="input_descripcion" placeholder="Descripción del Canal" rows="3"></textarea> <small class="text-muted">Opcional*</small><br><br> <div class="form-group"> diff --git a/UyTube_web/web/AltaVideo.jsp b/UyTube_web/web/AltaVideo.jsp index 6283a9e9096cbfdcbaaf031b9bf5747c1114b154..be67124298cb0a935c76512f55c8b96097fa217a 100644 --- a/UyTube_web/web/AltaVideo.jsp +++ b/UyTube_web/web/AltaVideo.jsp @@ -43,7 +43,7 @@ <section class="contenido-flexible"> <!--================== Aca va el contenido central para agregar ========================== --> <h3>Alta de video</h3> - <form class="form-alta-video" action="alta-video" method="post" > + <form class="form-alta-video" action="/uytube/video-agregar" method="post" > <div class="form-group row"> <div class="form-group col-md-10"> <label for="inputNombre">Nombre</label> diff --git a/UyTube_web/web/Buscar.jsp b/UyTube_web/web/Buscar.jsp index 124f34c1cfdabb0826356de516d610926aafc9d9..06cb4e42be67b6f512840c1a566e486b47ee9618 100644 --- a/UyTube_web/web/Buscar.jsp +++ b/UyTube_web/web/Buscar.jsp @@ -1,12 +1,18 @@ <%-- - Document : ConsultaUsuario - Created on : 07/10/2019, 01:25:13 AM + Document : Buscar + Created on : 09/10/2019, 07:55:42 PM Author : administrador --%> +<%@page import="Logica.DataType.DtUsuario"%> +<%@page import="Logica.Fabrica"%> +<%@page import="Logica.DataType.DtVideo"%> +<%@page import="Logica.DataType.DtListaDeReproduccion"%> +<%@page import="Logica.DataType.DtCanal"%> +<%@page import="java.util.ArrayList"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> - <!DOCTYPE html> + <html lang="es"> <head> <meta charset="UTF-8"> @@ -18,7 +24,7 @@ <link rel="stylesheet" type="text/css" href="css/menu.css"> <link rel="stylesheet" type="text/css" href="css/widget.css"> <link rel="stylesheet" type="text/css" href="css/footer.css"> - <link rel="stylesheet" type="text/css" href="css/contenido-consulta-usuario.css"> + <link rel="stylesheet" type="text/css" href="css/contenido-buscar.css"> <link rel="stylesheet" type="text/css" href="iconos/style.css"> <link rel="icon" type="image/png" href="imagenes/icono.png" /> <title>UyTube</title> @@ -27,31 +33,18 @@ <div class="container-fluid"> <div class="row"> <div class="col-12"> - <header class="header"> - <nav> - <div class="navbar-dark item-header item-header1" id="navLogo"> - <label class="icon-menu1"></label> - <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> - </div> - <div class="navbar-dark item-header item-header2"> - <div id="navbarSupportedContent"> - <form class="form-inline my-2 my-lg-0 formBuscar" id="formBuscar"> - <input class=" mr-sm-2" type="search" placeholder="Search" aria-label="Search"> - <button class="btn btn-primary" id="btnBuscar" type="submit">Buscar</button> - </form> - </div> - </div> - <div class="perfil item-header item-header3"> - <!--<div class="flex-row justify-content-lg-space-between alig-content-center m-1"> - <p class="pr-2 pt-4" id="nombrePerfil">Homero Simpson</p> - </div> - <div> - <img id="fotoPerfil" src="imagenes/homero.jpg" alt="Perfil"> - </div> --> - <button type="button" id="iniciar-sesion" class="btn btn-outline-primary"><span class="icon-user-tie"></span> INICIAR SESIÓN</button> - </div> - </nav> - </header> + <!-- Inclusion de la barra superior --> + <% + if (false){ + %> + <%@ include file='include/header-usuario.html' %> + <% + }else{ + %> + <%@ include file='include/header-visitante.html' %> + <% + } + %> </div> </div> </div> @@ -118,48 +111,101 @@ <!--LISTA DE CONTENIDO--> <div class="tab-pane fade show active" id="videos" role="tabpanel" aria-labelledby="nav-VIDEO-tab"> - - <br><div class="Elemento_Lista d-flex bd-highlight "> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="p-1 bd-highlight "> - <img src="imagenes/lista.jpg" alt="lista" width="300" height="160"> + <% + ArrayList<Object> lista = (ArrayList) request.getAttribute("Lista"); + for (Object o : lista){ + if (o instanceof DtVideo){ + DtVideo e = (DtVideo) o; + String miniatura = Funciones.Funciones.obtenerImagenDeVideo( + Funciones.Funciones.extraerIDYoutube(e.getUrlVideoOriginal()), + 2 + ); + %> + <div class="video"> + <div class="bd-highlight caja-imagen"> + <div class="bd-highlight"> + <a href="video-consultar?id=<%= e.getId() %>"> + <img src="<%= miniatura %>" width="246" height="138"> + </a> </div> </div> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">Titulo de la Lista</h5> - <p>Descripcion de la lista: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <div class="bd-highlight caja-texto justify-content-start"> + <div class="bg-light" > + <h5 class="mt-0"> + <a href="video-consultar?id=<%= e.getId() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p><%= e.getDescripcion() %></p> </div> </div> - </div><br> + </div> + <br> + <% + }else if (o instanceof DtListaDeReproduccion){ + DtListaDeReproduccion e = (DtListaDeReproduccion) o; + %> + <br><div class="lista bd-highlight"> + <div class="bd-highlight caja-imagen"> + <div class="bd-highlight "> + <a href="lista-consultar?id=<%= e.getId()%>"> + <img src="imagenes/lista.jpg" alt="lista" width="246" height="138"> + </a> - <div class="Elemento_Video d-flex bd-highlight "> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="p-1 bd-highlight "> - <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/9Ni-Eea8n48" allowfullscreen></iframe> </div> </div> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">Titulo del video</h5> - <p>Descripcion del video: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <div class=" bd-highlight caja-texto justify-content-start"> + <div class="overflow-auto bg-light" > + <h5 class="mt-0"> + <a href="lista-consultar?id=<%= e.getId() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p>CategorÃa: <%= e.getCategoria() %></p> </div> </div> - </div><br> - - <div class="Elemento_Canal d-flex bd-highlight "> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="p-1 bd-highlight "> - <img src="imagenes/mestruli.jpg" class="align-self-center rounded-circle" alt="Cinque Terre" width="180" height="180"> + </div> + <br> + <% + }else if (o instanceof DtCanal){ + DtCanal e = (DtCanal) o; + // buena suerte entendiendo esto... + DtUsuario usu = Fabrica.getInstancia().getIUsuario().obtenerPropietarioDeCanal(e.getId()); + String imagenCanal; + if (usu.getImagen() == null || usu.getImagen().equals("")){ + imagenCanal = "imagenes/ukp.png"; + }else{ + imagenCanal = usu.getImagen(); + } + %> + <div class="canal bd-highlight"> + <div class="bd-highlight caja-imagen"> + <div class="bd-highlight"> + <a href="usuario-consultar?id=<%= usu.getNickname() %>"> + <img src="<%= imagenCanal %>" class="align-self-center rounded-circle" alt="Cinque Terre" > + </a> </div> </div> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">Nombre del canal</h5> - <p>Descripcion del canal: EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <div class="bd-highlight caja-texto justify-content-start"> + <div class="overflow-auto bg-light"> + <h5 class="mt-0"> + <a href="usuario-consultar?id=<%= usu.getNickname() %>"> + <%= e.getNombre() %> + </a> + </h5> + <p><%= e.getDescripcion() %></p> </div> </div> - </div><br> + </div> + <br> + <% + } + } + %> + + + + </div> <!--FIN de LISTA DE CONTENIDO--> diff --git a/UyTube_web/web/ConsultaUsuario.jsp b/UyTube_web/web/ConsultaUsuario.jsp index 79505f507c01a0be715be367bd65342b3ff37842..53061ee1019e598357ea7ace81914c54e13673f8 100644 --- a/UyTube_web/web/ConsultaUsuario.jsp +++ b/UyTube_web/web/ConsultaUsuario.jsp @@ -4,9 +4,24 @@ Author : administrador --%> +<%@page import="Logica.DataType.DtListaDeReproduccion"%> +<%@page import="Logica.DataType.DtVideo"%> +<%@page import="Logica.DataType.DtCanal"%> +<%@page import="java.util.ArrayList"%> +<%@page import="Logica.DataType.DtUsuario"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="es"> + <% + boolean propietario = (boolean) request.getAttribute("propietario"); + boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada"); + DtUsuario usuario = (DtUsuario) request.getAttribute("usuario"); + DtCanal canal = (DtCanal) request.getAttribute("canal"); + ArrayList<DtUsuario> seguidos = (ArrayList) request.getAttribute("seguidos"); + ArrayList<DtUsuario> seguidores = (ArrayList) request.getAttribute("seguidores"); + ArrayList<DtVideo> videos = (ArrayList) request.getAttribute("videos"); + ArrayList<DtListaDeReproduccion> listasRep = (ArrayList) request.getAttribute("listasRep"); + %> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> @@ -20,38 +35,25 @@ <link rel="stylesheet" type="text/css" href="css/contenido-consulta-usuario.css"> <link rel="stylesheet" type="text/css" href="iconos/style.css"> <link rel="icon" type="image/png" href="imagenes/icono.png" /> - <title>UyTube</title> + <title>UyTube - <%= usuario.getNickname()%></title> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col-12"> - <header class="header"> - <nav> - <div class="navbar-dark item-header item-header1" id="navLogo"> - <label class="icon-menu1"></label> - <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> - </div> - <div class="navbar-dark item-header item-header2"> - <div id="navbarSupportedContent"> - <form class="form-inline my-2 my-lg-0 formBuscar" id="formBuscar"> - <input class=" mr-sm-2" type="search" placeholder="Search" aria-label="Search"> - <button class="btn btn-primary" id="btnBuscar" type="submit">Buscar</button> - </form> - </div> - </div> - <div class="perfil item-header item-header3"> - <!-- <div class="flex-row justify-content-lg-space-between alig-content-center m-1"> - <p class="pr-2 pt-4" id="nombrePerfil">Homero Simpson</p> - </div> - <div> - <img id="fotoPerfil" src="imagenes/homero.jpg" alt="Perfil"> - </div> --> - <button type="button" id="iniciar-sesion" class="btn btn-outline-primary"><span class="icon-user-tie"></span> INICIAR SESIÓN</button> - </div> - </nav> - </header> + <!-- Inclusion de la barra superior --> + <% + if (sesionIniciada){ + %> + <%@ include file='include/header-usuario.html' %> + <% + }else{ + %> + <%@ include file='include/header-visitante.html' %> + <% + } + %> </div> </div> </div> @@ -65,42 +67,83 @@ <div class="container-fluid"> <div class="row"> <div class="col-12"> - <section class="principal"> + <section class="principal"> + <!-- Inclusion del menu lateral --> + <% + if (sesionIniciada) { + %> <%@ include file='include/menu-usuario.html' %> - + <% + } else { + %> + <%@ include file='include/menu-visitante.html' %> + <% + } + %> <div class="contenido"> <section class="contenido-flexible"> <div class="container"> - - <div class="d-flex bd-highlight "> <div class="p-4 flex-fill bd-highlight"> <div class="d-flex justify-content-center"> - <img src="imagenes/mestruli.jpg" class="rounded-circle" alt="Cinque Terre" width="180" height="180"> + <% + String textoAlternativo; + String rutaDeImagenDePerfil; + if (usuario.getImagen() == null || usuario.getImagen().equals("")) { + rutaDeImagenDePerfil = "imagenes/ukp.png"; + textoAlternativo = "Imagen de perfil por defecto"; + } else { + rutaDeImagenDePerfil = usuario.getImagen(); + textoAlternativo = "Imagen de perfil de " + usuario.getNickname(); + //char contrabarra = 92; + //char barra = 47; + //rutaImagenPerfil = rutaImagenPerfil = rutaImagenPerfil.replace(contrabarra, barra); + } + %> + <img src="<%=rutaDeImagenDePerfil%>" class="rounded-circle" alt="<%=textoAlternativo%>" width="180" height="180"> </div> </div> <div class="p-1 flex-fill bd-highlight "> <div class="p-2 bd-highlight "> - <br><h3>Maestruli Garrido</h3> + <br><h3><%= usuario.getNombre() + " " + usuario.getApellido()%></h3> <hr class="mb-1"> </div> <div class="p-1 bd-highlight "> <div class="d-flex bd-highlight "> <div class="p-1 flex-fill bd-highlight "> - <p class="text-info">El_Canal_ReLoco ✔</p> + <p class="text-info"><%= canal.getNombre()%> ✔</p> </div> <div class="p-1 flex-fill bd-highlight "> - <p>69,420,420.5 seguidores</p> + <p><%= usuario.getCantSeguidores()%> seguidores</p> </div> </div> </div> <div class="p-1 bd-highlight "> <div class="d-flex bd-highlight "> <div class="p-1 flex-fill bd-highlight "> - <p>PRIVACIDAD: PUBLICO</p> + <p>PRIVACIDAD: <%= canal.getPrivacidad()%></p> </div> <div class="p-1 flex-fill bd-highlight "> - <p>CATEGORIA: HUMOR</p> + <% + if (sesionIniciada && propietario) { + %> + <a href="/usuario-modificar?id=<%= usuario.getNickname()%>"> + <button class="btn btn-primary" id="btnBuscar" type="submit"> + Modificar + </button> + </a> + <% + } + %> + <% + if (sesionIniciada && !propietario) { + %> + <button class="btn btn-primary" id="btnBuscar" type="submit"> + Seguir (IMPLENENTAR...) + </button> + <% + } + %> </div> </div> </div> @@ -119,133 +162,124 @@ </div> <div class="tab-content" id="nav-tabContent"> + <!-- Pestaña de videos --> <div class="tab-pane fade show active" id="videos" role="tabpanel" aria-labelledby="nav-VIDEO-tab"> - - <br><div class="d-flex bd-highlight "> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="p-1 bd-highlight "> - <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/fepmsnGBwJo" allowfullscreen></iframe> - </div> - </div> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">NTVG A las nueve Letra</h5> - <p>DashGo/Audiobee, The Orchard Music (en nombre de Elefante Blanco); EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> - </div> - </div> - </div><br> - + <br> + <% + for (DtVideo v : videos) { + String urlEmbebida = Funciones.Funciones.obtenerEnlaceEmbebido( + Funciones.Funciones.extraerIDYoutube(v.getUrlVideoOriginal()) + ); + %> + <!-- Video individual en la lista --> <div class="d-flex bd-highlight "> <div class="p-1 flex-shrink-1 bd-highlight "> <div class="p-1 bd-highlight "> - <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/9Ni-Eea8n48" allowfullscreen></iframe> + <iframe class="embed-responsive-item" src="<%= urlEmbebida%>" allowfullscreen></iframe> </div> </div> <div class="p-1 flex-shrink-1 bd-highlight "> <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">El maestruli 10 horas</h5> - <p>DashGo/Audiobee, The Orchard Music (en nombre de Elefante Blanco); EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> + <a href="/video-consultar?id=<%= v.getId()%>"> + <h5 class="mt-0"><%= v.getNombre()%></h5> + </a> + <p><%= v.getDescripcion()%></p> </div> </div> - </div><br> - - <div class="d-flex bd-highlight "> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="p-1 bd-highlight "> - <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/v0YIROg_DSY" allowfullscreen></iframe> - </div> - </div> - <div class="p-1 flex-shrink-1 bd-highlight "> - <div class="overflow-auto p-1 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 530px; max-height: 170px;"> - <h5 class="mt-0">lamento boliviano-enanitos verdes (letra)</h5> - <p>DashGo/Audiobee, The Orchard Music (en nombre de Elefante Blanco); EMI Music Publishing, Warner Chappell, UNIAO BRASILEIRA DE EDITORAS DE MUSICA - UBEM, LatinAutor, ASCAP, LatinAutor - SonyATV y 4 sociedades de derechos musicales</p> - </div> - </div> - </div><br> - - - - - + </div> + <% + } + %><% + if (videos.isEmpty()) { + %> + <li class="list-group-item d-flex justify-content-between align-items-center"> + El usuario no tiene videos + </li> + <% + } + %> + <br> </div> + <!-- Pestaña de listas de reproduccion --> <div class="tab-pane fade show" id="listas" role="tabpanel" aria-labelledby="nav-LISTAS-tab"> <br><ul class="list-group"> + <% + for (DtListaDeReproduccion l : listasRep) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - Ver mas tarde - <span class="badge badge-primary badge-pill">14 videos</span> + <a href="/lista-consultar?id=<%= l.getId()%>"> + <%= l.getNombre()%> + </a> </li> + <% + } + %><% + if (listasRep.isEmpty()) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - Faboritos - <span class="badge badge-primary badge-pill">2 videos</span> - </li><br> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja - <span class="badge badge-primary badge-pill">5 videos</span> - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja 2 - <span class="badge badge-primary badge-pill">2 videos</span> - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja 3 - <span class="badge badge-primary badge-pill">36 videos</span> + El usuario no tiene listas de reproducción </li> + <% + } + %> </ul> </div> + <!-- Pestaña de usuarios seguidores --> <div class="tab-pane fade show " id="seguidores" role="tabpanel" aria-labelledby="nav-SEGUIDORES-tab"> <br><ul class="list-group"> + <% + for (DtUsuario u : seguidores) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - El_mafuba@242 - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Elsa_lame_23 + <a href="usuario-consultar?id=<%= u.getNickname()%>"> + <%= u.getNickname()%> + </a> </li> + <% + } + %><% + if (seguidores.isEmpty()) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja_mela - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - profe_pol_vaso - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja420 + El usuario no tiene seguidores </li> + <% + } + %> </ul> </div> + <!-- Pestaña de usuarios seguidos --> <div class="tab-pane fade show " id="seguidos" role="tabpanel" aria-labelledby="nav-SEGUIDOS-tab"> - - <br><ul class="list-group"> + <% + for (DtUsuario u : seguidos) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - TOTAL DE USUARIOS SEGUIDOS: - <span class="badge badge-primary badge-pill">5</span> - </li><br> - <li class="list-group-item d-flex justify-content-between align-items-center"> - El_mafuba@242 - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Elsa_lame_23 + <a href="usuario-consultar?id=<%= u.getNickname()%>"> + <%= u.getNickname()%> + </a> </li> + <% + } + %><% + if (seguidos.isEmpty()) { + %> <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja_mela - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - profe_pol_vaso - </li> - <li class="list-group-item d-flex justify-content-between align-items-center"> - Maruja420 + El usuario no sigue a nadie </li> + <% + } + %> </ul> </div> </div> </div> </section> </div> - - </section> </div> </div> diff --git a/UyTube_web/web/ConsultarListaReproduccion.jsp b/UyTube_web/web/ConsultarListaReproduccion.jsp new file mode 100644 index 0000000000000000000000000000000000000000..e0975e328e263d8d32a4e734f451c6828f0a53b1 --- /dev/null +++ b/UyTube_web/web/ConsultarListaReproduccion.jsp @@ -0,0 +1,17 @@ +<%-- + Document : ConsultarListaReproduccion + Created on : 09/10/2019, 07:35:55 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>ConsultarListaReproduccion</h1> + </body> +</html> diff --git a/UyTube_web/web/IniciarSesion.jsp b/UyTube_web/web/IniciarSesion.jsp index 792f06ad96c08604664b192e5caf2d9ba8bbf612..1b3af1e08438cd2498b3683940d165b7d2217045 100644 --- a/UyTube_web/web/IniciarSesion.jsp +++ b/UyTube_web/web/IniciarSesion.jsp @@ -27,31 +27,7 @@ <div class="container-fluid"> <div class="row"> <div class="col-12"> - <header class="header"> - <nav> - <div class="navbar-dark item-header item-header1" id="navLogo"> - <label class="icon-menu1"></label> - <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> - </div> - <div class="navbar-dark item-header item-header2"> - <div id="navbarSupportedContent"> - <form class="form-inline my-2 my-lg-0 formBuscar" id="formBuscar"> - <input class=" mr-sm-2" type="search" placeholder="Search" aria-label="Search"> - <button class="btn btn-primary" id="btnBuscar" type="submit">Buscar</button> - </form> - </div> - </div> - <div class="perfil item-header item-header3"> - <!-- <div class="flex-row justify-content-lg-space-between alig-content-center m-1"> - <p class="pr-2 pt-4" id="nombrePerfil">Homero Simpson</p> - </div> - <div> - <img id="fotoPerfil" src="imagenes/homero.jpg" alt="Perfil"> - </div> --> - <button type="button" id="btnRegistrarse" class="btn btn-outline-primary"><span class="icon-user-tie"></span> Registrarse</button> - </div> - </nav> - </header> + <%@ include file='include/header-visitante.html' %> </div> </div> </div> @@ -66,36 +42,13 @@ <div class="row"> <div class="col-12"> <section class="principal"> - <aside class="menu" > - <ul> - <li> - <span> - <label class="icon-menu1"></label> - <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> - </span> - </li> - <li><a href="#"><span class="icon-user"></span> Mi Perfil</a></li> - <li class="titulo">VIDEOS</li> - <li><a href=""><span class="icon-upload3"></span> Subir video</a></li> - <li><a href=""><span class="icon-video-camera"></span> Ver videos</a></li> - <li class="titulo">LISTAS</li> - <li><a href=""><span class="icon-add-to-list"></span> Crear lista</a></li> - <li><a href="">Ver más tarde</a></li> - <li><a href=""><span class="icon-like"></span> Me gusta</a></li> - <li><a href="">Música para estudiar</a></li> - <li class="titulo">CATEGORIAS</li> - <li><a href="">Música</a></li> - <li><a href="">Juegos</a></li> - <li><a href="">Deportes</a></li> - <li class="salir"><a href=""><span class="icon-exit"></span> SALIR</a></li> - </ul> - </aside> + <%@ include file='include/menu-visitante.html' %> <div class="contenido"> <section class="contenido-flexible"> <div class="principal d-flex flex-row justify-content-center"> <section class="d-flex flex-lg-row flex-wrap justify-content-lg-between"> - <form class="form-signin" action="validar-login" method="post"> + <form class="form-signin" action="/uytube/inicio-sesion" method="post"> <img class="mb-4" src="imagenes/UyTubeAlfa.png" alt="UyTube" > <h1 class="h3 mb-3 font-weight-normal" id="Texto_ingrese">Ingrese por favor</h1> <label for="inputEmail" class="sr-only" id="label_email">Nickname/Email</label> @@ -110,7 +63,7 @@ </div> <button class="btn btn-lg btn-primary btn-block mb-4" type="submit" id="btn_Ingresar">Ingresar</button> - <a href="/uytube/alta-usuario" >Registrase</a> + <a href="/uytube/usuario-agregar" >Registrase</a> <br><br> <p class="mt-5 mb-3 text-muted" id="texto_copy">© 2019-2020</p> @@ -134,6 +87,5 @@ <script src="js/bootstrap.bundle.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/funciones.js"></script> - <<script src="js/iniciar-sesion.js"></script> </body> </html> \ No newline at end of file diff --git a/UyTube_web/web/ListarUsuario.jsp b/UyTube_web/web/ListarUsuario.jsp new file mode 100644 index 0000000000000000000000000000000000000000..9321dd5dfc9b755b28410f5347d7d2dcc65a0e4e --- /dev/null +++ b/UyTube_web/web/ListarUsuario.jsp @@ -0,0 +1,17 @@ +<%-- + Document : ListarUsuario + Created on : 09/10/2019, 07:31:07 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>ListarUsuario</h1> + </body> +</html> diff --git a/UyTube_web/web/ModificarListaReproduccion.jsp b/UyTube_web/web/ModificarListaReproduccion.jsp new file mode 100644 index 0000000000000000000000000000000000000000..2de32a02c18af20ee18f5a586ba85e06929e312e --- /dev/null +++ b/UyTube_web/web/ModificarListaReproduccion.jsp @@ -0,0 +1,17 @@ +<%-- + Document : ModificarListaReproduccion + Created on : 09/10/2019, 07:39:46 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>ModificarListaReproduccion</h1> + </body> +</html> diff --git a/UyTube_web/web/ModificarUsuario.jsp b/UyTube_web/web/ModificarUsuario.jsp new file mode 100644 index 0000000000000000000000000000000000000000..2490c8c17b2d3be8c957345c7d03ae1f6b606a92 --- /dev/null +++ b/UyTube_web/web/ModificarUsuario.jsp @@ -0,0 +1,17 @@ +<%-- + Document : ModificarUsuario + Created on : 09/10/2019, 07:29:35 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>Mofificar Usuario</h1> + </body> +</html> diff --git a/UyTube_web/web/ModificarVideo.jsp b/UyTube_web/web/ModificarVideo.jsp new file mode 100644 index 0000000000000000000000000000000000000000..e6364396667e774ab704c493fc4592bf023e224c --- /dev/null +++ b/UyTube_web/web/ModificarVideo.jsp @@ -0,0 +1,17 @@ +<%-- + Document : ModificarVideo + Created on : 09/10/2019, 07:49:19 PM + Author : administrador +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>JSP Page</title> + </head> + <body> + <h1>ModificarVideo</h1> + </body> +</html> diff --git a/UyTube_web/web/Presentacion.jsp b/UyTube_web/web/Presentacion.jsp index b47f246b249bdc374357d8d868952e2119eb1c68..096204154c872bafaf061baa5f3db4a413fde6a5 100644 --- a/UyTube_web/web/Presentacion.jsp +++ b/UyTube_web/web/Presentacion.jsp @@ -40,8 +40,82 @@ <div class="contenido"> <section class="contenido-flexible"> <!--================== Aca va el contenido central para agregar ========================== --> - <h3>Formulario de ejemplo alata de video</h3> - <p>El usuario actual <%= session.getAttribute("usuario") %></p> + <h3>Lo nuevo</h3> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> + + </div> + </div> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"><img src="https://i.ytimg.com/vi/OVjbqdm_JVI/hqdefault.jpg" class="card-img-top" alt="Nombre del video"></a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to buile and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/Yq-Kfc81h5s/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text e and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quiard title and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> + + </div> + </div> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"><img src="https://i.ytimg.com/vi/OVjbqdm_JVI/hqdefault.jpg" class="card-img-top" alt="Nombre del video"></a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to buile and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/Yq-Kfc81h5s/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text e and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quiard title and make up the bulk of the card's content.</p> + </div> + </div> <!-- Fin del contenido central --> </section> </div> diff --git a/UyTube_web/web/WEB-INF/web.xml b/UyTube_web/web/WEB-INF/web.xml index 067aaa11bc58c303636536b6e748d78916669bd6..d4f229d40822d964eb3a46ac3a6f86199dfb9704 100644 --- a/UyTube_web/web/WEB-INF/web.xml +++ b/UyTube_web/web/WEB-INF/web.xml @@ -12,78 +12,165 @@ <servlet-name>IniciarSesion</servlet-name> <servlet-class>com.uytube.IniciarSesion</servlet-class> </servlet> - <servlet> - <servlet-name>Perfil</servlet-name> - <servlet-class>com.uytube.Perfil</servlet-class> - </servlet> <servlet> <servlet-name>Presentacion</servlet-name> <servlet-class>com.uytube.Presentacion</servlet-class> </servlet> <servlet> - <servlet-name>ValidarLogin</servlet-name> - <servlet-class>com.uytube.ValidarLogin</servlet-class> + <servlet-name>ConsultaUsuario</servlet-name> + <servlet-class>com.uytube.ConsultaUsuario</servlet-class> + </servlet> + <servlet> + <servlet-name>CerrarSesion</servlet-name> + <servlet-class>com.uytube.CerrarSesion</servlet-class> </servlet> <servlet> <servlet-name>AltaVideo</servlet-name> <servlet-class>com.uytube.AltaVideo</servlet-class> </servlet> + <servlet> + <servlet-name>PeticionAjax</servlet-name> + <servlet-class>com.uytube.PeticionAjax</servlet-class> + </servlet> <servlet> <servlet-name>AltaUsuario</servlet-name> <servlet-class>com.uytube.AltaUsuario</servlet-class> </servlet> <servlet> - <servlet-name>ConsultaUsuario</servlet-name> - <servlet-class>com.uytube.ConsultaUsuario</servlet-class> + <servlet-name>ModificarUsuario</servlet-name> + <servlet-class>com.uytube.ModificarUsuario</servlet-class> </servlet> <servlet> - <servlet-name>CerrarSesion</servlet-name> - <servlet-class>com.uytube.CerrarSesion</servlet-class> + <servlet-name>ListarUsuario</servlet-name> + <servlet-class>com.uytube.ListarUsuario</servlet-class> + </servlet> + <servlet> + <servlet-name>SeguirUsuario</servlet-name> + <servlet-class>com.uytube.SeguirUsuario</servlet-class> + </servlet> + <servlet> + <servlet-name>AltaListaReproduccion</servlet-name> + <servlet-class>com.uytube.AltaListaReproduccion</servlet-class> </servlet> <servlet> - <servlet-name>ValidarUsuario</servlet-name> - <servlet-class>com.uytube.ValidarUsuario</servlet-class> + <servlet-name>ModificarListaReproduccion</servlet-name> + <servlet-class>com.uytube.ModificarListaReproduccion</servlet-class> + </servlet> + <servlet> + <servlet-name>AgregarVideoAListaReproduccion</servlet-name> + <servlet-class>com.uytube.AgregarVideoAListaReproduccion</servlet-class> + </servlet> + <servlet> + <servlet-name>QuitarVideoDeListaReproduccion</servlet-name> + <servlet-class>com.uytube.QuitarVideoDeListaReproduccion</servlet-class> + </servlet> + <servlet> + <servlet-name>ModificarVideo</servlet-name> + <servlet-class>com.uytube.ModificarVideo</servlet-class> + </servlet> + <servlet> + <servlet-name>AgregarValoracion</servlet-name> + <servlet-class>com.uytube.AgregarValoracion</servlet-class> + </servlet> + <servlet> + <servlet-name>AgregarComentario</servlet-name> + <servlet-class>com.uytube.AgregarComentario</servlet-class> + </servlet> + <servlet> + <servlet-name>ListarCategoria</servlet-name> + <servlet-class>com.uytube.ListarCategoria</servlet-class> + </servlet> + <servlet> + <servlet-name>Buscar</servlet-name> + <servlet-class>com.uytube.Buscar</servlet-class> </servlet> <servlet-mapping> <servlet-name>ConsultaListaReproducion</servlet-name> - <url-pattern>/consulta/lista-reproducion</url-pattern> + <url-pattern>/lista-consultar</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>ConsultaVideo</servlet-name> - <url-pattern>/consulta/video</url-pattern> + <servlet-name>Presentacion</servlet-name> + <url-pattern>/presentacion</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>Perfil</servlet-name> - <url-pattern>/usuario/perfil</url-pattern> + <servlet-name>CerrarSesion</servlet-name> + <url-pattern>/cerrar-sesion</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>Presentacion</servlet-name> - <url-pattern>/presentacion</url-pattern> + <servlet-name>IniciarSesion</servlet-name> + <url-pattern>/inicio-sesion</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>IniciarSesion</servlet-name> - <url-pattern>/iniciar-sesion</url-pattern> + <servlet-name>AltaVideo</servlet-name> + <url-pattern>/video-agregar</url-pattern> </servlet-mapping> - <servlet-mapping> <servlet-name>AltaUsuario</servlet-name> - <url-pattern>/alta-usuario</url-pattern> + <url-pattern>/usuario-agregar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ConsultaVideo</servlet-name> + <url-pattern>/video-consultar</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ConsultaUsuario</servlet-name> - <url-pattern>/consulta-usuario</url-pattern> + <url-pattern>/usuario-consultar</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>CerrarSesion</servlet-name> - <url-pattern>/cerrar-sesion</url-pattern> + <servlet-name>PeticionAjax</servlet-name> + <url-pattern>/consultar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ModificarUsuario</servlet-name> + <url-pattern>/usuario-modificar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ListarUsuario</servlet-name> + <url-pattern>/usuario-listar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>SeguirUsuario</servlet-name> + <url-pattern>/usuario-seguir</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>AltaListaReproduccion</servlet-name> + <url-pattern>/lista-agregar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ModificarListaReproduccion</servlet-name> + <url-pattern>/lista-modificar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>AgregarVideoAListaReproduccion</servlet-name> + <url-pattern>/lista-agregar-video</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>QuitarVideoDeListaReproduccion</servlet-name> + <url-pattern>/lista-quitar-video</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ModificarVideo</servlet-name> + <url-pattern>/video-modificar</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>AgregarValoracion</servlet-name> + <url-pattern>/video-agregar-valoracion</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>AgregarComentario</servlet-name> + <url-pattern>/video-agregar-comentario</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>ListarCategoria</servlet-name> + <url-pattern>/categoria-listar</url-pattern> </servlet-mapping> <servlet-mapping> - <servlet-name>ValidarUsuario</servlet-name> - <url-pattern>/validar-usuario</url-pattern> + <servlet-name>Buscar</servlet-name> + <url-pattern>/buscar</url-pattern> </servlet-mapping> <session-config> <session-timeout> - 30 + 2 </session-timeout> </session-config> </web-app> diff --git a/UyTube_web/web/css/contenido-alta-video.css b/UyTube_web/web/css/contenido-alta-video.css index 0755e2a141cae931500c6438042fa298733c96e5..6c26ee393b4f88c1350e9356017a72ce077a2bb8 100644 --- a/UyTube_web/web/css/contenido-alta-video.css +++ b/UyTube_web/web/css/contenido-alta-video.css @@ -21,6 +21,13 @@ flex-wrap: wrap; flex-grow: 0; flex-shrink: 0; } + .contenido .contenido-flexible h3 { + width: 100%; + margin: 0.625rem; + text-decoration: underline; } + .contenido .contenido-flexible .form-alta-video { + width: 100%; + padding: 16px; } @media (max-width: 340px) { .container-fluid { @@ -390,4 +397,4 @@ .widgets .widget-2 { width: 350px; } } -/*# sourceMappingURL=contenido-index.css.map */ +/*# sourceMappingURL=contenido-alta-video.css.map */ diff --git a/UyTube_web/web/css/contenido-alta-video.css.map b/UyTube_web/web/css/contenido-alta-video.css.map new file mode 100644 index 0000000000000000000000000000000000000000..a2d57abd163abaf132227236ca681e2dda71ec25 --- /dev/null +++ b/UyTube_web/web/css/contenido-alta-video.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/contenido-alta-video.sass","../sass/_colores.sass"], +"names": [], +"file": "contenido-alta-video.css" +} \ No newline at end of file diff --git a/UyTube_web/web/css/contenido-base.css b/UyTube_web/web/css/contenido-base.css new file mode 100644 index 0000000000000000000000000000000000000000..f40d535a68cf3e34c71a5b2e04afa8c7a5229966 --- /dev/null +++ b/UyTube_web/web/css/contenido-base.css @@ -0,0 +1,393 @@ +.principal { + background-color: #f6f6f6; + min-height: 800px; + border-bottom: 2px solid #5aa1e3; + border-top: 2px solid #5aa1e3; } + +.contenido { + background-color: #f6f6f6; + border-radius: 5px; + padding: 16px; + margin-left: auto; + margin-right: auto; + width: 70%; + height: 100%; } + .contenido .contenido-flexible { + background-color: #f6f6f6; + margin-bottom: 16px; + display: flex; + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + flex-grow: 0; + flex-shrink: 0; } + +@media (max-width: 340px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 175.112px; } + .header nav { + height: 175.112px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 175.112px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .menu { + top: -171.112px; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 170px; + padding-top: 5px; + padding-bottom: 5px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 341px) and (max-width: 387px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + height: 175.112px; + left: 0px; } + .header nav { + height: 175.112px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 175.112px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 170px; + padding-top: 5px; + padding-bottom: 5px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 388px) and (max-width: 500px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 127.176px; } + .header nav { + height: 127.176px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 127.176px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + .contenido .h3 { + width: 90%; } + + .widgets { + height: 180px; + padding-top: 10px; + padding-bottom: 10px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 501px) and (max-width: 575.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 129.176px; } + .header nav { + height: 129.176px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 129.176px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 180px; + flex-direction: column; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 80%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 70%; + display: flex; + justify-content: space-around; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 576px) and (max-width: 767.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0rem; + height: 124.117px; } + .header .nav { + height: 124.117px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 124.117px; } + + #navLogo { + justify-content: flex-start; } + + #navbarSupportedContent { + width: 100%; } + #navbarSupportedContent #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #navbarSupportedContent #formBuscar input { + width: 87%; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 160px; + flex-direction: column; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 60%; + flex-direction: row; + justify-content: space-between; + align-items: center; } + .widgets .widget-2 { + width: 60%; + display: flex; + justify-content: space-between; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 768px) and (max-width: 991.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0rem; + height: 77.2px; } + .header nav { + height: 77.2px; + justify-content: space-between; } + .header nav #navLogo { + justify-content: space-between; } + .header nav #navbarSupportedContent { + width: 100%; } + .header nav #navbarSupportedContent #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + .header nav #navbarSupportedContent #formBuscar input { + width: 87%; } + + .relleno-header { + height: 77.2px; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 100px; + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 50%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 30%; + display: flex; + flex-direction: row; + justify-content: center; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 992px) { + .header { + width: 98%; + height: 56px; } + .header nav { + height: 56px; } + + .relleno-header { + height: 56px; } + + .contenido { + width: 70%; } + + .widgets { + height: 123px; + padding-left: 30px; + padding-right: 30px; + justify-content: space-around; + flex-wrap: wrap; + align-content: center; } + .widgets .img-widget { + height: 83px; } + .widgets .widget-1 { + width: 460px; + display: flex; + justify-content: space-around; } + .widgets .widget-2 { + width: 350px; } } + +/*# sourceMappingURL=contenido-base.css.map */ diff --git a/UyTube_web/web/css/contenido-base.css.map b/UyTube_web/web/css/contenido-base.css.map new file mode 100644 index 0000000000000000000000000000000000000000..ce8a0271808cf68c324f8376763eb95b2e198c83 --- /dev/null +++ b/UyTube_web/web/css/contenido-base.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/contenido-base.sass","../sass/_colores.sass"], +"names": [], +"file": "contenido-base.css" +} diff --git a/UyTube_web/web/css/contenido-buscar.css b/UyTube_web/web/css/contenido-buscar.css new file mode 100644 index 0000000000000000000000000000000000000000..533b93d24ce1e28393393407290efc91beabdafb --- /dev/null +++ b/UyTube_web/web/css/contenido-buscar.css @@ -0,0 +1,421 @@ +.principal { + background-color: #f6f6f6; + min-height: 800px; + border-bottom: 2px solid #5aa1e3; + border-top: 2px solid #5aa1e3; } + +.contenido { + background-color: #f6f6f6; + border-radius: 5px; + padding: 16px; + margin-left: auto; + margin-right: auto; + width: 70%; + height: 100%; } + .contenido .contenido-flexible { + background-color: #f6f6f6; + margin-bottom: 16px; + display: flex; + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + flex-grow: 0; + flex-shrink: 0; } + .contenido .contenido-flexible .video, .contenido .contenido-flexible .canal, .contenido .contenido-flexible .lista { + display: flex; + padding: 0px; + justify-content: space-between; + align-content: center; + width: 862px; + height: 152px; } + .contenido .contenido-flexible .caja-imagen { + display: flex; + justify-content: center; + align-items: center; + width: 246px; + height: 152px; } + .contenido .contenido-flexible .video img { + width: 246px; + height: 138px; } + .contenido .contenido-flexible .canal img { + width: 138px; + height: 138px; } + .contenido .contenido-flexible .caja-texto { + font-size: 0.8rem; + padding: 5px; + display: flex; + justify-content: center; + align-items: center; + width: 600px; + height: 152px; } + +@media (max-width: 340px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 175.112px; } + .header nav { + height: 175.112px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 175.112px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .menu { + top: -171.112px; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 170px; + padding-top: 5px; + padding-bottom: 5px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 341px) and (max-width: 387px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + height: 175.112px; + left: 0px; } + .header nav { + height: 175.112px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 175.112px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 170px; + padding-top: 5px; + padding-bottom: 5px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 388px) and (max-width: 500px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 127.176px; } + .header nav { + height: 127.176px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 127.176px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + .contenido .h3 { + width: 90%; } + + .widgets { + height: 180px; + padding-top: 10px; + padding-bottom: 10px; + flex-direction: column; + justify-content: space-around; + align-content: center; } + .widgets .widget-1 { + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 100%; + justify-content: space-around; } } +@media (min-width: 501px) and (max-width: 575.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0px; + height: 129.176px; } + .header nav { + height: 129.176px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 129.176px; } + + #navLogo { + justify-content: flex-start; } + #navLogo .icon-menu1 { + margin-left: 0px; + margin-right: 10px; } + + #navbarSupportedContent { + width: 100%; } + + #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #formBuscar input { + width: 100%; } + #formBuscar #btnBuscar { + display: none; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; + align-items: flex-start; } + + .widgets { + height: 180px; + flex-direction: column; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 80%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 70%; + display: flex; + justify-content: space-around; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 576px) and (max-width: 767.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0rem; + height: 124.117px; } + .header .nav { + height: 124.117px; } + .header .item-header2 { + order: 3; + width: 100%; } + + .relleno-header { + height: 124.117px; } + + #navLogo { + justify-content: flex-start; } + + #navbarSupportedContent { + width: 100%; } + #navbarSupportedContent #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + #navbarSupportedContent #formBuscar input { + width: 87%; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 160px; + flex-direction: column; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 60%; + flex-direction: row; + justify-content: space-between; + align-items: center; } + .widgets .widget-2 { + width: 60%; + display: flex; + justify-content: space-between; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 768px) and (max-width: 991.98px) { + .container-fluid { + padding-left: 0px; + padding-right: 0px; } + + .header { + width: 100%; + left: 0rem; + height: 77.2px; } + .header nav { + height: 77.2px; + justify-content: space-between; } + .header nav #navLogo { + justify-content: space-between; } + .header nav #navbarSupportedContent { + width: 100%; } + .header nav #navbarSupportedContent #formBuscar { + display: flex; + justify-content: space-between; + width: 100%; } + .header nav #navbarSupportedContent #formBuscar input { + width: 87%; } + + .relleno-header { + height: 77.2px; } + + .contenido { + width: 100%; } + .contenido .contenido-flexible { + width: 100%; + justify-content: center; } + + .widgets { + height: 100px; + width: 100%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-1 { + width: 50%; + flex-direction: row; + justify-content: space-around; + align-items: center; } + .widgets .widget-2 { + width: 30%; + display: flex; + flex-direction: row; + justify-content: center; } + + .footer { + padding: 1rem 0.625rem; } } +@media (min-width: 992px) { + .header { + width: 98%; + height: 56px; } + .header nav { + height: 56px; } + + .relleno-header { + height: 56px; } + + .contenido { + width: 70%; } + + .widgets { + height: 123px; + padding-left: 30px; + padding-right: 30px; + justify-content: space-around; + flex-wrap: wrap; + align-content: center; } + .widgets .img-widget { + height: 83px; } + .widgets .widget-1 { + width: 460px; + display: flex; + justify-content: space-around; } + .widgets .widget-2 { + width: 350px; } } + +/*# sourceMappingURL=contenido-buscar.css.map */ diff --git a/UyTube_web/web/css/contenido-buscar.css.map b/UyTube_web/web/css/contenido-buscar.css.map new file mode 100644 index 0000000000000000000000000000000000000000..11f679a273521a3b2b56f950f103a2f1013344ee --- /dev/null +++ b/UyTube_web/web/css/contenido-buscar.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/contenido-buscar.sass","../sass/_colores.sass"], +"names": [], +"file": "contenido-buscar.css" +} \ No newline at end of file diff --git a/UyTube_web/web/css/contenido-index.css b/UyTube_web/web/css/contenido-index.css index 0755e2a141cae931500c6438042fa298733c96e5..584a1ca5b02ff19e56686b06f47834f088c95fd4 100644 --- a/UyTube_web/web/css/contenido-index.css +++ b/UyTube_web/web/css/contenido-index.css @@ -2,7 +2,8 @@ background-color: #f6f6f6; min-height: 800px; border-bottom: 2px solid #5aa1e3; - border-top: 2px solid #5aa1e3; } + border-top: 2px solid #5aa1e3; + width: 100%; } .contenido { background-color: #f6f6f6; @@ -10,17 +11,22 @@ padding: 16px; margin-left: auto; margin-right: auto; - width: 70%; + width: 1070px; height: 100%; } .contenido .contenido-flexible { background-color: #f6f6f6; margin-bottom: 16px; display: flex; flex-direction: row; - justify-content: center; + justify-content: space-between; flex-wrap: wrap; flex-grow: 0; flex-shrink: 0; } + .contenido .contenido-flexible h3 { + width: 100%; } + .contenido .contenido-flexible .card { + width: 210px; + margin: 0px; } @media (max-width: 340px) { .container-fluid { @@ -372,7 +378,7 @@ height: 56px; } .contenido { - width: 70%; } + width: 1070px; } .widgets { height: 123px; diff --git a/UyTube_web/web/css/contenido-index.css.map b/UyTube_web/web/css/contenido-index.css.map index 58c0a0eb2e50d13199da21eca24e25e5ccf6c203..d9e42ee4aa45270996c79e6ce8eb8218413ca095 100644 --- a/UyTube_web/web/css/contenido-index.css.map +++ b/UyTube_web/web/css/contenido-index.css.map @@ -1,7 +1,7 @@ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["../sass/contenido-index.sass","../sass/_colores.sass"], "names": [], "file": "contenido-index.css" -} \ No newline at end of file +} diff --git a/UyTube_web/web/imagenes/mestruli.jpg b/UyTube_web/web/imagenes/mestruli.jpg deleted file mode 100644 index aa4122dc6762e96362a7efbf5e7905d2fd2a3153..0000000000000000000000000000000000000000 Binary files a/UyTube_web/web/imagenes/mestruli.jpg and /dev/null differ diff --git a/UyTube_web/web/imagenes/perfiles/JotaJota96.JPG b/UyTube_web/web/imagenes/perfiles/JotaJota96.JPG new file mode 100644 index 0000000000000000000000000000000000000000..5d59ae0883fb4017307c18cc31a9a504bc3425b6 Binary files /dev/null and b/UyTube_web/web/imagenes/perfiles/JotaJota96.JPG differ diff --git a/UyTube_web/web/imagenes/perfiles/LuC31G.jpg b/UyTube_web/web/imagenes/perfiles/LuC31G.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f22efc5908db0af0594d76d75ae3f89ebdff93a6 Binary files /dev/null and b/UyTube_web/web/imagenes/perfiles/LuC31G.jpg differ diff --git a/UyTube_web/web/imagenes/perfiles/MCBolso.jpg b/UyTube_web/web/imagenes/perfiles/MCBolso.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35469b84ed023de4e5a7581095434bcbf69719d1 Binary files /dev/null and b/UyTube_web/web/imagenes/perfiles/MCBolso.jpg differ diff --git a/UyTube_web/web/imagenes/perfiles/camilillo15.jpg b/UyTube_web/web/imagenes/perfiles/camilillo15.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc36ba95eecc24c956cbaf03f53dccda2f9317bb Binary files /dev/null and b/UyTube_web/web/imagenes/perfiles/camilillo15.jpg differ diff --git a/UyTube_web/web/imagenes/perfiles/jarrieta31.jpg b/UyTube_web/web/imagenes/perfiles/jarrieta31.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d54ec04f4eee56374821fcfb9c9928a761cbc10b Binary files /dev/null and b/UyTube_web/web/imagenes/perfiles/jarrieta31.jpg differ diff --git a/UyTube_web/web/include/header-visitante.html b/UyTube_web/web/include/header-visitante.html index adbc92ad54699d8178e96b95add0f25850d07cc3..5d8f9632b6088b9342798682306581197c059e61 100644 --- a/UyTube_web/web/include/header-visitante.html +++ b/UyTube_web/web/include/header-visitante.html @@ -21,7 +21,9 @@ Header para el visitante </div> </div> <div class="perfil item-header item-header3"> - <button type="button" id="iniciar-sesion" class="btn btn-outline-primary"><span class="icon-user-tie"></span> INICIAR SESIÓN</button> + <a href="/uytube/inicio-sesion"> + <button type="button" id="iniciar-sesion" class="btn btn-outline-primary"><span class="icon-user-tie"></span> INICIAR SESIÓN</button> + </a> </div> </nav> diff --git a/UyTube_web/web/include/menu-usuario.html b/UyTube_web/web/include/menu-usuario.html index 692e3e4e11bf2519f8ab14fa17311bd2343ad088..f5c24391663d5f1b361aaf6db2a170b4251e5ce2 100644 --- a/UyTube_web/web/include/menu-usuario.html +++ b/UyTube_web/web/include/menu-usuario.html @@ -11,19 +11,13 @@ Menú para el usuario logueado <img class="fotoLogo" src="imagenes/logoChico.jpeg" alt="UyTube"> </span> </li> - <li><a href="/uytube/consulta-usuario"><span class="icon-user"></span> Mi Perfil</a></li> - - <li><a href="/uytube/alta-video"><span class="icon-upload3"></span> Subir video</a></li> + <li><a href="/uytube/usuario-consultar"><span class="icon-user"></span> Mi Perfil</a></li> + <li><a href="/uytube/video-agregar"><span class="icon-upload3"></span> Subir video</a></li> <li><a href=""><span class="icon-video-camera"></span> Ver videos</a></li> <li class="titulo">LISTAS</li> - <li><a href=""><span class="icon-add-to-list"></span> Crear lista</a></li> - <li><a href="">Ver más tarde</a></li> - <li><a href=""><span class="icon-like"></span> Me gusta</a></li> - <li><a href="">Música para estudiar</a></li> - <li class="titulo">CATEGORIAS</li> - <li><a href="">Música</a></li> - <li><a href="">Juegos</a></li> - <li><a href="">Deportes</a></li> + <li><a href="/uytube/lista-agregar"><span class="icon-add-to-list"></span> Crear lista</a></li> + + <li><a href="/uytube/categoria-listar"> CategorÃas</a></li> <li class="salir"><a href="/uytube/cerrar-sesion"><span class="icon-exit"></span> SALIR</a></li> </ul> </aside> \ No newline at end of file diff --git a/UyTube_web/web/include/menu-visitante.html b/UyTube_web/web/include/menu-visitante.html index 418ff2f7d10b82d71d2861d220535010d8fcc41c..0364a11db731b1c87f28e703190d670394c4956c 100644 --- a/UyTube_web/web/include/menu-visitante.html +++ b/UyTube_web/web/include/menu-visitante.html @@ -18,6 +18,6 @@ Menú para el Visitante <li><a href=""> Ver Listas</a></li> <li><a href=""> Ver CategorÃas</a></li> <!-- <li class="titulo">CATEGORIAS</li> --> - <li><a href="/uytube/alta-usuario"> Registrarse</a></li> + <li><a href="/uytube/usuario-agregar"> Registrarse</a></li> </ul> </aside> \ No newline at end of file diff --git a/UyTube_web/web/index.jsp b/UyTube_web/web/index.jsp index 7d211ae30de39a0b49903eae3a85745bff827102..f4463538923075104b7a95418ae101d13a58fe8f 100644 --- a/UyTube_web/web/index.jsp +++ b/UyTube_web/web/index.jsp @@ -36,15 +36,89 @@ <div class="row"> <div class="col-12"> <section class="principal"> - + <!-- Aca va el menu --> <%@ include file='include/menu-visitante.html' %> <div class="contenido"> <section class="contenido-flexible"> <!--================== Aca va el contenido central para agregar ========================== --> - <h3>Formulario de ejemplo alata de video</h3> - <p>El usuario actual <%= session.getAttribute("usuario") %></p> + <h3>Lo nuevo</h3> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> + + </div> + </div> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"><img src="https://i.ytimg.com/vi/OVjbqdm_JVI/hqdefault.jpg" class="card-img-top" alt="Nombre del video"></a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to buile and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/Yq-Kfc81h5s/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text e and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quiard title and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> + + </div> + </div> + + <div class="card" > + <a href="/uytube/video-consulta&id=1234"><img src="https://i.ytimg.com/vi/OVjbqdm_JVI/hqdefault.jpg" class="card-img-top" alt="Nombre del video"></a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text to buile and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/Yq-Kfc81h5s/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quick example text e and make up the bulk of the card's content.</p> + </div> + </div> + <div class="card" > + <a href="/uytube/video-consulta&id=1234"> + <img src="https://i.ytimg.com/vi/MiiK2JB6FHo/hqdefault.jpg" class="card-img-top" alt="Nombre del video"> + </a> + <div class="card-body"> + <h5 class="card-title">Titulo del video</h5> + <p class="card-text">Some quiard title and make up the bulk of the card's content.</p> + </div> + </div> <!-- Fin del contenido central --> </section> </div> @@ -61,6 +135,5 @@ <script src="js/bootstrap.bundle.min.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/funciones.js"></script> - <script src="js/index.js"></script> </body> </html> \ No newline at end of file diff --git a/UyTube_web/web/js/alta-usuario.js b/UyTube_web/web/js/alta-usuario.js index a54386b89753d5156071afbbbca87486594a55e8..ea0df8c229de0b985c0eb879ac3e33bef89a0854 100644 --- a/UyTube_web/web/js/alta-usuario.js +++ b/UyTube_web/web/js/alta-usuario.js @@ -4,9 +4,10 @@ $("#input_Nickname").keyup(function(){ //Obtiene el valor ingresaro var valorIngresado = $("#input_Nickname").val(); //Realiza la consulta utilizando AJAX al servidor - $.get("/uytube/validar-usuario", + $.get("/uytube/consultar", { - userdata: valorIngresado + nombre: valorIngresado, + accion: validarNombre }, function(respuesta, status){ //alert("Data: " + respuesta + "\nStatus: " + status); $("#msjNickname").text(respuesta); diff --git a/UyTube_web/web/js/index.js b/UyTube_web/web/js/index.js deleted file mode 100644 index e4cf641ed60d82ec60e2b44621778a32195af776..0000000000000000000000000000000000000000 --- a/UyTube_web/web/js/index.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -// Selecciona el boton iniciar sesion -var btnIniciarSesion = document.getElementById("iniciar-sesion"); -//Redirecciona a la pagina para iniciar sesion -btnIniciarSesion.addEventListener('click',function(){ - window.location.href = "/uytube/iniciar-sesion"; -}); diff --git a/UyTube_web/web/js/iniciar-session.js b/UyTube_web/web/js/iniciar-session.js deleted file mode 100644 index e853fc0c5080ad8573d61bd1670f8069a02956d9..0000000000000000000000000000000000000000 --- a/UyTube_web/web/js/iniciar-session.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - - -//Boton para registrarse -var btnRegistrarse = document.getElementById("btnRegistrarse"); -//Redirecciona a la pagina para alta-usuario -btnRegistrarse.addEventListener('click',function(){ - window.location.href = "/uytube/alta-usuario"; -}); \ No newline at end of file diff --git a/UyTube_web/web/prueba.jsp b/UyTube_web/web/prueba.jsp deleted file mode 100644 index a1f28e89c1d1afffd170404c59c2a54b4994e98d..0000000000000000000000000000000000000000 --- a/UyTube_web/web/prueba.jsp +++ /dev/null @@ -1,47 +0,0 @@ -<%-- - Document : prueba - Created on : 08/10/2019, 06:25:09 PM - Author : administrador ---%> - -<%@page import="Logica.Fabrica"%> -<%@page import="Logica.DataType.DtUsuario"%> -<%@page import="java.util.ArrayList"%> -<%@page import="Logica.Interfaces.IAdmin"%> -<%@page contentType="text/html" pageEncoding="UTF-8"%> -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>JSP Page</title> - </head> - <body> - <h1>Hello World!</h1> - <h1>Usuarios de UyTube!</h1> - <table border="1"> - <thead> - <tr> - <th>Nickname</th> - <th>Nombre</th> - <th>Apellido</th> - <th>e-Mail</th> - </tr> - </thead> - <% - ArrayList<DtUsuario> usuarios = Fabrica.getInstancia().getIAdmin().listarUsuarios() ; - for (DtUsuario u : usuarios) { - %> - <tbody> - <tr> - <td><%= u.getNickname()%></td> - <td><%= u.getNombre()%></td> - <td><%= u.getApellido()%></td> - <td><%= u.getCorreo()%></td> - </tr> - </tbody> - <% - } - %> - </table> - </body> -</html> diff --git a/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/_colores.sassc b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/_colores.sassc new file mode 100644 index 0000000000000000000000000000000000000000..e194f03dbf9d0796b8f7d01164b4699e9d3c437b Binary files /dev/null and b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/_colores.sassc differ diff --git a/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-alta-video.sassc b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-alta-video.sassc new file mode 100644 index 0000000000000000000000000000000000000000..f0e8c48f1ba3e461b19f7451ce9c2c9c723f4337 Binary files /dev/null and b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-alta-video.sassc differ diff --git a/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-base.sassc b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-base.sassc new file mode 100644 index 0000000000000000000000000000000000000000..8ff9d9d3e379aa392a3880df86db199ac5709098 Binary files /dev/null and b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-base.sassc differ diff --git a/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-buscar.sassc b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-buscar.sassc new file mode 100644 index 0000000000000000000000000000000000000000..d83a69f3dea3f14f18d085c6613766d612598a48 Binary files /dev/null and b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-buscar.sassc differ diff --git a/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-index.sassc b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-index.sassc new file mode 100644 index 0000000000000000000000000000000000000000..371538f5e58dc30336a2ba5e57c08a2ff073ae99 Binary files /dev/null and b/UyTube_web/web/sass/.sass-cache/042c9dafa673dd92eaea364b901f2a9b0e4518b6/contenido-index.sassc differ diff --git a/UyTube_web/web/sass/_colores.sass b/UyTube_web/web/sass/_colores.sass index c2c7ee2f8daf5e4214df592aaf63c08f09a7eba1..b89e18324725beba44b344c6de8a32bebe36aad5 100644 --- a/UyTube_web/web/sass/_colores.sass +++ b/UyTube_web/web/sass/_colores.sass @@ -12,4 +12,5 @@ $colorPrimary: #007bff $colorBlanco: #fff $colorCelesteClaro: #5aa1e3 $colorGrisClaro: #f6f6f6 -$colorHover: #48549c33 \ No newline at end of file +$colorHover: #48549c33 +$grisVCodeBarra: #252526 \ No newline at end of file diff --git a/UyTube_web/web/sass/contenido-alta-video.sass b/UyTube_web/web/sass/contenido-alta-video.sass index 6a9b6e3b977f7d497b4a5d194dbe7e290fc22bc8..63a7342180f3169a3ede3fe60c88bc3c9915e79f 100644 --- a/UyTube_web/web/sass/contenido-alta-video.sass +++ b/UyTube_web/web/sass/contenido-alta-video.sass @@ -1,13 +1,13 @@ @import _colores -.container-fluid - margin-bottom: 3px - .principal background-color: $colorGrisClaro - + min-height: 800px + border-bottom: 2px solid $colorCelesteClaro + border-top: 2px solid $colorCelesteClaro + .contenido - background-color: $colorBlanco + background-color: $colorGrisClaro border-radius: 5px padding: 16px margin-left: auto @@ -15,7 +15,7 @@ width: 70% height: 100% .contenido-flexible - background-color: $colorBlanco + background-color: $colorGrisClaro margin-bottom: 16px display: flex flex-direction: row @@ -29,5 +29,399 @@ text-decoration: underline .form-alta-video width: 100% - padding: 16px - + padding: 16px + + + +// Para un maximo de 340px ================================================================================ +@media (max-width: 340px) + .container-fluid + padding-left: 0px + padding-right: 0px + .header + width: 100% + left: 0px + height: 175.112px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + .menu + top: -171.112px + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + +// Para dispositivos mayores a 340 y menores a 388 ============================================================== +@media (min-width: 341px) and (max-width: 387px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + height: 175.112px + left: 0px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around +// Para dispositivos mayores a 387 y menores a 500 ================================================================ +@media (min-width: 388px) and (max-width: 500px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 127.176px + nav + height: 127.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 127.176px + //Espacio de relleno + .relleno-header + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .h3 + width: 90% + .widgets + height: 180px + padding-top: 10px + padding-bottom: 10px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + + +// Extra small devices (portrait phones, less than 576px) ======================================================= +@media (min-width: 501px) and (max-width: 575.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 129.176px + nav + height: 129.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 129.176px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + + .widgets + height: 180px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 80% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 70% + display: flex + justify-content: space-around + .footer + padding: 1rem 0.625rem + + +// Small devices (landscape phones, 576px and up) ================================================================ +@media (min-width: 576px) and (max-width: 767.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 124.117px + .nav + height: 124.117px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 124.117px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 160px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 60% + flex-direction: row + justify-content: space-between + align-items: center + .widget-2 + width: 60% + display: flex + justify-content: space-between + .footer + padding: 1rem 0.625rem + + +// Medium devices (tablets, 768px and up) +@media (min-width: 768px) and (max-width: 991.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 77.2px + nav + height: 77.2px + justify-content: space-between + //Estilos del contenedor del logo + #navLogo + justify-content: space-between + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Espacio de relleno + .relleno-header + height: 77.2px + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 100px + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-1 + width: 50% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 30% + display: flex + flex-direction: row + justify-content: center + .footer + padding: 1rem 0.625rem + + + +// Large devices (desktops, 992px and up) ======================================================================= +@media (min-width: 992px) + //Estilos del header + .header + width: 98% + height: 56px + nav + height: 56px + //Espacio de relleno + .relleno-header + height: 56px + //Estilos del contenido principal + .contenido + width: 70% + .widgets + height: 123px + //height: 223px + padding-left: 30px + padding-right: 30px + justify-content: space-around + flex-wrap: wrap + align-content: center + .img-widget + height: 83px + .widget-1 + width: 460px + display: flex + justify-content: space-around + .widget-2 + width: 350px + //Estilos del footer + .footer + + + + \ No newline at end of file diff --git a/UyTube_web/web/sass/contenido-base.sass b/UyTube_web/web/sass/contenido-base.sass new file mode 100644 index 0000000000000000000000000000000000000000..2b0abb42d1ecbd71053e37a9242626bb8cb524a2 --- /dev/null +++ b/UyTube_web/web/sass/contenido-base.sass @@ -0,0 +1,421 @@ +@import _colores + +.principal + background-color: $colorGrisClaro + min-height: 800px + border-bottom: 2px solid $colorCelesteClaro + border-top: 2px solid $colorCelesteClaro + +.contenido + background-color: $colorGrisClaro + border-radius: 5px + padding: 16px + margin-left: auto + margin-right: auto + width: 70% + height: 100% + .contenido-flexible + background-color: $colorGrisClaro + margin-bottom: 16px + display: flex + flex-direction: row + justify-content: center + flex-wrap: wrap + flex-grow: 0 + flex-shrink: 0 + h3 + + + +// Para un maximo de 340px ================================================================================ +@media (max-width: 340px) + .container-fluid + padding-left: 0px + padding-right: 0px + .header + width: 100% + left: 0px + height: 175.112px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + .menu + top: -171.112px + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + +// Para dispositivos mayores a 340 y menores a 388 ============================================================== +@media (min-width: 341px) and (max-width: 387px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + height: 175.112px + left: 0px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around +// Para dispositivos mayores a 387 y menores a 500 ================================================================ +@media (min-width: 388px) and (max-width: 500px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 127.176px + nav + height: 127.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 127.176px + //Espacio de relleno + .relleno-header + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .h3 + width: 90% + .widgets + height: 180px + padding-top: 10px + padding-bottom: 10px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + + +// Extra small devices (portrait phones, less than 576px) ======================================================= +@media (min-width: 501px) and (max-width: 575.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 129.176px + nav + height: 129.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 129.176px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + + .widgets + height: 180px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 80% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 70% + display: flex + justify-content: space-around + .footer + padding: 1rem 0.625rem + + +// Small devices (landscape phones, 576px and up) ================================================================ +@media (min-width: 576px) and (max-width: 767.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 124.117px + .nav + height: 124.117px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 124.117px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 160px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 60% + flex-direction: row + justify-content: space-between + align-items: center + .widget-2 + width: 60% + display: flex + justify-content: space-between + .footer + padding: 1rem 0.625rem + + +// Medium devices (tablets, 768px and up) +@media (min-width: 768px) and (max-width: 991.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 77.2px + nav + height: 77.2px + justify-content: space-between + //Estilos del contenedor del logo + #navLogo + justify-content: space-between + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Espacio de relleno + .relleno-header + height: 77.2px + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 100px + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-1 + width: 50% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 30% + display: flex + flex-direction: row + justify-content: center + .footer + padding: 1rem 0.625rem + + + +// Large devices (desktops, 992px and up) ======================================================================= +@media (min-width: 992px) + //Estilos del header + .header + width: 98% + height: 56px + nav + height: 56px + //Espacio de relleno + .relleno-header + height: 56px + //Estilos del contenido principal + .contenido + width: 70% + .widgets + height: 123px + //height: 223px + padding-left: 30px + padding-right: 30px + justify-content: space-around + flex-wrap: wrap + align-content: center + .img-widget + height: 83px + .widget-1 + width: 460px + display: flex + justify-content: space-around + .widget-2 + width: 350px + //Estilos del footer + .footer + + + + \ No newline at end of file diff --git a/UyTube_web/web/sass/contenido-buscar.sass b/UyTube_web/web/sass/contenido-buscar.sass new file mode 100644 index 0000000000000000000000000000000000000000..c8da5099d791cb0bac988847d46abd923aeb0c9a --- /dev/null +++ b/UyTube_web/web/sass/contenido-buscar.sass @@ -0,0 +1,456 @@ +@import _colores + +.principal + background-color: $colorGrisClaro + min-height: 800px + border-bottom: 2px solid $colorCelesteClaro + border-top: 2px solid $colorCelesteClaro + +.contenido + background-color: $colorGrisClaro + //background-color: red + border-radius: 5px + padding: 16px + margin-left: auto + margin-right: auto + width: 70% + height: 100% + .contenido-flexible + background-color: $colorGrisClaro + margin-bottom: 16px + display: flex + flex-direction: row + justify-content: center + flex-wrap: wrap + flex-grow: 0 + flex-shrink: 0 + .video, .canal, .lista + display: flex + padding: 0px + justify-content: space-between + align-content: center + width: 862px + height: 152px + + //background-color: $amarillo + .caja-imagen + display: flex + justify-content: center + align-items: center + width: 246px + height: 152px + + //Imagen del video + .video img + width: 246px + height: 138px + //Imagen del canal + .canal img + width: 138px + height: 138px + //Texto de los items + .caja-texto + font-size: 0.8rem + padding: 5px + //background-color: orange + display: flex + justify-content: center + align-items: center + width: 600px + height: 152px + + + +// Para un maximo de 340px ================================================================================ +@media (max-width: 340px) + .container-fluid + padding-left: 0px + padding-right: 0px + .header + width: 100% + left: 0px + height: 175.112px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + .menu + top: -171.112px + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + +// Para dispositivos mayores a 340 y menores a 388 ============================================================== +@media (min-width: 341px) and (max-width: 387px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + height: 175.112px + left: 0px + nav + height: 175.112px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 175.112px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 170px + padding-top: 5px + padding-bottom: 5px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around +// Para dispositivos mayores a 387 y menores a 500 ================================================================ +@media (min-width: 388px) and (max-width: 500px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 127.176px + nav + height: 127.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 127.176px + //Espacio de relleno + .relleno-header + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .h3 + width: 90% + .widgets + height: 180px + padding-top: 10px + padding-bottom: 10px + flex-direction: column + justify-content: space-around + align-content: center + .widget-1 + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 100% + justify-content: space-around + + +// Extra small devices (portrait phones, less than 576px) ======================================================= +@media (min-width: 501px) and (max-width: 575.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0px + height: 129.176px + nav + height: 129.176px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 129.176px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + .icon-menu1 + margin-left: 0px + margin-right: 10px + //Genera el espacio para dar lugar a el formulario de buscar + #navbarSupportedContent + width: 100% + //Estilos de formulario buscar + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 100% + //Oculta el boton buscar + #btnBuscar + display: none + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + align-items: flex-start + + .widgets + height: 180px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 80% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 70% + display: flex + justify-content: space-around + .footer + padding: 1rem 0.625rem + + +// Small devices (landscape phones, 576px and up) ================================================================ +@media (min-width: 576px) and (max-width: 767.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 124.117px + .nav + height: 124.117px + .item-header2 + order: 3 + width: 100% + //Espacio de relleno + .relleno-header + height: 124.117px + //Estilos del contenedor del logo + #navLogo + justify-content: flex-start + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 160px + flex-direction: column + justify-content: space-around + align-items: center + .widget-1 + width: 60% + flex-direction: row + justify-content: space-between + align-items: center + .widget-2 + width: 60% + display: flex + justify-content: space-between + .footer + padding: 1rem 0.625rem + + +// Medium devices (tablets, 768px and up) +@media (min-width: 768px) and (max-width: 991.98px) + .container-fluid + padding-left: 0px + padding-right: 0px + //Estilos del header + .header + width: 100% + left: 0rem + height: 77.2px + nav + height: 77.2px + justify-content: space-between + //Estilos del contenedor del logo + #navLogo + justify-content: space-between + //Genera el espacio para el formulario de buscar + #navbarSupportedContent + width: 100% + #formBuscar + display: flex + justify-content: space-between + width: 100% + input + width: 87% + //Espacio de relleno + .relleno-header + height: 77.2px + + //Estilos del contenido principal + .contenido + width: 100% + .contenido-flexible + width: 100% + justify-content: center + .widgets + height: 100px + width: 100% + flex-direction: row + justify-content: space-around + align-items: center + .widget-1 + width: 50% + flex-direction: row + justify-content: space-around + align-items: center + .widget-2 + width: 30% + display: flex + flex-direction: row + justify-content: center + .footer + padding: 1rem 0.625rem + + + +// Large devices (desktops, 992px and up) ======================================================================= +@media (min-width: 992px) + //Estilos del header + .header + width: 98% + height: 56px + nav + height: 56px + //Espacio de relleno + .relleno-header + height: 56px + //Estilos del contenido principal + .contenido + width: 70% + .widgets + height: 123px + //height: 223px + padding-left: 30px + padding-right: 30px + justify-content: space-around + flex-wrap: wrap + align-content: center + .img-widget + height: 83px + .widget-1 + width: 460px + display: flex + justify-content: space-around + .widget-2 + width: 350px + //Estilos del footer + .footer + + + + \ No newline at end of file diff --git a/UyTube_web/web/sass/contenido-index.sass b/UyTube_web/web/sass/contenido-index.sass index 2b0abb42d1ecbd71053e37a9242626bb8cb524a2..05a04c42c8e1a4ef9d1ee0ba76b65892157c7bfe 100644 --- a/UyTube_web/web/sass/contenido-index.sass +++ b/UyTube_web/web/sass/contenido-index.sass @@ -5,6 +5,7 @@ min-height: 800px border-bottom: 2px solid $colorCelesteClaro border-top: 2px solid $colorCelesteClaro + width: 100% .contenido background-color: $colorGrisClaro @@ -12,18 +13,23 @@ padding: 16px margin-left: auto margin-right: auto - width: 70% + width: 1070px height: 100% .contenido-flexible background-color: $colorGrisClaro margin-bottom: 16px display: flex flex-direction: row - justify-content: center + justify-content: space-between flex-wrap: wrap flex-grow: 0 flex-shrink: 0 - h3 + h3 + width: 100% + .card + width: 210px + margin: 0px + @@ -396,7 +402,7 @@ height: 56px //Estilos del contenido principal .contenido - width: 70% + width: 1070px .widgets height: 123px //height: 223px diff --git a/datos_de_prueba.sql b/datos_de_prueba.sql index 2022e8850b6d5057203393f3a71c59478688a529..b3ea4ab609069511a23f5c1ded95f532c2775339 100644 --- a/datos_de_prueba.sql +++ b/datos_de_prueba.sql @@ -31,11 +31,11 @@ INSERT INTO public.canal (descripcion,eliminado,nombre,privacidad) VALUES -- Usuarios INSERT INTO public.usuario (id,apellido,contrasenia,correo,eliminado,fecha_eliminado,fecha_nacimiento,imagen,nombre,seguidores,id_canal) VALUES -('JotaJota96','Alvarez','12345678','jjap96@gmail.com',false,NULL,'1996-10-09','Imagenes\perfiles\JotaJota96.jpg','Juan',3,1) -,('LuC31G','Garrido','12345678','LuC31@gmail.com',false,NULL,'1998-12-31','Imagenes\perfiles\LuC31G.jpg','Lucas',2,2) -,('MCBolso','Castro','12345678','mcbolso96@gmail.com',false,NULL,'1999-08-04','Imagenes\perfiles\MCBolso.jpg','Mariano',0,3) -,('camilillo15','Camilo','12345678','facu_camilo2@hotmail.com',false,NULL,'1999-07-13','Imagenes\perfiles\camilillo15.jpg','Facundo',1,4) -,('jarrieta31','Arrieta','jarrieta31','julioarrieta23@gmail.com',false,NULL,'1976-03-02','Imagenes\perfiles\jarrieta31.jpg','Julio',4,5) +('JotaJota96','Alvarez','12345678','jjap96@gmail.com',false,NULL,'1996-10-09','imagenes\perfiles\JotaJota96.jpg','Juan',3,1) +,('LuC31G','Garrido','12345678','LuC31@gmail.com',false,NULL,'1998-12-31','imagenes\perfiles\LuC31G.jpg','Lucas',2,2) +,('MCBolso','Castro','12345678','mcbolso96@gmail.com',false,NULL,'1999-08-04','imagenes\perfiles\MCBolso.jpg','Mariano',0,3) +,('camilillo15','Camilo','12345678','facu_camilo2@hotmail.com',false,NULL,'1999-07-13','imagenes\perfiles\camilillo15.jpg','Facundo',1,4) +,('jarrieta31','Arrieta','jarrieta31','julioarrieta23@gmail.com',false,NULL,'1976-03-02','imagenes\perfiles\jarrieta31.jpg','Julio',4,5) ,('terraplanista1','Ibañez','terraplanista1','olivertierraplana@gmail.com',false,NULL,'2019-10-03','','Oliver',0,6) ,('apmi','Pastores','apmi','apmi@hotmail.com',false,NULL,'2019-10-03','','Alerta',1,7) ;