%--
- $Revision$
- $Date$
-
- Copyright (C) 2004-2005 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.*,
java.util.*,
org.jivesoftware.openfire.muc.MultiUserChatServer"
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 ); %>
<% // Get parameters
String userJID = ParamUtils.getParameter(request,"userJID");
boolean add = request.getParameter("add") != null;
boolean save = request.getParameter("save") != null;
boolean success = request.getParameter("success") != null;
boolean addsuccess = request.getParameter("addsuccess") != null;
boolean deletesuccess = request.getParameter("deletesuccess") != null;
boolean delete = ParamUtils.getBooleanParameter(request,"delete");
boolean openPerms = ParamUtils.getBooleanParameter(request,"openPerms");
// Get muc server
MultiUserChatServer mucServer = webManager.getMultiUserChatServer();
// Handle a save
Map errors = new HashMap();
if (save) {
if (openPerms) {
// Remove all users who have the ability to create rooms
List removeables = new ArrayList();
for (Object obj : mucServer.getUsersAllowedToCreate()) {
String user = (String)obj;
removeables.add(user);
}
for (String user : removeables) {
mucServer.removeUserAllowedToCreate(user);
}
mucServer.setRoomCreationRestricted(false);
response.sendRedirect("muc-create-permission.jsp?success=true");
return;
}
else {
mucServer.setRoomCreationRestricted(true);
response.sendRedirect("muc-create-permission.jsp?success=true");
return;
}
}
// Handle an add
if (add) {
// do validation
if (userJID == null || userJID.indexOf('@') == -1) {
errors.put("userJID","userJID");
}
if (errors.size() == 0) {
mucServer.addUserAllowedToCreate(userJID);
response.sendRedirect("muc-create-permission.jsp?addsuccess=true");
return;
}
}
if (delete) {
// Remove the user from the allowed list
mucServer.removeUserAllowedToCreate(userJID);
// done, return
response.sendRedirect("muc-create-permission.jsp?deletesuccess=true");
return;
}
%>