mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-12-28 15:17:57 +01:00
1e57f1c659
Delete also all "All rights reserved" statements, as they are unnecessary and conflict with checkstyle's header check. Delete unused imports.
208 lines
8.7 KiB
Text
208 lines
8.7 KiB
Text
<%--
|
|
- $RCSfile$
|
|
- $Revision$
|
|
- $Date$
|
|
-
|
|
- Copyright (C) 2002-2003 Jive Software.
|
|
-
|
|
- The Jive Software License (based on Apache Software License, Version 1.1)
|
|
- Redistribution and use in source and binary forms, with or without
|
|
- modification, are permitted provided that the following conditions
|
|
- are met:
|
|
-
|
|
- 1. Redistributions of source code must retain the above copyright
|
|
- notice, this list of conditions and the following disclaimer.
|
|
-
|
|
- 2. Redistributions in binary form must reproduce the above copyright
|
|
- notice, this list of conditions and the following disclaimer in
|
|
- the documentation and/or other materials provided with the
|
|
- distribution.
|
|
-
|
|
- 3. The end-user documentation included with the redistribution,
|
|
- if any, must include the following acknowledgment:
|
|
- "This product includes software developed by
|
|
- Jive Software (http://www.jivesoftware.com)."
|
|
- Alternately, this acknowledgment may appear in the software itself,
|
|
- if and wherever such third-party acknowledgments normally appear.
|
|
-
|
|
- 4. The names "Smack" and "Jive Software" must not be used to
|
|
- endorse or promote products derived from this software without
|
|
- prior written permission. For written permission, please
|
|
- contact webmaster@jivesoftware.com.
|
|
-
|
|
- 5. Products derived from this software may not be called "Smack",
|
|
- nor may "Smack" appear in their name, without prior written
|
|
- permission of Jive Software.
|
|
-
|
|
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
|
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
- DISCLAIMED. IN NO EVENT SHALL JIVE SOFTWARE OR
|
|
- ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
- SUCH DAMAGE.
|
|
--%>
|
|
<%@ page import="java.util.*,
|
|
org.jivesoftware.smack.*,
|
|
org.jivesoftware.smack.packet.*,
|
|
org.jivesoftware.smack.util.*"%>
|
|
<%@ include file="global.jsp" %>
|
|
<%
|
|
// If we don't have a valid connection then proceed to login
|
|
XMPPConnection conn = (XMPPConnection) session.getAttribute("connection");
|
|
if (conn == null || !conn.isConnected()) {
|
|
response.sendRedirect("login.jsp");
|
|
return;
|
|
}
|
|
Roster roster = conn.getRoster();
|
|
|
|
// Get parameters
|
|
String action = getParameter(request, "action");
|
|
String user = getParameter(request, "user");
|
|
String fromGroup = getParameter(request, "fromGroup");
|
|
String toGroup = getParameter(request, "toGroup");
|
|
|
|
// Move the entry from the existing group to a new group
|
|
if ("move".equals(action)) {
|
|
RosterEntry entry = roster.getEntry(user);
|
|
// Remove the entry from the existing group
|
|
RosterGroup rosterGroup = roster.getGroup(fromGroup);
|
|
rosterGroup.removeEntry(entry);
|
|
// Get the new group or create it if it doesn't exist
|
|
rosterGroup = roster.getGroup(toGroup);
|
|
if (rosterGroup == null) {
|
|
rosterGroup = roster.createGroup(toGroup);
|
|
}
|
|
// Add the new entry to the group
|
|
rosterGroup.addEntry(entry);
|
|
response.sendRedirect("viewRoster.jsp");
|
|
return;
|
|
}
|
|
|
|
// Add the entry to a new group
|
|
if ("add".equals(action)) {
|
|
RosterEntry entry = roster.getEntry(user);
|
|
// Get the new group or create it if it doesn't exist
|
|
RosterGroup rosterGroup = roster.getGroup(toGroup);
|
|
if (rosterGroup == null) {
|
|
rosterGroup = roster.createGroup(toGroup);
|
|
}
|
|
// Add the new entry to the group
|
|
rosterGroup.addEntry(entry);
|
|
response.sendRedirect("viewRoster.jsp");
|
|
return;
|
|
}
|
|
|
|
// Delete the entry from a group
|
|
if ("delete".equals(action)) {
|
|
RosterEntry entry = roster.getEntry(user);
|
|
RosterGroup rosterGroup = roster.getGroup(fromGroup);
|
|
rosterGroup.removeEntry(entry);
|
|
response.sendRedirect("viewRoster.jsp");
|
|
return;
|
|
}
|
|
%>
|
|
<html>
|
|
<head>
|
|
<title>Groups Management</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link href="css/general.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<body>
|
|
<table width="100%" border="0">
|
|
<tr>
|
|
<td><span id="bigBlack">Groups for entry: <%= user%></span></td>
|
|
<td align="right"><a href="viewRoster.jsp"><img src="images/address_book.png" alt="View roster" border="0"></a></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"> </td>
|
|
</tr><tr><td colspan="2">
|
|
<table width="100%" border="0"><tr>
|
|
<td valign="top" width="48%"><table cellSpacing=0 borderColorDark=#E0E0E0 cellPadding=0 width=100% align=center borderColorLight=#000000 border=1>
|
|
<tr bgcolor="#AAAAAA">
|
|
<td class=text id=bigWhite height=16 align="center"> <b>Add to new group</b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td> <table width="100%" border="0">
|
|
<form method="post" action="moveContact.jsp">
|
|
<input type="hidden" name="action" value="add">
|
|
<input type="hidden" name="user" value="<%= user%>">
|
|
<tr>
|
|
<td width="40%" height=16 align="center" class=text>Group:</td>
|
|
<td width="20%"> </td>
|
|
<td width="40%" align="center"><input type="text" name="toGroup"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan=3 align="center"> <input type="submit" value="Add"></td>
|
|
</tr>
|
|
</form>
|
|
</table></td>
|
|
</tr>
|
|
</table></td>
|
|
<td width="4%"> </td><td valign="top" width="48%">
|
|
<table cellSpacing=0 borderColorDark=#E0E0E0 cellPadding=0 width=100% align=center borderColorLight=#000000 border=1>
|
|
<tr bgcolor="#AAAAAA">
|
|
<td colspan="3" class=text id=bigWhite height=16 align="center"> <b>Move
|
|
to new group</b> </td>
|
|
</tr>
|
|
<tr vAlign=center align=middle bgcolor="#AAAAAA">
|
|
<td align="center" width="40%" class=text id=white height=16>From</td>
|
|
<td width="20%"> </td>
|
|
<td align="center" width="40%" class=text id=white height=16>To</td>
|
|
</tr>
|
|
<% if (fromGroup != null) { %>
|
|
<form method="post" action="moveContact.jsp">
|
|
<input type="hidden" name="action" value="move">
|
|
<input type="hidden" name="user" value="<%= user%>">
|
|
<input type="hidden" name="fromGroup" value="<%= fromGroup%>">
|
|
<tr>
|
|
<td colspan="3"> <table width="100%" border="0">
|
|
<tr>
|
|
<td width="40%" align="center" valign="middle" class=text height=16><%=fromGroup%></td>
|
|
<td width="20%" align="center" valign="middle"><img src="images/nav_right_blue.png" alt="Move contact to group" border="0"></td>
|
|
<td width="40%" align="center" valign="middle"> <input type="text" name="toGroup">
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3" align="center"> <input type="submit" value="Move">
|
|
</tr>
|
|
</table></td>
|
|
</tr>
|
|
</form>
|
|
<% } else { %>
|
|
<tr>
|
|
<td colspan="3" align="center" class=text id=black height=16>Entry does
|
|
not belong to a group (unfiled entry) </td>
|
|
</tr>
|
|
<% } %>
|
|
</table></td></tr>
|
|
<tr>
|
|
<td colspan="3"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3" align="center"> <table cellSpacing=0 borderColorDark=#E0E0E0 cellPadding=0 width=50% align=center borderColorLight=#000000 border=1>
|
|
<tr bgcolor="#AAAAAA">
|
|
<td colspan="2" class=text id=bigWhite height=16 align="center"> <b>Remove
|
|
from groups</b> </td>
|
|
</tr>
|
|
<%
|
|
RosterEntry entry = roster.getEntry(user);
|
|
RosterGroup group;
|
|
for (Iterator<RosterGroup> it=entry.getGroups().iterator(); it.hasNext();) {
|
|
group = it.next();%>
|
|
<tr>
|
|
<td align="center" width="80%" class=text height=16><%=group.getName()%></td>
|
|
<td valign="middle" align="center" width="20%"><a href="moveContact.jsp?action=delete&user=<%=user%>&fromGroup=<%=group.getName()%>"><img src="images/garbage.png" alt="Remove contact from the group" border="0"></a></td>
|
|
</tr>
|
|
<% } %>
|
|
</table></td>
|
|
</tr>
|
|
</table></td></tr>
|
|
</table>
|
|
</body>
|
|
</html>
|