%--
- $RCSfile$
- $Revision$
- $Date$
-
- Copyright (C) 2004 Jive Software. All rights reserved.
-
- This software is published under the terms of the GNU Public License (GPL),
- a copy of which is included in this distribution.
--%>
<%@ page import="org.jivesoftware.util.ParamUtils,
org.jivesoftware.openfire.XMPPServer,
org.jivesoftware.openfire.audit.AuditManager,
org.jivesoftware.openfire.user.UserNotFoundException,
org.xmpp.packet.JID,
java.io.File"
errorPage="error.jsp"
%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<% webManager.init(request, response, session, application, out ); %>
<% // Get parameters:
boolean update = request.getParameter("update") != null;
boolean auditEnabled = ParamUtils.getBooleanParameter(request,"auditEnabled");
boolean auditMessages = ParamUtils.getBooleanParameter(request,"auditMessages");
boolean auditPresence = ParamUtils.getBooleanParameter(request,"auditPresence");
boolean auditIQ = ParamUtils.getBooleanParameter(request,"auditIQ");
boolean auditXPath = ParamUtils.getBooleanParameter(request,"auditXPath");
String newXpathQuery = ParamUtils.getParameter(request,"newXpathQuery");
String[] xpathQuery = ParamUtils.getParameters(request,"xpathQuery");
String maxTotalSize = ParamUtils.getParameter(request,"maxTotalSize");
String maxFileSize = ParamUtils.getParameter(request,"maxFileSize");
String maxDays = ParamUtils.getParameter(request,"maxDays");
String logTimeout = ParamUtils.getParameter(request,"logTimeout");
String logDir = ParamUtils.getParameter(request,"logDir");
String ignore = ParamUtils.getParameter(request,"ignore");
// Get an audit manager:
AuditManager auditManager = XMPPServer.getInstance().getAuditManager();
Map errors = new HashMap();
if (update) {
auditManager.setEnabled(auditEnabled);
auditManager.setAuditMessage(auditMessages);
auditManager.setAuditPresence(auditPresence);
auditManager.setAuditIQ(auditIQ);
/*
auditManager.setAuditXPath(auditXPath);
if (newXpathQuery != null) {
auditManager.addXPath(newXpathQuery);
}
for (int i=0; i());
}
else {
// Set the new ignore list
Collection newIgnoreList = new HashSet(ignore.length());
StringTokenizer tokenizer = new StringTokenizer(ignore, ", \t\n\r\f");
while (tokenizer.hasMoreTokens()) {
String tok = tokenizer.nextToken();
String username = tok;
if (tok.contains("@")) {
if (tok.contains("@" + webManager.getServerInfo().getName())) {
username = new JID(tok).getNode();
}
else {
// Skip this JID since it belongs to a remote server
continue;
}
}
try {
webManager.getUserManager().getUser(username);
newIgnoreList.add(username);
}
catch (UserNotFoundException e){
}
}
auditManager.setIgnoreList(newIgnoreList);
}
// All done, redirect
%>
<%
}
}
// Set page vars
if (errors.size() == 0) {
auditEnabled = auditManager.isEnabled();
auditMessages = auditManager.isAuditMessage();
auditPresence = auditManager.isAuditPresence();
auditIQ = auditManager.isAuditIQ();
auditXPath = auditManager.isAuditXPath();
maxTotalSize = Integer.toString(auditManager.getMaxTotalSize());
maxFileSize = Integer.toString(auditManager.getMaxFileSize());
maxDays = Integer.toString(auditManager.getMaxDays());
logTimeout = Integer.toString(auditManager.getLogTimeout() / 1000);
logDir = auditManager.getLogDir();
StringBuilder ignoreList = new StringBuilder();
for (String username : auditManager.getIgnoreList()) {
if (ignoreList.length() == 0) {
ignoreList.append(username);
}
else {
ignoreList.append(", ").append(username);
}
}
ignore = ignoreList.toString();
}
%>