I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 30dec5b9 authored by z3d's avatar z3d
Browse files

merge of '3d1905aaefa398767d0df1945eaaf6d923767405'

     and 'd07b92fb678f4dc87b62eaaeab002820b25583b6'
parents 8e889cd2 43b437fc
No related branches found
No related tags found
No related merge requests found
Showing
with 751 additions and 0 deletions
Manifest-Version: 1.0
Class-Path:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
File added
<%@ attribute name="index" required="true" description="0-based index of the email identity" %>
test
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<short-name>i2pbote</short-name>
<uri>I2pBoteTags</uri>
<tag>
<name>sendEmail</name>
<tag-class>i2p.bote.web.SendEmailTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>recipient</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
</attribute>
<attribute>
<name>message</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
</attribute>
</tag>
<tag>
<name>checkForMail</name>
<tag-class>i2p.bote.web.CheckMailTag</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<name>numDhtPeers</name>
<tag-class>i2p.bote.web.PrintNumDhtPeersTag</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<name>numRelayPeers</name>
<tag-class>i2p.bote.web.PrintNumRelayPeersTag</tag-class>
<body-content>empty</body-content>
</tag>
<function>
<name>getIdentities</name>
<function-class>i2p.bote.web.JSPHelper</function-class>
<function-signature>
i2p.bote.Identities getIdentities()
</function-signature>
</function>
<function>
<name>saveIdentity</name>
<function-class>i2p.bote.web.JSPHelper</function-class>
<function-signature>
boolean saveIdentity(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
</function-signature>
</function>
<function>
<name>deleteIdentity</name>
<function-class>i2p.bote.web.JSPHelper</function-class>
<function-signature>
boolean deleteIdentity(java.lang.String)
</function-signature>
</function>
<function>
<name>isCheckingForMail</name>
<function-class>i2p.bote.web.JSPHelper</function-class>
<function-signature>
boolean isCheckingForMail()
</function-signature>
</function>
<function>
<name>getMailFolder</name>
<function-class>i2p.bote.web.JSPHelper</function-class>
<function-signature>
i2p.bote.EmailFolder getMailFolder(java.lang.String)
</function-signature>
</function>
</taglib>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>i2pbote</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>i2p.bote.web.ServiceInitializer</listener-class>
</listener>
</web-app>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<c:if test="${ib:isCheckingForMail()}">
<c:set var="checkingForMail" value="true"/>
</c:if>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="i2pbote.css" />
<c:if test="${checkingForMail}">
<meta http-equiv="refresh" content="20" />
</c:if>
</head>
<body style="background-color: transparent; margin: 0px;">
<table><tr>
<td>
<c:if test="${checkingForMail}">
<div class="checkmail">
<img src="images/wait.gif"/>Checking for mail...
</div>
</c:if>
<c:if test="${!checkingForMail}">
<div class="checkmail">
<form action="checkMail.jsp" target="_top" method="GET">
<input type="hidden" name="path" value="Inbox"/>
<button type="submit" value="Check Mail">Check Mail</button>
</form>
</div>
</c:if>
</td>
<td>
<form action="newEmail.jsp" target="_top" method="GET">
<button type="submit" value="New">New</button>
</form>
</td>
</tr></table>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<c:choose>
<c:when test="${empty ib:getIdentities().all}">
<jsp:forward page="noIdentities.jsp"/>
</c:when>
<c:otherwise>
<ib:checkForMail/>
<c:if test="${empty param.nextPage}">
<c:set var="param.nextPage" value="index.jsp"/>
</c:if>
<jsp:forward page="${param.nextPage}"/>
</c:otherwise>
</c:choose>
<p>
TODO checkMailTag, show status at the bottom (or top?),
point the Inbox link here or just check periodically and when the Check Email button is clicked?
</p>
<jsp:include page="footer.jsp"/>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<c:set var="errorMessage" value="${ib:deleteIdentity(param.key)}"/>
<c:if test="${empty errorMessage}">
<jsp:forward page="identities.jsp">
<jsp:param name="message" value="The email identity has been deleted."/>
</jsp:forward>
</c:if>
<c:if test="${!empty errorMessage}">
<jsp:include page="header.jsp"/>
<div class="main">
Error: ${errorMessage}
</div>
<jsp:include page="footer.jsp"/>
</c:if>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<c:choose>
<c:when test="${param.new}">
<c:set var="title" value="New Email Identity"/>
<c:set var="commitAction" value="Create"/>
</c:when>
<c:otherwise>
<c:set var="title" value="Edit Email Identity"/>
<c:set var="commitAction" value="Save"/>
</c:otherwise>
</c:choose>
<jsp:include page="header.jsp">
<jsp:param name="title" value="${title}"/>
</jsp:include>
<div class="errorMessage">
${param.errorMessage}
</div>
<div class="main">
<form name="form" action="saveIdentity.jsp">
<table>
<tr>
<td>
<div style="font-weight: bold;">Public Name:</div>
<div style="font-size: 0.8em;">(required field, shown to recipients)</div>
</td>
<td>
<input type="text" size="25" name="publicName" value="${param.publicName}"/>
</td>
</tr>
<tr>
<td>
<div style="font-weight: bold;">Description:</div>
<div style="font-size: 0.8em;">(optional, kept private)</div>
</td>
<td>
<input type="text" size="25" name="description" value="${param.description}"/>
</td>
</tr>
<tr>
<td>
<div style="font-weight: bold;">Email Address:</div>
<div style="font-size: 0.8em;">(optional)</div>
</td>
<td>
<input type="text" size="50" name="emailAddress" value="${param.emailAddress}"/>
</td>
</tr>
<c:if test="${!empty param.key}">
<tr>
<td style="font-weight: bold; vertical-align: top;">
Email Destination:
</td>
<td style="font-family: monospace; padding-left: 5px">
<c:set var="key" value="${param.key}"/>
<c:forEach var="i" begin="0" end="${fn:length(key)}" step="64">
${fn:substring(key, i, i+64)}<br/>
</c:forEach>
<input type="hidden" name="key" value="${param.key}"/>
</td>
</tr>
</c:if>
</table>
<input type="submit" name="action" value="${commitAction}"/>
<input type="submit" name="action" value="Cancel"/>
</form>
<script type="text/javascript" language="JavaScript">
document.forms['form'].elements['name'].focus();
</script>
</div>
<jsp:include page="footer.jsp"/>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<jsp:include page="header.jsp">
<jsp:param name="title" value="${param.path}"/>
</jsp:include>
This is the <b>${param.path}</b> folder.
<table>
<tr>
<th>Sender</th><th>Subject</th><th>Sent Date</th>
</tr>
<c:set var="folderName" value="Inbox"/>
<c:forEach items="${ib:getMailFolder(folderName).elements}" var="email">
<tr>
<td>${email.sender}</td><td>${email.subject}</td><td>${email.sentDate}</td>
</tr>
</c:forEach>
</table>
<jsp:include page="footer.jsp"/>
\ No newline at end of file
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="i2pbote.css" />
<link rel="icon" type="image/png" href="images/favicon16.png" />
<title>${param.title} - I2P-Bote</title>
</head>
<body>
<div class="titlebar" style="cursor:pointer" onclick="document.location='.'">
<div class="title">I2P-Bote</div>
<br/>
<div class="subtitle">Secure Distributed Email</div>
</div>
<div class="menubox">
<iframe src="buttonFrame.jsp" width="100%" height="40px" scrolling="no" frameborder="0" allowtransparency="true"></iframe>
</div>
<div class="menubox">
<h2>Folders</h2>
<a href=folder.jsp?path=Inbox><img src="images/folder.png"/>Inbox</a><br/>
<a href=folder.jsp?path=Outbox><img src="images/folder.png"/>Outbox</a><br/>
<a href=folder.jsp?path=Sent><img src="images/folder.png"/>Sent</a><br/>
<a href=folder.jsp?path=Drafts><img src="images/folder.png"/>Drafts</a><br/>
<a href=folder.jsp?path=Trash><img src="images/folder.png"/>Trash</a><br/>
<hr/>
<a href=folder.jsp?path=User_created_Folder_1><img src="images/folder.png"/>User_created_Folder_1</a><br/>
<a href=folder.jsp?path=User_created_Folder_2><img src="images/folder.png"/>User_created_Folder_2</a><br/>
<a href=folder.jsp?path=User_created_Folder_3><img src="images/folder.png"/>User_created_Folder_3</a><br/>
<hr/>
<a href=.>Manage Folders</a>
</div>
<div class="menubox">
<h2>Addresses</h2>
<a href=identities.jsp>Identities</a><br/>
<a href=.>Private Address Book</a><br/>
<a href=.>Public Address Directory</a><br/>
</div>
<div class="menubox">
<h2>Configuration</h2>
<a href=.>Settings</a><br/>
</div>
/* Based on the router console css */
body {
margin: 15px 0 0 10px;
padding: 0em;
text-align: center;
background: #eef;
color: #000;
font: 9pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
}
.titlebar {
width: 800px;
margin: 0px 20px 20px 240px;
background-color: #fff;
color: #310;
padding: 0 15px 15px 25px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
border: 1px solid #001;
text-align: center;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
white-space: normal;
background: #ddf url('images/lightbluetile.png');
opacity: 1.0;
}
.title {
font: normal bold 20pt/120% 'Lucida Sans Unicode', 'Bitstream Vera Sans', Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold;
letter-spacing: 0.15em;
text-shadow: 0px 0px 1px rgba(0, 0, 148, 0.9);
}
.subtitle {
font-size: 8pt;
color: #cf0606;
letter-spacing: 5pt;
text-shadow: 0px 0px 1px rgba(148, 0, 0, 0.9);
}
.checkmail {
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
color: #555;
}
.menubox {
float: left;
width: 175px;
margin: 0px 0px 10px 10px;
padding: 10px;
text-align: left;
border: 1px solid #000033;
background: #ddf url('images/lightbluetile.png');
color: #000;
font-size: 8pt;
clear: left;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
}
.menubox a:link, .menubox a:visited {
text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.5);
}
.menubox a:hover {
text-shadow: 0px 0px 0.5px rgba(255, 255, 255, 0.7);
color: #f60;
}
.menubox h2 {
font-size: 12pt;
color: #001;
letter-spacing: 0.05em;
text-shadow: 0px 0px 1px rgba(0, 0, 64, 0.5);
wordwrap: none;
}
.main {
width: 800px;
margin: 0px 20px 20px 240px;
padding: 0 15px 15px 25px;
background: #eef;
font: 9pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
text-align: left;
color: #001;
border: 1px solid #000033;
background: #ddf url('images/lightbluetile.png');
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
}
.infoMessage {
margin: 0px 20px 5px 240px;
text-align: left;
color: green;
}
.errorMessage {
margin: 0px 20px 5px 240px;
text-align: left;
color: red;
}
img {
border: none;
}
a:active {
color: #900;
}
a:link {
color: #007;
text-decoration: none;
font-weight: bold;
word-wrap: break-word;
}
a:visited {
color: #606;
text-decoration: none;
font-weight: bold;
}
a:hover {
color: #f60;
text-decoration: underline;
font-weight: bold;
}
a:active {
color: #f93;
text-decoration: underline;
font-weight: bold;
}
button, button:visited {
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
border: 1px outset #999;
padding: 1px 3px;
background: #ddf !important;
text-decoration: none;
border-radius: 4px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
margin: 0 1px;
text-align: center;
min-width: 80px;
-moz-box-shadow: inset 0px 2px 8px 0px #fff;
color: #006;
}
button:hover {
border: 1px solid #f60;
background: #f60 !important;
color: #fff;
-moz-box-shadow: inset 0px 0px 0px 1px #fff;
}
button:active {
border: 1px solid #f60;
background: #001 !important;
color: #f60;
-moz-box-shadow: inset 0px 0px 0px 1px #f60;
}
.underline {
border-bottom: 1px solid #000022;
padding: 5px 0px 5px 0px;
margin: 0px 0px 10px 0px;
}
input {
background: #eef;
color: #001;
margin: 5px 10px 5px 10px;
padding: 4px 2px;
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
border: 1px solid #001;
text-decoration: none;
min-width: 110px;
}
input, input:visited {
border: 1px outset #999;
background: #ddf;
color: #001;
margin: 5px;
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
padding: 1px 2px;
text-decoration: none;
min-width: 110px;
border-radius: 4px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
-moz-box-shadow: inset 0px 2px 8px 0px #fff;
color: #006;
opacity: 0.9;
}
input:hover {
background: #f60;
color: #fff;
border: 1px solid #f60;
opacity: 1.0;
-moz-box-shadow: inset 0px 0px 0px 1px #fff;
}
input:active {
background: #002;
color: #f60;
border: 1px solid #f60;
opacity: 1.0;
-moz-box-shadow: inset 0px 0px 0px 1px #f60;
}
input[type=text] {
width: 100%;
background: #eef;
color: #001;
margin: 5px;
padding: 5px;
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
border: 1px solid #001;
text-decoration: none;
}
input checkbox {
border: 0 !important;
}
textarea {
width: 100%;
padding: 5px;
margin: 5px;
background: #eef;
color: #003;
border-radius: 4px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
min-height: 100px;
border: 1px solid #001;
}
submit {
background: #f00;
color: #eef;
margin: 10px 2px 10px 0;
padding: 2px;
font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
font-weight: bold;
border: 1px solid #001;
text-decoration: none;
}
select {
background: #eef;
color: #003;
padding: 2px;
margin: 5px;
border: 1px solid #001;
font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
border-radius: 4px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
text-align: left !important;
}
.identities table {
table-layout: fixed;
width: 800px;
}
.identities td, .identities th {
vertical-align: top;
padding: 0px 30px 0px 0px;
white-space: nowrap;
overflow-x: hidden;
}
.ellipsis
{
line-height: 1.2em;
height: 1.2em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
-o-text-overflow: ellipsis;
-moz-binding: url(moz_fix2.xml#ellipsis);
}
.moz-ellipsis > DIV:first-child
{
float: left;
margin-right: -26px;
}
.moz-ellipsis > DIV + DIV
{
float: right;
margin-top: -1.2em;
background: url('images/lightbluefade.png');
padding-left: 26px;
}
.moz-ellipsis > DIV + DIV::after
{
background: url('images/lightbluetile.png');
content: '...';
}
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ib" uri="I2pBoteTags" %>
<jsp:include page="header.jsp">
<jsp:param name="title" value="Identities"/>
</jsp:include>
<div class="infoMessage">
${param.infoMessage}
</div>
<div class="main">
<h2>
Email Identities
</h2>
<c:if test="${empty ib:getIdentities().all}">
No email identities are defined.
</c:if>
<div class="identities">
<table>
<tr>
<th>Description</th>
<th>Public Name</th>
<th>Email Address</th>
<th>Key</th>
<th style="width: 20px; padding: 0px"></th>
</tr>
<c:forEach items="${ib:getIdentities().all}" var="identity">
<tr>
<td style="width: 100px;">
<div class="ellipsis">
<a href="editIdentity.jsp?new=false&key=${identity.key}&publicName=${identity.publicName}&description=${identity.description}&emailAddress=${identity.emailAddress}">
${identity.publicName}
</a>
</div>
</td>
<td style="width: 150px;">
<div class="ellipsis">
${identity.description}
</div>
</td>
<td style="width: 150px;">
<div class="ellipsis">
${identity.emailAddress}
</div>
</td>
<td style="width: 100px;">
<div class="ellipsis">
${identity.key}
</div>
</td>
<td>
<a href="deleteIdentity.jsp?key=${identity.key}"><img src="images/delete.png" alt="Delete" title="Delete this identity"/></a>
</td>
</tr>
</c:forEach>
</table>
</div>
<p/>
<form action="editIdentity.jsp?new=true" method="POST">
<button type="submit" value="New">New Identity</button>
</form>
</div>
<jsp:include page="footer.jsp"/>
\ No newline at end of file
apps/i2pbote/WebContent/images/darkbluetile.png

298 B

apps/i2pbote/WebContent/images/darkerbluetile.png

1.46 KiB

apps/i2pbote/WebContent/images/delete.png

475 B

apps/i2pbote/WebContent/images/errortriangle.png

1.6 KiB

apps/i2pbote/WebContent/images/favicon16.png

714 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment