%--
- $Revision$
- $Date$
-
- Copyright (C) 2004-2008 Jive Software. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--%>
<%@ page import="org.jivesoftware.util.*,
java.util.*,
org.jivesoftware.openfire.muc.HistoryStrategy,
org.jivesoftware.openfire.muc.MultiUserChatService"
errorPage="error.jsp"
%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<% webManager.init(request, response, session, application, out ); %>
<%! // Global vars and methods:
static final int ALL = 1;
static final int NONE = 2;
static final int NUMBER = 3;
%>
<%
// TODO: This file is never used currently.
// Get parameters:
boolean update = request.getParameter("update") != null;
int policy = ParamUtils.getIntParameter(request,"policy",-1);
int numMessages = ParamUtils.getIntParameter(request,"numMessages",0);
String mucname = ParamUtils.getParameter(request, "mucname");
// Get an audit manager:
MultiUserChatService muc = webManager.getMultiUserChatManager().getMultiUserChatService(mucname);
HistoryStrategy historyStrat = muc.getHistoryStrategy();
Map errors = new HashMap();
if (update) {
if (policy != ALL && policy != NONE && policy != NUMBER) {
errors.put("general", "Please choose a valid chat history policy.");
}
else {
if (policy == NUMBER && numMessages <= 0) {
errors.put("numMessages", "Please enter a valid number of messages.");
}
}
if (errors.size() == 0) {
if (policy == ALL) {
historyStrat.setType(HistoryStrategy.Type.all);
}
else if (policy == NONE) {
historyStrat.setType(HistoryStrategy.Type.none);
}
else if (policy == NUMBER) {
historyStrat.setType(HistoryStrategy.Type.number);
historyStrat.setMaxNumber(numMessages);
}
// Log the event
webManager.logEvent("edited chatroom history settings", "type = "+policy+"\nmax messages = "+numMessages);
// All done, redirect
%>
<%
}
}
// Set page vars
if (errors.size() == 0) {
if (historyStrat.getType() == HistoryStrategy.Type.all) {
policy = ALL;
}
else if (historyStrat.getType() == HistoryStrategy.Type.none) {
policy = NONE;
}
else if (historyStrat.getType() == HistoryStrategy.Type.number) {
policy = NUMBER;
}
numMessages = historyStrat.getMaxNumber();
}
%>