From 0993140ffd412ba8856a3d944ae45c7864078c3c Mon Sep 17 00:00:00 2001 From: Lensors Date: Sat, 3 May 2025 07:38:54 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20export?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Projet/src/main/java/projet/Export.java | 6 +++--- Projet/src/main/java/projet/HtmlPageRender.java | 17 ++++++++++------- .../src/main/java/projet/LatexPageRender.java | 6 ++++-- .../main/java/projet/MarkdownPageRender.java | 2 +- Projet/src/main/java/projet/Page.java | 5 +++-- Projet/src/main/java/projet/PageRender.java | 6 +++--- Projet/src/main/webapp/WEB-INF/AfficherPage.jsp | 8 +++++--- 7 files changed, 29 insertions(+), 21 deletions(-) diff --git a/Projet/src/main/java/projet/Export.java b/Projet/src/main/java/projet/Export.java index 5f46e91..a46d07a 100644 --- a/Projet/src/main/java/projet/Export.java +++ b/Projet/src/main/java/projet/Export.java @@ -30,7 +30,7 @@ public class Export extends HttpServlet { u.chargerPagesPartagees(); ArrayList listePages = u.getListePages(); listePages.addAll(u.getListePagesPartagees()); - + Page pageToExport; try { int id = Integer.parseInt(idStr); Boolean estDans = false; @@ -46,7 +46,7 @@ public class Export extends HttpServlet { return; } - Page pageToExport = Page.getPageById(u.getId(), id); + pageToExport = Page.getPageById(u.getId(), id); BlocRenderer blocRenderer; PageRender pageRender; String filename; @@ -74,7 +74,7 @@ public class Export extends HttpServlet { return; } - String exportContent = pageRender.render(blocRenderer, pageToExport.getListeBlocs()); + String exportContent = pageRender.render(blocRenderer, pageToExport.getListeBlocs(), pageToExport.getTitre()); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); response.getWriter().write(exportContent); diff --git a/Projet/src/main/java/projet/HtmlPageRender.java b/Projet/src/main/java/projet/HtmlPageRender.java index a49fae7..5513710 100644 --- a/Projet/src/main/java/projet/HtmlPageRender.java +++ b/Projet/src/main/java/projet/HtmlPageRender.java @@ -3,19 +3,22 @@ package projet; public class HtmlPageRender implements PageRender { @Override - public String getHeader() { + public String getHeader(String titrePage) { return "\n" + "\n" - + "\n" - + "\n" - + "Page\n" - + "\n" - + "\n"; + + " \n" + + " \n" + + " " + titrePage + "\n" + + " " + + " \n" + + " \n"; } @Override public String getFooter() { - return "\n" + return " \n" + "\n"; } } diff --git a/Projet/src/main/java/projet/LatexPageRender.java b/Projet/src/main/java/projet/LatexPageRender.java index d4749a0..4d5d382 100644 --- a/Projet/src/main/java/projet/LatexPageRender.java +++ b/Projet/src/main/java/projet/LatexPageRender.java @@ -3,11 +3,13 @@ package projet; public class LatexPageRender implements PageRender { @Override - public String getHeader() { + public String getHeader(String titrePage) { return "\\documentclass{article}\n" + "\\usepackage[utf8]{inputenc}\n" + "\\usepackage{hyperref}\n" - + "\\begin{document}\n"; + + "\\begin{document}\n" + + "\\title{" + titrePage + "}\n" + + "\\maketitle\n"; } @Override diff --git a/Projet/src/main/java/projet/MarkdownPageRender.java b/Projet/src/main/java/projet/MarkdownPageRender.java index 773dd60..7300764 100644 --- a/Projet/src/main/java/projet/MarkdownPageRender.java +++ b/Projet/src/main/java/projet/MarkdownPageRender.java @@ -3,7 +3,7 @@ package projet; public class MarkdownPageRender implements PageRender { @Override - public String getHeader() { + public String getHeader(String titrePage) { return ""; } diff --git a/Projet/src/main/java/projet/Page.java b/Projet/src/main/java/projet/Page.java index f29c857..bdf61fa 100644 --- a/Projet/src/main/java/projet/Page.java +++ b/Projet/src/main/java/projet/Page.java @@ -188,11 +188,11 @@ public class Page extends ParamBD { ResultSet rs; try { Connection connexion = DriverManager.getConnection(bdURL, bdLogin, bdPassword); - sql = " SELECT titre" + sql = " SELECT titre, auteur_id" + " FROM page" + " WHERE id=? AND auteur_id = ?" + " UNION" - + " SELECT titre" + + " SELECT titre, NULL AS auteur_id" + " FROM partage" + " JOIN page ON partage.page_id = page.id" + " WHERE partage.utilisateur_id = ?" @@ -208,6 +208,7 @@ public class Page extends ParamBD { titre = rs.getString("titre"); page.titre = titre; page.id = id; + page.auteur_id = rs.getInt("auteur_id"); } if(titre != null) { sql = " SELECT id, contenu, type, ordre, metadata" diff --git a/Projet/src/main/java/projet/PageRender.java b/Projet/src/main/java/projet/PageRender.java index 082bf6b..1e01584 100644 --- a/Projet/src/main/java/projet/PageRender.java +++ b/Projet/src/main/java/projet/PageRender.java @@ -4,12 +4,12 @@ import java.util.List; public interface PageRender { - String getHeader(); + String getHeader(String titrePage); String getFooter(); - default String render(BlocRenderer blocRenderer, List blocs) { + default String render(BlocRenderer blocRenderer, List blocs, String titrePage) { StringBuilder sb = new StringBuilder(); - sb.append(getHeader()); + sb.append(getHeader(titrePage)); for (Bloc bloc : blocs) { sb.append(blocRenderer.render(bloc)).append("\n"); } diff --git a/Projet/src/main/webapp/WEB-INF/AfficherPage.jsp b/Projet/src/main/webapp/WEB-INF/AfficherPage.jsp index bfad927..9611a3c 100644 --- a/Projet/src/main/webapp/WEB-INF/AfficherPage.jsp +++ b/Projet/src/main/webapp/WEB-INF/AfficherPage.jsp @@ -77,9 +77,11 @@ data-metadata='${bloc.metadata}' >${bloc.contenu} -
- -
+ +
+ +
+