%--
- $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.ParamUtils,
org.jivesoftware.openfire.SessionManager,
org.jivesoftware.openfire.session.ClientSession,
org.jivesoftware.openfire.session.Session,
org.jivesoftware.openfire.user.User,
org.xmpp.packet.JID,
java.net.URLEncoder,
java.util.Collection,
java.util.HashMap,
java.util.Iterator"
errorPage="error.jsp"
%>
<%@ page import="java.util.Map" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<% // Get parameters
String username = ParamUtils.getParameter(request,"username");
boolean send = ParamUtils.getBooleanParameter(request,"send");
boolean success = ParamUtils.getBooleanParameter(request,"success");
boolean sendToAll = ParamUtils.getBooleanParameter(request,"sendToAll");
boolean tabs = ParamUtils.getBooleanParameter(request,"tabs",true);
String jid = ParamUtils.getParameter(request,"jid");
String[] jids = ParamUtils.getParameters(request,"jid");
String sessionID = ParamUtils.getParameter(request,"sessionID");
String message = ParamUtils.getParameter(request,"message");
%>
<% webManager.init(pageContext); %>
<%
// Handle a cancel
if (request.getParameter("cancel") != null) {
if (username == null) {
response.sendRedirect("session-summary.jsp");
return;
}
else {
response.sendRedirect("user-properties.jsp?username=" + URLEncoder.encode(username, "UTF-8"));
return;
}
}
// Get the user - a user might not be passed in if this is a system-wide message
User user = null;
if (username != null) {
user = webManager.getUserManager().getUser(username);
}
// Get the session manager
SessionManager sessionManager = webManager.getSessionManager();
// Handle the request to send a message:
Map errors = new HashMap();
if (send) {
// Validate the message and jid
if (jid == null && !sendToAll && user != null) {
errors.put("jid","jid");
}
if (message == null) {
errors.put("message","message");
}
if (errors.size() == 0) {
// no errors, so continue
if (user == null) {
// system-wide message:
sessionManager.sendServerMessage(null,message);
}
else {
if (sendToAll) {
// loop through all sessions based on the user assoc with the JID, send
// message to all
for (int i=0; i sessions = null;
if (user != null) {
numSessions = sessionManager.getSessionCount(user.getUsername());
sessions = sessionManager.getSessions(user.getUsername());
if (numSessions == 1) {
sess = sessions.iterator().next();
}
}
%>
<% if (success) { %>