<%-- - $Revision$ - $Date$ - - Copyright (C) 2007 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.net.URLEncoder" errorPage="error.jsp" %> <%@ page import="java.util.Map"%> <%@ page import="java.util.HashMap"%><%@ page import="org.xmpp.packet.JID"%> <%@ page import="org.jivesoftware.openfire.roster.Roster" %> <%@ page import="java.util.List" %> <%@ page import="java.util.ArrayList" %> <%@ page import="org.jivesoftware.openfire.user.UserAlreadyExistsException" %> <%@ page import="org.jivesoftware.openfire.SharedGroupException" %> <%@ 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 another = request.getParameter("another") != null; boolean add = another || request.getParameter("add") != null; boolean cancel = request.getParameter("cancel") != null; String username = ParamUtils.getParameter(request, "username"); String jid = ParamUtils.getParameter(request, "jid"); String nickname = ParamUtils.getParameter(request, "nickname"); String groups = ParamUtils.getParameter(request, "groups"); Map errors = new HashMap(); // Handle a cancel if (cancel) { response.sendRedirect("user-roster.jsp?username=" + URLEncoder.encode(username, "UTF-8")); return; } // Handle a request to create a user: if (add) { // do an add if there were no errors if (errors.size() == 0) { try { // Load the user's roster object Roster roster = webManager.getRosterManager().getRoster(username); List groupList = new ArrayList(); if (groups != null) { for (String group : groups.split(",")) { groupList.add(group.trim()); } } // Load the roster item from the user's roster. roster.createRosterItem(new JID(jid), nickname, groupList, true, true); // Successful, so redirect if (another) { response.sendRedirect("user-roster-add.jsp?success=true&username=" + URLEncoder.encode(username, "UTF-8")); } else { response.sendRedirect("user-roster.jsp?username=" + URLEncoder.encode(username, "UTF-8") + "&addsuccess=true"); } return; } catch (UserAlreadyExistsException e) { errors.put("usernameAlreadyExists",""); } catch (SharedGroupException e) { errors.put("uneditableGroup",""); } catch (IllegalArgumentException e) { errors.put("illegalJID",""); } catch (Exception e) { errors.put("general",""); Log.error(e); } } } %> <fmt:message key="user.roster.add.title"/> "/>

<%----%> <%----%> <% if (!errors.isEmpty()) { %>
<% if (errors.get("general") != null) { %> <% } else if (errors.get("usernameAlreadyExists") != null) { %> <% } else if (errors.get("uneditableGroup") != null) { %> <% } else if (errors.get("illegalJID") != null) { %> <% } %>

<% } else if (request.getParameter("success") != null) { %>

<% } %>
* " id="jidtf">
" id="nicknametf">
" id="groupstf">
"> "> ">
*