mirror of https://github.com/zlatinb/muwire
do not show unshare/comment/certify links for directories that are not shared
parent
ecb2283886
commit
ba0c85fe07
|
@ -123,7 +123,11 @@ public class FilesServlet extends HttpServlet {
|
||||||
@Override
|
@Override
|
||||||
public void onDirectory(File f) {
|
public void onDirectory(File f) {
|
||||||
String name = f.getName().isEmpty() ? f.toString() : f.getName();
|
String name = f.getName().isEmpty() ? f.toString() : f.getName();
|
||||||
sb.append("<Directory>").append(Util.escapeHTMLinXML(name)).append("</Directory>");
|
boolean shared = core.getMuOptions().getWatchedDirectories().contains(f.getAbsolutePath());
|
||||||
|
sb.append("<Directory>");
|
||||||
|
sb.append("<Name>").append(Util.escapeHTMLinXML(name)).append("</Name>");
|
||||||
|
sb.append("<Shared>").append(shared).append("</Shared>");
|
||||||
|
sb.append("</Directory>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
class Node {
|
class Node {
|
||||||
constructor(nodeId, parent, leaf, infoHash, path, size, comment, certified, revision) {
|
constructor(nodeId, parent, leaf, infoHash, path, size, comment, certified, shared, revision) {
|
||||||
this.nodeId = nodeId
|
this.nodeId = nodeId
|
||||||
this.parent = parent
|
this.parent = parent
|
||||||
this.leaf = leaf
|
this.leaf = leaf
|
||||||
|
@ -11,18 +11,19 @@ class Node {
|
||||||
this.comment = comment
|
this.comment = comment
|
||||||
this.certified = certified
|
this.certified = certified
|
||||||
this.revision = revision
|
this.revision = revision
|
||||||
|
this.shared = shared
|
||||||
}
|
}
|
||||||
|
|
||||||
updateDiv() {
|
updateDiv() {
|
||||||
var div = document.getElementById(this.nodeId)
|
var div = document.getElementById(this.nodeId)
|
||||||
var unshareLink = "<a href='#' onclick='window.unshare(\"" + this.nodeId +"\");return false;'>" + _t("Unshare") + "</a>"
|
var unshareLink = "<a href='#' onclick='window.unshare(\"" + this.nodeId +"\");return false;'>" + _t("Unshare") + "</a>"
|
||||||
if (this == root)
|
if (!this.shared)
|
||||||
unshareLink = ""
|
unshareLink = ""
|
||||||
var commentLink = "<span id='comment-link-"+this.nodeId+"'><a href='#' onclick='window.showCommentForm(\"" + this.nodeId + "\");return false;'>" + _t("Comment") + "</a></span>";
|
var commentLink = "<span id='comment-link-"+this.nodeId+"'><a href='#' onclick='window.showCommentForm(\"" + this.nodeId + "\");return false;'>" + _t("Comment") + "</a></span>";
|
||||||
if (this == root)
|
if (!this.shared)
|
||||||
commentLink = ""
|
commentLink = ""
|
||||||
var certifyLink = "<a href='#' onclick='window.certify(\"" + this.nodeId + "\");return false;'>" + _t("Certify") + "</a>"
|
var certifyLink = "<a href='#' onclick='window.certify(\"" + this.nodeId + "\");return false;'>" + _t("Certify") + "</a>"
|
||||||
if (this == root)
|
if (!this.shared)
|
||||||
certifyLink = ""
|
certifyLink = ""
|
||||||
if (this.leaf) {
|
if (this.leaf) {
|
||||||
var certified = ""
|
var certified = ""
|
||||||
|
@ -98,7 +99,7 @@ function refreshStatus() {
|
||||||
}
|
}
|
||||||
|
|
||||||
var treeRevision = -1
|
var treeRevision = -1
|
||||||
var root = new Node("root",null,false, null, _t("Shared Files"), -1, null, false, -1)
|
var root = new Node("root",null,false, null, _t("Shared Files"), -1, null, false, false, -1)
|
||||||
var nodesById = new Map()
|
var nodesById = new Map()
|
||||||
|
|
||||||
function initFiles() {
|
function initFiles() {
|
||||||
|
@ -145,16 +146,19 @@ function expand(nodeId) {
|
||||||
var certified = fileElements[i].getElementsByTagName("Certified")[0].childNodes[0].nodeValue
|
var certified = fileElements[i].getElementsByTagName("Certified")[0].childNodes[0].nodeValue
|
||||||
|
|
||||||
var nodeId = node.nodeId + "_"+ Base64.encode(fileName)
|
var nodeId = node.nodeId + "_"+ Base64.encode(fileName)
|
||||||
var newFileNode = new Node(nodeId, node, true, infoHash, fileName, size, comment, certified, revision)
|
var newFileNode = new Node(nodeId, node, true, infoHash, fileName, size, comment, certified, true, revision)
|
||||||
nodesById.set(nodeId, newFileNode)
|
nodesById.set(nodeId, newFileNode)
|
||||||
node.children.push(newFileNode)
|
node.children.push(newFileNode)
|
||||||
}
|
}
|
||||||
|
|
||||||
var dirElements = xmlDoc.getElementsByTagName("Directory")
|
var dirElements = xmlDoc.getElementsByTagName("Directory")
|
||||||
for (i = 0; i < dirElements.length; i++) {
|
for (i = 0; i < dirElements.length; i++) {
|
||||||
var dirName = dirElements[i].childNodes[0].nodeValue
|
var dirElement = dirElements[i]
|
||||||
|
|
||||||
|
var dirName = dirElement.getElementsByTagName("Name")[0].childNodes[0].nodeValue
|
||||||
|
var shared = parseBoolean(dirElement.getElementsByTagName("Shared")[0].childNodes[0].nodeValue)
|
||||||
var nodeId = node.nodeId + "_"+ Base64.encode(dirName)
|
var nodeId = node.nodeId + "_"+ Base64.encode(dirName)
|
||||||
var newDirNode = new Node(nodeId, node, false, null, dirName, -1, null, false, revision)
|
var newDirNode = new Node(nodeId, node, false, null, dirName, -1, null, false, shared, revision)
|
||||||
nodesById.set(nodeId, newDirNode)
|
nodesById.set(nodeId, newDirNode)
|
||||||
node.children.push(newDirNode)
|
node.children.push(newDirNode)
|
||||||
}
|
}
|
||||||
|
@ -169,6 +173,7 @@ function expand(nodeId) {
|
||||||
xmlhttp.send()
|
xmlhttp.send()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function collapse(nodeId) {
|
function collapse(nodeId) {
|
||||||
var node = nodesById.get(nodeId)
|
var node = nodesById.get(nodeId)
|
||||||
node.children = []
|
node.children = []
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
function parseBoolean(s) {
|
||||||
|
return s == "true"
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Base64 encode / decode
|
* Base64 encode / decode
|
||||||
|
|
Loading…
Reference in New Issue