reg-settings.jsp 7.25 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-2005 Jive Software. All rights reserved.
Bill Lynch's avatar
Bill Lynch committed
6 7 8
  -
  - This software is published under the terms of the GNU Public License (GPL),
  - a copy of which is included in this distribution.
Matt Tucker's avatar
Matt Tucker committed
9 10
--%>

Gaston Dombiak's avatar
Gaston Dombiak committed
11
<%@ page import="org.jivesoftware.util.ParamUtils,
12
                 org.jivesoftware.wildfire.ClientSession,
Gaston Dombiak's avatar
Gaston Dombiak committed
13 14 15
                 org.jivesoftware.wildfire.handler.IQAuthHandler,
                 org.jivesoftware.wildfire.handler.IQRegisterHandler,
                 java.util.HashMap"
Bill Lynch's avatar
Bill Lynch committed
16
    errorPage="error.jsp"
Matt Tucker's avatar
Matt Tucker committed
17
%>
Gaston Dombiak's avatar
Gaston Dombiak committed
18 19 20
<%@ page import="java.util.Iterator"%>
<%@ page import="java.util.Map"%>
<%@ page import="java.util.StringTokenizer"%>
21
<%@ page import="java.util.regex.Pattern"%>
Derek DeMoro's avatar
Derek DeMoro committed
22

23
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
24
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
Derek DeMoro's avatar
Derek DeMoro committed
25

26
<html>
27 28 29 30 31 32
<head>
<title><fmt:message key="reg.settings.title"/></title>
<meta name="pageID" content="server-reg-and-login"/>
<meta name="helpPage" content="manage_registration_and_login_settings.html"/>
</head>
<body>
Matt Tucker's avatar
Matt Tucker committed
33 34 35 36

<%  // Get parameters
    boolean save = request.getParameter("save") != null;
    boolean inbandEnabled = ParamUtils.getBooleanParameter(request,"inbandEnabled");
37
    boolean canChangePassword = ParamUtils.getBooleanParameter(request,"canChangePassword");
Matt Tucker's avatar
Matt Tucker committed
38
    boolean anonLogin = ParamUtils.getBooleanParameter(request,"anonLogin");
39
    String allowedIPs = request.getParameter("allowedIPs");
Matt Tucker's avatar
Matt Tucker committed
40 41 42 43 44 45 46

    // Get an IQRegisterHandler:
    IQRegisterHandler regHandler = new IQRegisterHandler();
    IQAuthHandler authHandler = new IQAuthHandler();

    if (save) {
        regHandler.setInbandRegEnabled(inbandEnabled);
47
        regHandler.setCanChangePassword(canChangePassword);
Matt Tucker's avatar
Matt Tucker committed
48
        authHandler.setAllowAnonymous(anonLogin);
49 50

        // Build a Map with the allowed IP addresses
51 52 53
        Pattern pattern = Pattern.compile("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.)" +
                "(?:(?:\\*|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){2}" +
                "(?:\\*|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)");
54 55 56 57
        Map<String,String> newMap = new HashMap<String,String>();
        StringTokenizer tokens = new StringTokenizer(allowedIPs, ", ");
        while (tokens.hasMoreTokens()) {
            String address = tokens.nextToken().trim();
58 59 60
            if (pattern.matcher(address).matches()) {
                newMap.put(address, "");
            }
61 62
        }
        ClientSession.setAllowedIPs(newMap);
Matt Tucker's avatar
Matt Tucker committed
63 64 65 66
    }

    // Reset the value of page vars:
    inbandEnabled = regHandler.isInbandRegEnabled();
67
    canChangePassword = regHandler.canChangePassword();
Gaston Dombiak's avatar
Gaston Dombiak committed
68
    anonLogin = authHandler.isAnonymousAllowed();
69 70 71 72 73 74 75 76 77 78
    // Encode the allowed IP addresses
    StringBuilder buf = new StringBuilder();
    Iterator<String> iter = ClientSession.getAllowedIPs().keySet().iterator();
    if (iter.hasNext()) {
        buf.append(iter.next());
    }
    while (iter.hasNext()) {
        buf.append(", ").append((String)iter.next());
    }
    allowedIPs = buf.toString();
Matt Tucker's avatar
Matt Tucker committed
79 80
%>

Bill Lynch's avatar
Bill Lynch committed
81
<p>
82
<fmt:message key="reg.settings.info" />
Bill Lynch's avatar
Bill Lynch committed
83
</p>
Matt Tucker's avatar
Matt Tucker committed
84 85

<form action="reg-settings.jsp">
Bill Lynch's avatar
Bill Lynch committed
86

87
<% if (save) { %>
Bill Lynch's avatar
Bill Lynch committed
88 89 90 91 92 93

    <div class="jive-success">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0"></td>
        <td class="jive-icon-label">
94
        <fmt:message key="reg.settings.update" />
Bill Lynch's avatar
Bill Lynch committed
95 96 97 98 99
        </td></tr>
    </tbody>
    </table>
    </div><br>

100
<% } %>
Bill Lynch's avatar
Bill Lynch committed
101

102 103 104 105 106 107 108 109
<!-- BEGIN registration settings -->
	<!--<div class="jive-contentBoxHeader">

	</div>-->
	<div class="jive-contentBox" style="-moz-border-radius: 3px;">

	<h4><fmt:message key="reg.settings.inband_account" /></h4>
	<p>
110
    <fmt:message key="reg.settings.inband_account_info" />
Bill Lynch's avatar
Bill Lynch committed
111 112 113 114 115 116 117 118 119
    </p>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
        <tr>
            <td width="1%">
                <input type="radio" name="inbandEnabled" value="true" id="rb01"
                 <%= ((inbandEnabled) ? "checked" : "") %>>
            </td>
            <td width="99%">
120 121
                <label for="rb01"><b><fmt:message key="reg.settings.enable" /></b> -
                <fmt:message key="reg.settings.auto_create_user" /></label>
Bill Lynch's avatar
Bill Lynch committed
122 123 124 125 126 127 128 129
            </td>
        </tr>
        <tr>
            <td width="1%">
                <input type="radio" name="inbandEnabled" value="false" id="rb02"
                 <%= ((!inbandEnabled) ? "checked" : "") %>>
            </td>
            <td width="99%">
130
                <label for="rb02"><b><fmt:message key="reg.settings.disable" /></b> - <fmt:message key="reg.settings.not_auto_create" /></label>
Bill Lynch's avatar
Bill Lynch committed
131 132 133
            </td>
        </tr>
    </tbody>
Matt Tucker's avatar
Matt Tucker committed
134
    </table>
Bill Lynch's avatar
Bill Lynch committed
135

136 137
	<br>
	<br>
138

139 140
	<h4><fmt:message key="reg.settings.change_password" /></h4>
	<p>
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
    <fmt:message key="reg.settings.change_password_info" />
    </p>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
        <tr>
            <td width="1%">
            <input type="radio" name="canChangePassword" value="true" id="rb03"
             <%= ((canChangePassword) ? "checked" : "") %>>
            </td>
            <td width="99%">
                <label for="rb03"><b><fmt:message key="reg.settings.enable" /></b> - <fmt:message key="reg.settings.can_change" /></label>
            </td>
        </tr>
        <tr>
            <td width="1%">
            <input type="radio" name="canChangePassword" value="false" id="rb04"
             <%= ((!canChangePassword) ? "checked" : "") %>>
            </td>
            <td width="99%">
                <label for="rb04"><b><fmt:message key="reg.settings.disable" /></b> - <fmt:message key="reg.settings.cannot_change" /></label>
            </td>
        </tr>
    </tbody>
    </table>

166 167
	<br>
	<br>
Matt Tucker's avatar
Matt Tucker committed
168

169 170
	<h4><fmt:message key="reg.settings.anonymous_login" /></h4>
	<p>
171
    <fmt:message key="reg.settings.anonymous_login_info" />
Bill Lynch's avatar
Bill Lynch committed
172 173 174 175 176
    </p>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
        <tr>
            <td width="1%">
177
            <input type="radio" name="anonLogin" value="true" id="rb05"
Matt Tucker's avatar
Matt Tucker committed
178
             <%= ((anonLogin) ? "checked" : "") %>>
Bill Lynch's avatar
Bill Lynch committed
179 180
            </td>
            <td width="99%">
181
                <label for="rb03"><b><fmt:message key="reg.settings.enable" /></b> - <fmt:message key="reg.settings.anyone_login" /></label>
Bill Lynch's avatar
Bill Lynch committed
182 183 184 185
            </td>
        </tr>
        <tr>
            <td width="1%">
186
            <input type="radio" name="anonLogin" value="false" id="rb06"
Matt Tucker's avatar
Matt Tucker committed
187
             <%= ((!anonLogin) ? "checked" : "") %>>
Bill Lynch's avatar
Bill Lynch committed
188 189
            </td>
            <td width="99%">
190
                <label for="rb04"><b><fmt:message key="reg.settings.disable" /></b> - <fmt:message key="reg.settings.only_registered_login" /></label>
Bill Lynch's avatar
Bill Lynch committed
191 192 193
            </td>
        </tr>
    </tbody>
Matt Tucker's avatar
Matt Tucker committed
194 195
    </table>

196 197
	<br>
	<br>
198

199 200
	<h4><fmt:message key="reg.settings.allowed_ips" /></h4>
	<p>
201 202 203 204 205 206 207 208 209 210 211
    <fmt:message key="reg.settings.allowed_ips_info" />
    </p>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
        <tr>
            <td>
                <textarea name="allowedIPs" cols="40" rows="3" wrap="virtual"><%= ((allowedIPs != null) ? allowedIPs : "") %></textarea>
            </td>
        </tr>
    </tbody>
    </table>
Matt Tucker's avatar
Matt Tucker committed
212
	
213
	</div>
Matt Tucker's avatar
Matt Tucker committed
214
    <input type="submit" name="save" value="<fmt:message key="global.save_settings" />">
215
<!-- END registration settings -->
Matt Tucker's avatar
Matt Tucker committed
216 217 218

</form>

219 220

</body>
221
</html>