%--
- $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.*,
org.jivesoftware.openfire.muc.MUCRoom,
java.net.URLEncoder"
errorPage="error.jsp"
%>
<%@ page import="org.xmpp.packet.JID" %>
<%@ 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 //
boolean cancel = request.getParameter("cancel") != null;
boolean delete = request.getParameter("delete") != null;
JID roomJID = new JID(ParamUtils.getParameter(request,"roomJID"));
String alternateJIDString = ParamUtils.getParameter(request,"alternateJID");
JID alternateJID = null;
if (alternateJIDString != null && alternateJIDString.trim().length() > 0 ) {
// OF-526: Ignore invalid alternative JIDs.
try {
alternateJID = new JID(alternateJIDString.trim());
if (alternateJID.getNode() == null) {
alternateJID = null;
}
} catch (IllegalArgumentException ex) {
alternateJID = null;
}
} else {
alternateJID = null;
}
String reason = ParamUtils.getParameter(request,"reason");
String roomName = roomJID.getNode();
// Handle a cancel
if (cancel) {
response.sendRedirect("muc-room-summary.jsp?roomJID="+URLEncoder.encode(roomJID.toBareJID(), "UTF-8"));
return;
}
// Load the room object
MUCRoom room = webManager.getMultiUserChatManager().getMultiUserChatService(roomJID).getChatRoom(roomName);
// Handle a room delete:
if (delete) {
// Delete the room
if (room != null) {
// If the room still exists then destroy it
room.destroyRoom(alternateJID, reason);
// Log the event
webManager.logEvent("destroyed MUC room "+roomName, "reason = "+reason+"\nalt jid = "+alternateJID.toString());
}
// Done, so redirect
response.sendRedirect("muc-room-summary.jsp?roomJID="+URLEncoder.encode(roomJID.toBareJID(), "UTF-8")+"&deletesuccess=true");
return;
}
%>
"/>
"><%= room.getJID().toBareJID() %>