<%@ page contentType="text/html; charset=UTF-8" %> <%-- - - Copyright (C) 2004-2008 Jive Software, 2017-2025 Ignite Realtime Foundation. 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" %> <%@ page import="java.nio.charset.StandardCharsets" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <% webManager.init(request, response, session, application, out ); %> <% // Get parameters // boolean cancel = request.getParameter("cancel") != null; boolean delete = request.getParameter("delete") != null; Cookie csrfCookie = CookieUtils.getCookie(request, "csrf"); String csrfParam = ParamUtils.getParameter(request, "csrf"); if (delete) { if (csrfCookie == null || csrfParam == null || !csrfCookie.getValue().equals(csrfParam)) { delete = false; } } csrfParam = StringUtils.randomString(15); CookieUtils.setCookie(request, response, "csrf", csrfParam, -1); pageContext.setAttribute("csrf", csrfParam); JID roomJID = new JID(ParamUtils.getParameter(request,"roomJID")); String alternateJIDString = ParamUtils.getParameter(request,"alternateJID"); JID alternateJID; if (alternateJIDString != null && !alternateJIDString.trim().isEmpty()) { // 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 password = ParamUtils.getParameter(request,"password"); String roomName = roomJID.getNode(); // Handle a cancel if (cancel) { response.sendRedirect("muc-room-summary.jsp?roomJID="+URLEncoder.encode(roomJID.toBareJID(), StandardCharsets.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, password, reason); webManager.getMultiUserChatManager().getMultiUserChatService(roomJID).syncChatRoom(room); // Log the event webManager.logEvent("destroyed MUC room "+roomName, "reason = "+reason+"\nalt jid = "+alternateJID); } // Done, so redirect response.sendRedirect("muc-room-summary.jsp?roomJID="+URLEncoder.encode(roomJID.toBareJID(), StandardCharsets.UTF_8)+"&deletesuccess=true"); return; } %> <fmt:message key="muc.room.delete.title"/>

<%= StringUtils.escapeHTMLTags(room.getJID().toBareJID()) %>

<%= StringUtils.escapeHTMLTags(room.getJID().toBareJID()) %>


"> ">