From e57e513ca1dc37962866976cf79c53b581b81dd3 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Fri, 6 Dec 2019 17:02:40 +0000 Subject: [PATCH] wip on sharing files --- .../java/com/muwire/webui/FilesServlet.java | 5 ++- .../java/com/muwire/webui/MuWireClient.java | 3 ++ webui/src/main/js/files.js | 36 ++++++++++++++----- webui/src/main/webapp/Files.jsp | 4 ++- webui/templates/web.xml.template | 2 +- 5 files changed, 37 insertions(+), 13 deletions(-) diff --git a/webui/src/main/java/com/muwire/webui/FilesServlet.java b/webui/src/main/java/com/muwire/webui/FilesServlet.java index 89cf358b..6741723e 100644 --- a/webui/src/main/java/com/muwire/webui/FilesServlet.java +++ b/webui/src/main/java/com/muwire/webui/FilesServlet.java @@ -87,7 +87,7 @@ public class FilesServlet extends HttpServlet { protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String action = req.getParameter("action"); if (action.equals("share")) { - String file = Base64.decodeToString(req.getParameter("file")); + String file = req.getParameter("file"); fileManager.share(file); } else if (action.equals("unshareFile")) { String files = req.getParameter("files"); @@ -99,7 +99,6 @@ public class FilesServlet extends HttpServlet { fileManager.unshareDirectory(Base64.decodeToString(directory)); } } + resp.sendRedirect("/MuWire/Files.jsp"); } - - } diff --git a/webui/src/main/java/com/muwire/webui/MuWireClient.java b/webui/src/main/java/com/muwire/webui/MuWireClient.java index 609ef54c..2abb8746 100644 --- a/webui/src/main/java/com/muwire/webui/MuWireClient.java +++ b/webui/src/main/java/com/muwire/webui/MuWireClient.java @@ -18,6 +18,7 @@ import javax.servlet.ServletContext; import com.muwire.core.Core; import com.muwire.core.MuWireSettings; +import com.muwire.core.UILoadedEvent; import com.muwire.core.connection.ConnectionEvent; import com.muwire.core.connection.DisconnectionEvent; import com.muwire.core.download.DownloadStartedEvent; @@ -136,6 +137,8 @@ public class MuWireClient { servletContext.setAttribute("downloadManager", downloadManager); servletContext.setAttribute("connectionCounter", connectionCounter); servletContext.setAttribute("fileManager", fileManager); + + core.getEventBus().publish(new UILoadedEvent()); } public String getHome() { diff --git a/webui/src/main/js/files.js b/webui/src/main/js/files.js index bbf9f201..c04f3c1e 100644 --- a/webui/src/main/js/files.js +++ b/webui/src/main/js/files.js @@ -1,9 +1,29 @@ -var toggler = document.getElementsByClassName("caret"); -var i; -for (i = 0; i < toggler.length; i++) { - toggler[i].addEventListener("click", function() { - this.parentElement.querySelector(".nested").classList.toggle("active"); - this.classList.toggle("caret-down"); - }); -} +// var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/++[++^A-Za-z0-9+/=]/g,"");while(f>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"n");var t="";for(var n=0;n127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}} + + +function initFiles() { + setInterval(refreshStatus, 3000) + setTimeout(refreshStatus, 1) +} + +function refreshStatus() { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + var xmlDoc = this.responseXML; + + var count = xmlDoc.getElementsByTagName("Count")[0].childNodes[0].nodeValue + var countSpan = document.getElementById("count") + countSpan.innerHTML = count + + var hashing = xmlDoc.getElementsByTagName("Hashing") + if (hashing != null && hashing.length == 1) { + var hashingSpan = document.getElementById("hashing") + hashingSpan.innerHTML = "Hashing "+hashing[0].childNodes[0].nodeValue + } + } + } + xmlhttp.open("GET", "/MuWire/Files?section=status", true) + xmlhttp.send(); +} \ No newline at end of file diff --git a/webui/src/main/webapp/Files.jsp b/webui/src/main/webapp/Files.jsp index dba7c6e6..2598a397 100644 --- a/webui/src/main/webapp/Files.jsp +++ b/webui/src/main/webapp/Files.jsp @@ -11,7 +11,9 @@ <%@ include file="header.jsi"%> -

Shared Files

+

Shared Files 0

+

+

diff --git a/webui/templates/web.xml.template b/webui/templates/web.xml.template index 13403b0d..9c718f35 100644 --- a/webui/templates/web.xml.template +++ b/webui/templates/web.xml.template @@ -28,7 +28,7 @@ com.muwire.webui.FilesServlet - com.muwire.webui.FilesServlet + com.muwire.webui.FilesServlet