server-props.jsp 13.7 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3 4
<%--
  -	$RCSfile$
  -	$Revision$
  -	$Date$
5 6 7 8 9
  -
  - Copyright (C) 2004 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.
Matt Tucker's avatar
Matt Tucker committed
10 11 12 13
--%>

<%@ page import="org.jivesoftware.util.*,
                 org.jivesoftware.messenger.XMPPServerInfo,
14
                 org.jivesoftware.messenger.ServerPort,
15 16
                 org.jivesoftware.admin.AdminPageBean,
                 java.util.*,
Bill Lynch's avatar
Bill Lynch committed
17 18
                 org.jivesoftware.messenger.XMPPServer,
                 java.net.InetAddress,
19
                 org.jivesoftware.util.JiveGlobals,
20 21
                 org.jivesoftware.messenger.net.SSLSocketAcceptThread,
                 org.jivesoftware.messenger.net.SocketAcceptThread"
Matt Tucker's avatar
Matt Tucker committed
22
%>
23

24 25
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
26 27 28

<jsp:useBean id="pageinfo" scope="request" class="org.jivesoftware.admin.AdminPageBean" />

Bill Lynch's avatar
Bill Lynch committed
29
<%-- Define Administration Bean --%>
Matt Tucker's avatar
Matt Tucker committed
30 31 32
<jsp:useBean id="admin" class="org.jivesoftware.util.WebManager"  />
<% admin.init(request, response, session, application, out ); %>

33 34 35
<%
    // Get parameters
    String serverName = ParamUtils.getParameter(request,"serverName");
Bill Lynch's avatar
Bill Lynch committed
36 37 38
    int port = ParamUtils.getIntParameter(request,"port",-1);
    int sslPort = ParamUtils.getIntParameter(request,"sslPort",-1);
    int embeddedPort = ParamUtils.getIntParameter(request,"embeddedPort",-1);
39
    int embeddedSecurePort = ParamUtils.getIntParameter(request,"embeddedSecurePort",-1);
Bill Lynch's avatar
Bill Lynch committed
40
    boolean sslEnabled = ParamUtils.getBooleanParameter(request,"sslEnabled");
41 42
    int componentPort = ParamUtils.getIntParameter(request,"componentPort",-1);
    int serverPort = ParamUtils.getIntParameter(request,"serverPort",-1);
43
    boolean save = request.getParameter("save") != null;
Bill Lynch's avatar
Bill Lynch committed
44
    boolean defaults = request.getParameter("defaults") != null;
45 46 47 48 49 50 51
    boolean cancel = request.getParameter("cancel") != null;

    if (cancel) {
        response.sendRedirect("index.jsp");
        return;
    }

Bill Lynch's avatar
Bill Lynch committed
52 53
    if (defaults) {
        serverName = InetAddress.getLocalHost().getHostName();
54 55 56 57
        port = SocketAcceptThread.DEFAULT_PORT;
        sslPort = SSLSocketAcceptThread.DEFAULT_PORT;
        componentPort = SocketAcceptThread.DEFAULT_COMPONENT_PORT;
        serverPort = SocketAcceptThread.DEFAULT_SERVER_PORT;
Bill Lynch's avatar
Bill Lynch committed
58
        embeddedPort = 9090;
59
        embeddedSecurePort = 9091;
Bill Lynch's avatar
Bill Lynch committed
60 61 62 63
        sslEnabled = true;
        save = true;
    }

64 65 66 67 68 69
    XMPPServer server = admin.getXMPPServer();
    Map errors = new HashMap();
    if (save) {
        if (serverName == null) {
            errors.put("serverName","");
        }
Bill Lynch's avatar
Bill Lynch committed
70 71 72
        if (port < 1) {
            errors.put("port","");
        }
73
        if (sslPort < 1 && sslEnabled) {
Bill Lynch's avatar
Bill Lynch committed
74 75
            errors.put("sslPort","");
        }
76 77 78 79 80 81
        if (componentPort < 1) {
            errors.put("componentPort","");
        }
        if (serverPort < 1) {
            errors.put("serverPort","");
        }
Bill Lynch's avatar
Bill Lynch committed
82 83 84
        if (embeddedPort < 1) {
            errors.put("embeddedPort","");
        }
85 86 87
        if (embeddedSecurePort < 1) {
            errors.put("embeddedSecurePort","");
        }
Bill Lynch's avatar
Bill Lynch committed
88 89 90 91 92
        if (port > 0 && sslPort > 0) {
            if (port == sslPort) {
                errors.put("portsEqual","");
            }
        }
93 94 95 96 97
        if (embeddedPort > 0 && embeddedSecurePort > 0) {
            if (embeddedPort == embeddedSecurePort) {
                errors.put("embeddedPortsEqual","");
            }
        }
98 99
        if (errors.size() == 0) {
            server.getServerInfo().setName(serverName);
Bill Lynch's avatar
Bill Lynch committed
100 101 102
            JiveGlobals.setProperty("xmpp.socket.plain.port", String.valueOf(port));
            JiveGlobals.setProperty("xmpp.socket.ssl.active", String.valueOf(sslEnabled));
            JiveGlobals.setProperty("xmpp.socket.ssl.port", String.valueOf(sslPort));
103 104
            JiveGlobals.setProperty("xmpp.component.socket.port", String.valueOf(componentPort));
            JiveGlobals.setProperty("xmpp.server.socket.port", String.valueOf(serverPort));
105 106
            JiveGlobals.setXMLProperty("adminConsole.port", String.valueOf(embeddedPort));
            JiveGlobals.setXMLProperty("adminConsole.securePort", String.valueOf(embeddedSecurePort));
Bill Lynch's avatar
Bill Lynch committed
107
            response.sendRedirect("server-props.jsp?success=true");
108 109 110
            return;
        }
    }
111
    else {
112
        serverName = server.getServerInfo().getName();
Bill Lynch's avatar
Bill Lynch committed
113
        sslEnabled = "true".equals(JiveGlobals.getProperty("xmpp.socket.ssl.active"));
114 115
        try { port = Integer.parseInt(JiveGlobals.getProperty("xmpp.socket.plain.port", String.valueOf(SocketAcceptThread.DEFAULT_PORT))); } catch (Exception ignored) {}
        try { sslPort = Integer.parseInt(JiveGlobals.getProperty("xmpp.socket.ssl.port", String.valueOf(SSLSocketAcceptThread.DEFAULT_PORT))); } catch (Exception ignored) {}
116 117
        try { componentPort = Integer.parseInt(JiveGlobals.getProperty("xmpp.component.socket.port", String.valueOf(SocketAcceptThread.DEFAULT_COMPONENT_PORT))); } catch (Exception ignored) {}
        try { serverPort = Integer.parseInt(JiveGlobals.getProperty("xmpp.server.socket.port", String.valueOf(SocketAcceptThread.DEFAULT_SERVER_PORT))); } catch (Exception ignored) {}
118 119
        try { embeddedPort = Integer.parseInt(JiveGlobals.getXMLProperty("adminConsole.port")); } catch (Exception ignored) {}
        try { embeddedSecurePort = Integer.parseInt(JiveGlobals.getXMLProperty("adminConsole.securePort")); } catch (Exception ignored) {}
120 121 122
    }
%>

123
<%  // Title of this page and breadcrumbs
124
    String title = LocaleUtils.getLocalizedString("server.props.title");
125
    pageinfo.setTitle(title);
126 127 128
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(LocaleUtils.getLocalizedString("global.main"), "index.jsp"));
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(LocaleUtils.getLocalizedString("index.properties"), "index.jsp"));
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(title, "server-props.jsp"));
Bill Lynch's avatar
Bill Lynch committed
129
    pageinfo.setPageID("server-settings");
130
%>
Bill Lynch's avatar
Bill Lynch committed
131
<jsp:include page="top.jsp" flush="true" />
132
<jsp:include page="title.jsp" flush="true" />
Matt Tucker's avatar
Matt Tucker committed
133

Bill Lynch's avatar
Bill Lynch committed
134 135 136 137 138 139
<style type="text/css">
.c1 {
    width : 30%;
}
</style>

Matt Tucker's avatar
Matt Tucker committed
140
<p>
141
<fmt:message key="server.props.info" />
Matt Tucker's avatar
Matt Tucker committed
142 143
</p>

Bill Lynch's avatar
Bill Lynch committed
144 145 146 147 148 149 150
<%  if ("true".equals(request.getParameter("success"))) { %>

    <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">
151
        <fmt:message key="server.props.update" /> <b><fmt:message key="global.restart" /></b> <fmt:message key="server.props.update2" /> <a href="index.jsp"><fmt:message key="global.server_status" /></a>).
Bill Lynch's avatar
Bill Lynch committed
152 153 154 155 156 157 158 159
        </td></tr>
    </tbody>
    </table>
    </div><br>

<%  } %>

<form action="server-props.jsp" name="editform" method="post">
Matt Tucker's avatar
Matt Tucker committed
160

161 162 163 164 165
<div class="jive-table">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<thead>
    <tr>
        <th colspan="2">
166
            <fmt:message key="server.props.property" />
167 168 169 170 171 172
        </th>
    </tr>
</thead>
<tbody>
    <tr>
        <td class="c1">
173
            <fmt:message key="server.props.name" />
Matt Tucker's avatar
Matt Tucker committed
174
        </td>
175 176 177
        <td class="c2">
            <input type="text" name="serverName" value="<%= (serverName != null) ? serverName : "" %>"
             size="30" maxlength="40">
Bill Lynch's avatar
Bill Lynch committed
178 179 180
            <%  if (errors.containsKey("serverName")) { %>
                <br>
                <span class="jive-error-text">
181
                <fmt:message key="server.props.valid_hostname" />
Bill Lynch's avatar
Bill Lynch committed
182
                <a href="#" onclick="document.editform.serverName.value='<%= InetAddress.getLocalHost().getHostName() %>';"
183
                 ><fmt:message key="server.props.valid_hostname1" /></a>.
Bill Lynch's avatar
Bill Lynch committed
184 185 186 187
                </span>
            <%  } %>
        </td>
    </tr>
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
    <tr>
        <td class="c1">
             <fmt:message key="server.props.server_port" />
        </td>
        <td class="c2">
            <input type="text" name="serverPort" value="<%= (serverPort > 0 ? String.valueOf(serverPort) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("serverPort")) { %>
                <br>
                <span class="jive-error-text">
                <fmt:message key="server.props.valid_port" />
                <a href="#" onclick="document.editform.serverPort.value='<%=SocketAcceptThread.DEFAULT_SERVER_PORT%>';"
                 ><fmt:message key="server.props.valid_port1" /></a>.
                </span>
            <%  } %>
        </td>
    </tr>
    <tr>
        <td class="c1">
             <fmt:message key="server.props.component_port" />
        </td>
        <td class="c2">
            <input type="text" name="componentPort" value="<%= (componentPort > 0 ? String.valueOf(componentPort) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("componentPort")) { %>
                <br>
                <span class="jive-error-text">
                <fmt:message key="server.props.valid_port" />
                <a href="#" onclick="document.editform.componentPort.value='<%=SocketAcceptThread.DEFAULT_COMPONENT_PORT%>';"
                 ><fmt:message key="server.props.valid_port1" /></a>.
                </span>
            <%  } %>
        </td>
    </tr>
Bill Lynch's avatar
Bill Lynch committed
222 223
    <tr>
        <td class="c1">
224
             <fmt:message key="server.props.port" />
Bill Lynch's avatar
Bill Lynch committed
225 226 227 228 229 230 231
        </td>
        <td class="c2">
            <input type="text" name="port" value="<%= (port > 0 ? String.valueOf(port) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("port")) { %>
                <br>
                <span class="jive-error-text">
232
                <fmt:message key="server.props.valid_port" />
233
                <a href="#" onclick="document.editform.port.value='<%=SocketAcceptThread.DEFAULT_PORT%>';"
234
                 ><fmt:message key="server.props.valid_port1" /></a>.
Bill Lynch's avatar
Bill Lynch committed
235 236 237 238
                </span>
            <%  } else if (errors.containsKey("portsEqual")) { %>
                <br>
                <span class="jive-error-text">
239
                <fmt:message key="server.props.error_port" />
Bill Lynch's avatar
Bill Lynch committed
240 241
                </span>
            <%  } %>
Matt Tucker's avatar
Matt Tucker committed
242 243
        </td>
    </tr>
Bill Lynch's avatar
Bill Lynch committed
244 245
    <tr>
        <td class="c1">
246
              <fmt:message key="server.props.ssl" />
Bill Lynch's avatar
Bill Lynch committed
247 248 249 250 251 252
        </td>
        <td class="c2">
            <table cellpadding="0" cellspacing="0" border="0">
            <tbody>
                <tr>
                    <td>
253
                        <input type="radio" name="sslEnabled" value="true" <%= (sslEnabled ? "checked" : "") %>
Bill Lynch's avatar
Bill Lynch committed
254 255
                         id="SSL01">
                    </td>
256
                    <td><label for="SSL01"><fmt:message key="server.props.enable" /></label></td>
Bill Lynch's avatar
Bill Lynch committed
257 258 259
                </tr>
                <tr>
                    <td>
260
                        <input type="radio" name="sslEnabled" value="false" <%= (!sslEnabled ? "checked" : "") %>
Bill Lynch's avatar
Bill Lynch committed
261 262
                         id="SSL02">
                    </td>
263
                    <td><label for="SSL02"><fmt:message key="server.props.disable" /></label></td>
Bill Lynch's avatar
Bill Lynch committed
264 265 266 267 268 269 270
                </tr>
            </tbody>
            </table>
        </td>
    </tr>
    <tr>
        <td class="c1">
271
             <fmt:message key="server.props.ssl_port" />
Bill Lynch's avatar
Bill Lynch committed
272 273 274 275 276 277 278
        </td>
        <td class="c2">
            <input type="text" name="sslPort" value="<%= (sslPort > 0 ? String.valueOf(sslPort) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("sslPort")) { %>
                <br>
                <span class="jive-error-text">
279
                <fmt:message key="server.props.ssl_valid" />
280
                <a href="#" onclick="document.editform.sslPort.value='<%=SSLSocketAcceptThread.DEFAULT_PORT%>';"
281
                 ><fmt:message key="server.props.ssl_valid1" /></a>.
Bill Lynch's avatar
Bill Lynch committed
282 283 284 285 286 287
                </span>
            <%  } %>
        </td>
    </tr>
    <tr>
        <td class="c1">
288
            <fmt:message key="server.props.admin_port" />
Bill Lynch's avatar
Bill Lynch committed
289 290 291 292 293 294 295
        </td>
        <td class="c2">
            <input type="text" name="embeddedPort" value="<%= (embeddedPort > 0 ? String.valueOf(embeddedPort) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("embeddedPort")) { %>
                <br>
                <span class="jive-error-text">
296
                <fmt:message key="server.props.valid_port" />
Bill Lynch's avatar
Bill Lynch committed
297
                <a href="#" onclick="document.editform.embeddedPort.value='9090';"
298
                 ><fmt:message key="server.props.valid_port1" /></a>.
Bill Lynch's avatar
Bill Lynch committed
299
                </span>
300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321
            <%  } else if (errors.containsKey("embeddedPortsEqual")) { %>
                <br>
                <span class="jive-error-text">
                <fmt:message key="server.props.error_port" />
                </span>
            <%  } %>
        </td>
    </tr>
    <tr>
        <td class="c1">
            <fmt:message key="server.props.admin_secure_port" />
        </td>
        <td class="c2">
            <input type="text" name="embeddedSecurePort" value="<%= (embeddedSecurePort > 0 ? String.valueOf(embeddedSecurePort) : "") %>"
             size="5" maxlength="5">
            <%  if (errors.containsKey("embeddedSecurePort")) { %>
                <br>
                <span class="jive-error-text">
                <fmt:message key="server.props.valid_port" />
                <a href="#" onclick="document.editform.embeddedSecurePort.value='9091';"
                 ><fmt:message key="server.props.valid_port1" /></a>.
                </span>
Bill Lynch's avatar
Bill Lynch committed
322
            <%  } %>
Matt Tucker's avatar
Matt Tucker committed
323 324
        </td>
    </tr>
325 326 327 328
</tbody>
<tfoot>
    <tr>
        <td colspan="2">
329 330 331
            <input type="submit" name="save" value="<fmt:message key="global.save_properties" />">
            <input type="submit" name="defaults" value="<fmt:message key="global.restore_defaults" />">
            <input type="submit" name="cancel" value="<fmt:message key="global.cancel" />">
Matt Tucker's avatar
Matt Tucker committed
332 333
        </td>
    </tr>
334 335 336 337 338
</tfoot>
</table>
</div>

</form>
Matt Tucker's avatar
Matt Tucker committed
339

Bill Lynch's avatar
Bill Lynch committed
340
<jsp:include page="bottom.jsp" flush="true" />