Commit 4736d54b authored by Bill Lynch's avatar Bill Lynch Committed by bill

Improved login screen


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@238 b35dd754-fafc-0310-a699-88a17e54d16e
parent c72d0271
<%@ taglib uri="core" prefix="c"%>
<%@ taglib uri="fmt" prefix="fmt" %>
<%-- <%--
- $RCSfile$ - $RCSfile$
- $Revision$ - $Revision$
...@@ -15,16 +12,20 @@ ...@@ -15,16 +12,20 @@
org.jivesoftware.messenger.container.Container, org.jivesoftware.messenger.container.Container,
org.jivesoftware.messenger.container.ServiceLookupFactory, org.jivesoftware.messenger.container.ServiceLookupFactory,
org.jivesoftware.messenger.container.ServiceLookup, org.jivesoftware.messenger.container.ServiceLookup,
org.jivesoftware.messenger.JiveGlobals" org.jivesoftware.messenger.JiveGlobals,
org.jivesoftware.util.Version,
org.jivesoftware.util.Log"
errorPage="error.jsp" errorPage="error.jsp"
%> %>
<%@ taglib uri="core" prefix="c" %>
<%@ taglib uri="fmt" prefix="fmt" %>
<!-- Define Administration Bean --> <!-- Define Administration Bean -->
<jsp:useBean id="admin" class="org.jivesoftware.util.WebManager" /> <jsp:useBean id="admin" class="org.jivesoftware.util.WebManager" />
<% admin.init(request, response, session, application, out ); %> <% admin.init(request, response, session, application, out ); %>
<c:set var="admin" value="${admin}" /> <c:set var="admin" value="${admin}" />
<%! // List of allowed usernames: <%! // List of allowed usernames:
static Map allowedUsernames = null; static Map allowedUsernames = null;
static String allowedUsernameProp = JiveGlobals.getProperty("admin.login.allowedUsernames"); static String allowedUsernameProp = JiveGlobals.getProperty("admin.login.allowedUsernames");
...@@ -40,18 +41,25 @@ ...@@ -40,18 +41,25 @@
} }
} }
} }
static final String go(String url) {
if (url == null) {
return "index.jsp";
}
else {
return url;
}
}
%> %>
<!-- Check if in setup mode --> <!-- Check if in setup mode -->
<c:if test="${admin.setupMode}"> <c:if test="${admin.setupMode}">
<c:redirect url="setup-index.jsp" /> <c:redirect url="setup-index.jsp" />
</c:if> </c:if>
<% // get parameters <% // get parameters
String username = ParamUtils.getParameter(request,"username"); String username = ParamUtils.getParameter(request,"username");
String password = ParamUtils.getParameter(request,"password"); String password = ParamUtils.getParameter(request,"password");
String url = ParamUtils.getParameter(request,"url");
// The user auth token: // The user auth token:
AuthToken authToken = null; AuthToken authToken = null;
...@@ -74,7 +82,7 @@ ...@@ -74,7 +82,7 @@
} }
authToken = AuthFactory.getAuthToken(username, password); authToken = AuthFactory.getAuthToken(username, password);
session.setAttribute("jive.admin.authToken", authToken); session.setAttribute("jive.admin.authToken", authToken);
response.sendRedirect("index.jsp"); response.sendRedirect(go(url));
return; return;
} }
catch (UnauthorizedException ue) { catch (UnauthorizedException ue) {
...@@ -84,25 +92,36 @@ ...@@ -84,25 +92,36 @@
%> %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title><fmt:message key="title" /> Admin - Login</title> <title>Jive Messenger Admin Console</title>
<script language="JavaScript" type="text/javascript"> <script language="JavaScript" type="text/javascript">
<!-- <!--
// break out of frames // break out of frames
if (self.parent.frames.length != 0) { if (self.parent.frames.length != 0) {
self.parent.location=document.location; self.parent.location=document.location;
} }
function updateFields(el) {
if (el.checked) {
document.loginForm.username.disabled = true;
document.loginForm.password.disabled = true;
}
else {
document.loginForm.username.disabled = false;
document.loginForm.password.disabled = false;
document.loginForm.username.focus();
}
}
//--> //-->
</script> </script>
<link rel="stylesheet" href="style/global.css" type="text/css"> <link rel="stylesheet" href="style/global.css" type="text/css">
<style type="text/css"> <style type="text/css">
.jive-login-form TH { .jive-login-form {
background-color : #eee; position : relative;
text-align : left; top : 148px;
border-top : 1px #bbb solid; text-align : center;
border-bottom : 1px #bbb solid; width : 100%;
} }
.jive-login-form .jive-login-label { .jive-login-form .jive-login-label {
font-size : 0.8em; font-size : 0.8em;
...@@ -111,90 +130,142 @@ ...@@ -111,90 +130,142 @@
font-size : 0.8em; font-size : 0.8em;
font-weight : bold; font-weight : bold;
} }
#jive-login-text-image {
padding : 0px;
margin : 0px;
padding-top : 18px;
padding-bottom : 10px;
}
#jive-logo-image {
padding : 0px;
margin : 0px;
padding-right : 10px;
}
BODY {
background-image : url(images/login-back.gif);
background-repeat : repeat-x;
background-color : #fff;
padding : 0px;
margin : 0px;
}
</style> </style>
</head> </head>
<body> <body>
<form action="login.jsp" name="loginForm" method="post"> <form action="login.jsp" name="loginForm" method="post">
<% if (url != null) { try { %>
<input type="hidden" name="url" value="<%= url %>">
<% } catch (Exception e) { Log.error(e); } } %>
<input type="hidden" name="login" value="true"> <input type="hidden" name="login" value="true">
<br><br><br><br> <div class="jive-login-form">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr> <tr>
<td width="49%"><br></td> <td width="48%">&nbsp;</td>
<td width="2%"> <td width="1%" nowrap>
<noscript>
<table border="0" cellspacing="0" cellpadding="0"> <table cellpadding="3" cellspacing="0" border="0">
<td> <tr valign="top">
<span class="jive-error-text"> <td rowspan="99"
<b>Error:</b> You don't have JavaScript enabled. This tool uses JavaScript ><div id="jive-logo-image"
and much of it will not work correctly without it enabled. Please turn ><img src="images/logo-messenger.gif" width="100" height="100" border="0" alt="Jive Messenger"
JavaScript back on and reload this page. ></div></td>
</span> <td colspan="3"
</td> ><div id="jive-login-text-image"
</table> ><img src="images/login-text.gif" width="237" height="28" border="0" alt="Admin Console Login"
<br><br><br><br> ></div></td>
</noscript> </tr>
<% if (errors) { %> <noscript>
<p class="jive-error-text">
Login failed: Make sure your username and password are correct.
</p>
<% } %>
<span class="jive-login-form">
<table cellpadding="6" cellspacing="0" border="0" style="border : 1px #bbb solid;">
<tr>
<th>
<fmt:message key="title" bundle="${lang}" /> Admin Login
</th>
</tr>
<tr>
<td>
<table cellpadding="3" cellspacing="0" border="0">
<tr> <tr>
<td class="jive-login-label"> <td colspan="3">
Username: <table cellpadding="0" cellspacing="0" border="0">
</td> <tr valign="top">
<td> <td><img src="images/error-16x16.gif" width="16" height="16" border="0" alt="" vspace="2"></td>
<input type="text" name="username" size="15" maxlength="50"> <td>
<div class="jive-error-text" style="padding-left:5px;">
Error: You don't have JavaScript enabled. This tool uses JavaScript
and much of it will not work correctly without it enabled. Please turn
JavaScript back on and reload this page.
</div>
</td>
</tr>
</table>
</td> </td>
</tr> </tr>
</noscript>
<% if (errors) { %>
<tr> <tr>
<td class="jive-login-label">
Password:
</td>
<td>
<input type="password" name="password" size="15" maxlength="50">
</td>
<td>
<input type="submit" value=" Login ">
</td>
</tr>
<tr class="jive-login-label">
<td colspan="3"><img src="images/blank.gif" width="1" height="4" border="0"></td>
</tr>
<tr class="jive-footer">
<td colspan="3"> <td colspan="3">
<fmt:message key="title" bundle="${lang}" /> Admin <table cellpadding="0" cellspacing="0" border="0">
<tr valign="top">
<td><img src="images/error-16x16.gif" width="16" height="16" border="0" alt="" vspace="2"></td>
<td>
<div class="jive-error-text" style="padding-left:5px;">
Login failed: make sure your username and password are correct
and that you're an admin or moderator.
</div>
</td>
</tr>
</table>
</td> </td>
</tr> </tr>
</table>
</td> <% } %>
</tr>
</table>
</span> <tr>
<td>
<input type="text" name="username" size="15" maxlength="50" id="u01">
</td>
<td>
<input type="password" name="password" size="15" maxlength="50" id="p01">
</td>
<td align="center">
<input type="submit" value="&nbsp; Login &nbsp;">
</td>
</tr>
<tr valign="top">
<td class="jive-login-label">
<label for="u01">
username
</label>
</td>
<td class="jive-login-label">
<label for="p01">
password
</label>
</td>
<td>
&nbsp;
</td>
</tr>
<tr class="jive-login-label">
<td colspan="3"><img src="images/blank.gif" width="1" height="4" border="0"></td>
</tr>
<tr class="jive-footer">
<td colspan="3" nowrap>
<span style="font-size:0.8em;">
Jive Messenger, Version:
<%= admin.getXMPPServer().getServerInfo().getVersion().getVersionString() %>
</span>
</td>
</tr>
</table>
</td>
<td width="48%">&nbsp;</td>
</tr>
</table>
</td> </div>
<td width="49%"><br></td>
</tr>
</table>
</form> </form>
......
...@@ -3,7 +3,6 @@ BODY { ...@@ -3,7 +3,6 @@ BODY {
} }
BODY, TD, TH { BODY, TD, TH {
font-family : arial, helvetica, sans-serif; font-family : arial, helvetica, sans-serif;
font-size : 0.8em;
font-size : 10pt; font-size : 10pt;
} }
A { A {
...@@ -17,7 +16,6 @@ A:hover { ...@@ -17,7 +16,6 @@ A:hover {
text-decoration : none; text-decoration : none;
} }
PRE, TT { PRE, TT {
font-size : 1.0em;
font-size : 10pt; font-size : 10pt;
font-family : courier new, monospaced; font-family : courier new, monospaced;
} }
...@@ -56,7 +54,7 @@ PRE, TT { ...@@ -56,7 +54,7 @@ PRE, TT {
.jive-tab, .jive-selected-tab { .jive-tab, .jive-selected-tab {
padding : 4px 10px 4px 10px; padding : 4px 10px 4px 10px;
font-family : tahoma; font-family : tahoma;
font-size : 0.7em; font-size : 8pt;
} }
.jive-selected-tab A { .jive-selected-tab A {
color : #000 !important; color : #000 !important;
...@@ -88,7 +86,7 @@ PRE, TT { ...@@ -88,7 +86,7 @@ PRE, TT {
.jive-tab-section TD { .jive-tab-section TD {
font-weight : normal; font-weight : normal;
font-family : verdana; font-family : verdana;
font-size : 0.7em; font-size : 8pt;
} }
.jive-tab-section A { .jive-tab-section A {
color : #333 !important; color : #333 !important;
...@@ -96,10 +94,10 @@ PRE, TT { ...@@ -96,10 +94,10 @@ PRE, TT {
font-weight : normal; font-weight : normal;
} }
.jive-tab-spring { .jive-tab-spring {
font-size : 0.7em; font-size : 8pt;
} }
.jive-tab-logout { .jive-tab-logout {
font-size : 0.7em; font-size : 8pt;
} }
/* sidebar */ /* sidebar */
...@@ -166,7 +164,7 @@ PRE, TT { ...@@ -166,7 +164,7 @@ PRE, TT {
.jive-description { .jive-description {
font-family : verdana; font-family : verdana;
font-size : 0.8em; font-size : 8pt;
} }
.jive-label { .jive-label {
...@@ -190,7 +188,7 @@ PRE, TT { ...@@ -190,7 +188,7 @@ PRE, TT {
/* breadcrumbs */ /* breadcrumbs */
.jive-breadcrumbs { .jive-breadcrumbs {
font-size : 0.7em; font-size : 8pt;
font-weight : bold; font-weight : bold;
font-family : tahoma; font-family : tahoma;
} }
...@@ -361,126 +359,10 @@ TABLE.boxLayoutGrey { ...@@ -361,126 +359,10 @@ TABLE.boxLayoutGrey {
margin-bottom:10px; margin-bottom:10px;
font-weight:bold; font-weight:bold;
} }
.highlight { .highlight {
color: #990000; color: #990000;
} }
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 0.8em;
}
A {
color : #00f;
}
A:visited {
color : #00f;
}
A:hover {
color : #f00;
text-decoration : none;
}
PRE, TT {
font-size : 1.0em;
font-family : courier new, monospaced;
}
/* errors */
.jive-error-text {
color : #f00;
}
/* success */
.jive-success-text {
color : #090;
}
/* warning */
.jive-warning-text {
color : #f00;
}
/* tabs */
.jive-selected-tab {
border-width : 1px 1px 0px 1px;
background-color : #fff;
}
.jive-tab {
border-width : 1px 1px 1px 1px;
}
.jive-tab-spacer, .jive-tab-spring {
border-width : 0px 0px 1px 0px;
}
.jive-tab-bar {
background-color : #fff;
border-width : 0px 1px 1px 1px;
}
.jive-selected-tab, .jive-tab, .jive-tab-spacer, .jive-tab-spring, .jive-tab-bar
{
border-color : #bbb;
border-style : solid;
}
/* tab colors, spacings, fonts */
.jive-tab, .jive-selected-tab {
padding : 4px 10px 4px 10px;
font-family : tahoma;
font-size : 0.7em;
}
.jive-selected-tab A {
color : #000 !important;
text-decoration : none;
font-weight : bold;
}
.jive-tab A {
color : #333 !important;
text-decoration : none;
font-weight : bold;
}
.jive-tab A:hover, .jive-selected-tab A:hover {
text-decoration : underline;
}
.jive-tab {
background-color : #E8E8DE;
}
.jive-tab-bar TD {
font-family : tahoma;
font-weight : bold;
}
.jive-tab-bar A {
color : #000;
text-decoration : none;
}
.jive-tab-bar A:hover {
text-decoration : underline;
}
.jive-tab-section TD {
font-weight : normal;
font-family : verdana;
font-size : 0.7em;
}
.jive-tab-section A {
color : #333 !important;
padding-right : 6px;
font-weight : normal;
}
.jive-tab-spring {
font-size : 0.7em;
}
.jive-tab-logout {
font-size : 0.7em;
}
/* sidebar */
.jive-admin-sidebar-header {
font-weight : bold;
}
/* page titles */ /* page titles */
.jive-admin-page-title TABLE { .jive-admin-page-title TABLE {
margin-top : 5px; margin-top : 5px;
...@@ -488,92 +370,7 @@ PRE, TT { ...@@ -488,92 +370,7 @@ PRE, TT {
} }
.jive-admin-page-title TD { .jive-admin-page-title TD {
font-family : tahoma, arial, helvetica, sans-serif; font-family : tahoma, arial, helvetica, sans-serif;
font-size : 0.9em; font-size : 9pt;
font-weight : bold;
}
/* tables */
.jive-table TABLE {
border : 1px #ccc solid;
}
.jive-table TH {
background-color : #ddd;
color : #000;
font-size : 0.7em;
font-weight : bold; font-weight : bold;
border-bottom : 1px #bbb solid;
padding-left : 6px;
padding-right : 6px;
}
.jive-description {
font-family : verdana;
font-size : 0.8em;
}
.jive-table .jive-odd {
}
.jive-table .jive-even TD {
background-color : #f8f8f8;
width : 1%;
white-space : nowrap;
} }
.jive-table .jive-current TD {
background-color : #ffc;
}
.jive-table .jive-label {
background-color : #f4f4f4;
padding-right : 3px;
border : 1px #ccc solid;
width : 1%;
white-space : nowrap;
}
/* breadcrumbs */
.jive-breadcrumbs {
font-size : 14px !important;
font-weight : plain !important;
font-family : tahoma !important;
}
.jive-breadcrumbs A {
color : #000 !important;
}
.jive-breadcrumbs A:hover {
text-decoration : underline !important;
}
/* sidebar */
.sidebar-group TH {
padding-left : 10px;
font-weight : bold;
text-align : left;
}
.sidebar-group .bullet {
padding-left : 10px;
text-align : right;
vertical-align : top;
width : 1%;
}
/* paginators */
.jive-current {
color : #000;
font-weight : bold;
background-color : #eee;
padding-left : 2px;
padding-right : 2px;
text-decoration : none;
border : 1px #ccc solid;
}
.jive-current:visited {
color : #000;
}
.jive-sm-button {
font-size : 11px;
font-family : tahoma;
}
#a:link {color: #000000; text-decoration: none; }
#a:active {color: #000000; text-decoration: none; }
#a:visited {color: #000000; text-decoration: none; }
#a:hover {color: red; text-decoration: underline; }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment