muc-sysadmins.jsp 6.55 KB
Newer Older
Bill Lynch's avatar
Bill Lynch committed
1
<%--
Matt Tucker's avatar
Matt Tucker committed
2 3
  -	$Revision$
  -	$Date$
Bill Lynch's avatar
Bill Lynch committed
4
  -
5
  - Copyright (C) 2004-2008 Jive Software. All rights reserved.
Bill Lynch's avatar
Bill Lynch committed
6
  -
7 8 9 10 11 12 13 14 15 16 17
  - 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.
Matt Tucker's avatar
Matt Tucker committed
18 19 20 21
--%>

<%@ page import="org.jivesoftware.util.*,
                 java.util.*,
22
                 org.xmpp.packet.*,
23 24
                 org.jivesoftware.openfire.muc.MultiUserChatService"
         errorPage="error.jsp"
Matt Tucker's avatar
Matt Tucker committed
25
%>
26
<%@ page import="java.net.URLEncoder" %>
Bill Lynch's avatar
Bill Lynch committed
27

28
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
29
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
Bill Lynch's avatar
Bill Lynch committed
30

31 32
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" />
<% webManager.init(request, response, session, application, out ); %>
Matt Tucker's avatar
Matt Tucker committed
33 34 35

<%  // Get parameters
    String userJID = ParamUtils.getParameter(request,"userJID");
Bill Lynch's avatar
Bill Lynch committed
36
    boolean add = request.getParameter("add") != null;
Matt Tucker's avatar
Matt Tucker committed
37
    boolean delete = ParamUtils.getBooleanParameter(request,"delete");
38
    String mucname = ParamUtils.getParameter(request,"mucname");
Matt Tucker's avatar
Matt Tucker committed
39

40 41 42 43 44 45 46 47
    if (!webManager.getMultiUserChatManager().isServiceRegistered(mucname)) {
        // The requested service name does not exist so return to the list of the existing rooms
        response.sendRedirect("muc-service-summary.jsp");
        return;
    }

    // Get muc server
    MultiUserChatService mucService = webManager.getMultiUserChatManager().getMultiUserChatService(mucname);
Matt Tucker's avatar
Matt Tucker committed
48 49

    // Handle a save
50
    Map<String,String> errors = new HashMap<String,String>();
51 52
    JID bareJID = null;
    try {
Matt Tucker's avatar
Matt Tucker committed
53
        // do validation
54
    	bareJID = new JID(userJID).asBareJID();
55 56 57 58 59 60 61
    } catch (IllegalArgumentException e) {
        errors.put("userJID","userJID");
    }
    
    if (errors.size() == 0) {
	    if (add) {
            mucService.addSysadmin(bareJID);
62
            // Log the event
63
            webManager.logEvent("added muc sysadmin "+userJID+" for service "+mucname, null);
64
            response.sendRedirect("muc-sysadmins.jsp?addsuccess=true&mucname="+URLEncoder.encode(mucname, "UTF-8"));
Matt Tucker's avatar
Matt Tucker committed
65 66 67
            return;
        }

68 69 70 71 72 73 74 75 76
	    if (delete) {
	        // Remove the user from the list of system administrators
	        mucService.removeSysadmin(bareJID);
	        // Log the event
	        webManager.logEvent("removed muc sysadmin "+userJID+" for service "+mucname, null);
	        // done, return
	        response.sendRedirect("muc-sysadmins.jsp?deletesuccess=true&mucname="+URLEncoder.encode(mucname, "UTF-8"));
	        return;
	    }
Matt Tucker's avatar
Matt Tucker committed
77
    }
Bill Lynch's avatar
Bill Lynch committed
78
%>
Matt Tucker's avatar
Matt Tucker committed
79

80
<html>
81 82
<head>
<title><fmt:message key="groupchat.admins.title"/></title>
83 84
<meta name="subPageID" content="muc-sysadmin"/>
<meta name="extraParams" content="<%= "mucname="+URLEncoder.encode(mucname, "UTF-8") %>"/>
85 86 87
<meta name="helpPage" content="edit_group_chat_service_administrators.html"/>
</head>
<body>
Matt Tucker's avatar
Matt Tucker committed
88

Bill Lynch's avatar
Bill Lynch committed
89
<p>
90
<fmt:message key="groupchat.admins.introduction" />
91
<fmt:message key="groupchat.service.settings_affect" /> <b><a href="muc-service-edit-form.jsp?mucname=<%= URLEncoder.encode(mucname, "UTF-8") %>"><%= mucname %></a></b>
Bill Lynch's avatar
Bill Lynch committed
92
</p>
Matt Tucker's avatar
Matt Tucker committed
93 94 95

<%  if ("true".equals(request.getParameter("deletesuccess"))) { %>

Bill Lynch's avatar
Bill Lynch committed
96 97 98
    <div class="jive-success">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
99
        <tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0" alt=""></td>
Bill Lynch's avatar
Bill Lynch committed
100
        <td class="jive-icon-label">
101
        <fmt:message key="groupchat.admins.user_removed" />
Bill Lynch's avatar
Bill Lynch committed
102 103 104 105
        </td></tr>
    </tbody>
    </table>
    </div><br>
Matt Tucker's avatar
Matt Tucker committed
106

Bill Lynch's avatar
Bill Lynch committed
107
<%  } else if ("true".equals(request.getParameter("addsuccess"))) { %>
Matt Tucker's avatar
Matt Tucker committed
108

Bill Lynch's avatar
Bill Lynch committed
109 110 111
    <div class="jive-success">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
112
        <tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0" alt=""></td>
Bill Lynch's avatar
Bill Lynch committed
113
        <td class="jive-icon-label">
114
        <fmt:message key="groupchat.admins.user_added" />
Bill Lynch's avatar
Bill Lynch committed
115 116 117 118
        </td></tr>
    </tbody>
    </table>
    </div><br>
Matt Tucker's avatar
Matt Tucker committed
119

Bill Lynch's avatar
Bill Lynch committed
120
<%  } else if (errors.size() > 0) { %>
Matt Tucker's avatar
Matt Tucker committed
121

Bill Lynch's avatar
Bill Lynch committed
122 123 124
    <div class="jive-error">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
125
        <tr><td class="jive-icon"><img src="images/error-16x16.gif" width="16" height="16" border="0" alt=""></td>
Bill Lynch's avatar
Bill Lynch committed
126
        <td class="jive-icon-label">
127
        <fmt:message key="groupchat.admins.error_adding" />
Bill Lynch's avatar
Bill Lynch committed
128 129 130 131
        </td></tr>
    </tbody>
    </table>
    </div><br>
Matt Tucker's avatar
Matt Tucker committed
132

Bill Lynch's avatar
Bill Lynch committed
133
<%  } %>
Matt Tucker's avatar
Matt Tucker committed
134 135


136 137
<!-- BEGIN 'Administrators' -->
<form action="muc-sysadmins.jsp?add" method="post">
138 139
    <input type="hidden" name="mucname" value="<%= mucname %>" />
    <div class="jive-contentBoxHeader">
140 141 142 143 144 145
		<fmt:message key="groupchat.admins.legend" />
	</div>
	<div class="jive-contentBox">
		<label for="userJIDtf"><fmt:message key="groupchat.admins.label_add_admin" /></label>
		<input type="text" name="userJID" size="30" maxlength="100" value="<%= (userJID != null ? userJID : "") %>"
		 id="userJIDtf">
146
		<input type="submit" value="<fmt:message key="groupchat.admins.add" />">
147 148 149 150 151 152 153 154 155 156 157
		<br><br>

		<div class="jive-table" style="width:400px;">
			<table cellpadding="0" cellspacing="0" border="0" width="100%">
			<thead>
				<tr>
					<th width="99%"><fmt:message key="groupchat.admins.column_user" /></th>
					<th width="1%" nowrap><fmt:message key="groupchat.admins.column_remove" /></th>
				</tr>
			</thead>
			<tbody>
158
				<%  if (mucService.getSysadmins().size() == 0) { %>
159 160 161 162 163 164 165 166 167

					<tr>
						<td colspan="2">
							<fmt:message key="groupchat.admins.no_admins" />
						</td>
					</tr>

				<%  } %>

168 169 170 171
				<%  for (JID user : mucService.getSysadmins()) {
	                	String username = JID.unescapeNode(user.getNode());
	                    String userDisplay = username + '@' + user.getDomain();
	            %>
172 173
					<tr>
						<td width="99%">
174
							<%= userDisplay %>
175 176
						</td>
						<td width="1%" align="center">
177
							<a href="muc-sysadmins.jsp?userJID=<%= user.toString() %>&delete=true&mucname=<%= URLEncoder.encode(mucname, "UTF-8") %>"
178 179
							 title="<fmt:message key="groupchat.admins.dialog.title" />"
							 onclick="return confirm('<fmt:message key="groupchat.admins.dialog.text" />');"
180
							 ><img src="images/delete-16x16.gif" width="16" height="16" border="0" alt=""></a>
181 182 183 184 185 186 187 188
						</td>
					</tr>

				<%  } %>
			</tbody>
			</table>
		</div>
	</div>
Bill Lynch's avatar
Bill Lynch committed
189
</form>
190 191
<!-- END 'Administrators' -->

Bill Lynch's avatar
Bill Lynch committed
192

193
</body>
194
</html>