%@ page import="java.io.File,java.io.FilenameFilter,java.util.Arrays"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ page import="org.crosswire.utils.Utils" %>
<%
String action = request.getParameter("action");
if ("getConfig".equals(action)) {
String imagesRootFolder = Utils.getSysConfig(session).getProperty("ImagesRootFolder");
String imagesRootURL = Utils.getSysConfig(session).getProperty("ImagesRootURL");
response.setContentType("text/xml");
%>
<%=imagesRootFolder%>
<%=imagesRootURL%>
<%
return;
}
/**
* jQuery File Tree JSP Connector
* Version 1.0
* Copyright 2008 Joshua Gould
* 21 April 2008
*/
String dir = request.getParameter("dir");
if (dir == null) {
return;
}
if (dir.charAt(dir.length()-1) == '\\') {
dir = dir.substring(0, dir.length()-1) + "/";
} else if (dir.charAt(dir.length()-1) != '/') {
dir += "/";
}
dir = java.net.URLDecoder.decode(dir, "UTF-8");
if (new File(dir).exists()) {
String[] files = new File(dir).list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.charAt(0) != '.';
}
});
Arrays.sort(files, String.CASE_INSENSITIVE_ORDER);
out.print("
");
// All dirs
for (String file : files) {
if (new File(dir, file).isDirectory()) {
out.print("- "
+ file + "
");
}
}
// All files
for (String file : files) {
if (!new File(dir, file).isDirectory()) {
int dotIndex = file.lastIndexOf('.');
String ext = dotIndex > 0 ? file.substring(dotIndex + 1) : "";
out.print("- "
+ file + "
");
}
}
out.print("
");
}
%>