summaryrefslogtreecommitdiff
path: root/templates/webmail
diff options
context:
space:
mode:
Diffstat (limited to 'templates/webmail')
-rw-r--r--templates/webmail/about.html.ep71
-rw-r--r--templates/webmail/displayheaders.html.ep46
-rw-r--r--templates/webmail/noaction.html.ep60
-rw-r--r--templates/webmail/readmail.html.ep52
-rw-r--r--templates/webmail/writemail.html.ep50
5 files changed, 279 insertions, 0 deletions
diff --git a/templates/webmail/about.html.ep b/templates/webmail/about.html.ep
new file mode 100644
index 0000000..c6d1247
--- /dev/null
+++ b/templates/webmail/about.html.ep
@@ -0,0 +1,71 @@
+%# about template
+
+% layout 'mainlayout';
+
+<table class=top>
+
+ <tr>
+ <th>
+ About JWebmail <%= $version %>
+ </th>
+ </tr>
+
+ <tr>
+ <td class=large-section>
+ <ul>
+ <li>
+ JWebmail <%= $version %> is a Webmail solution meant to be used with
+ <a href="https://www.fehcom.de/sqmail/sqmail.html">s/qmail</a>
+ </li>
+
+ <li>Features:
+ <ul>
+ <!--
+ <li>qmail, vmailmgr and vpopmail authentication support (<em>not</em> sendmail)</li>
+ <li>multiple signatures und headers support</li>
+ <li>basic folders support (4 defined folders)</li>
+ <li>featured addressbook</li>
+ <li>100% Maildir based</li>
+ <li>reads the mail directely from the server disk, without need for POP3 or IMAP</li>
+ -->
+ <li>multiple language support</li>
+ <li>session management </li>
+ <li>search for mails</li>
+ <li>CGI support but also psgi/plack and fcgi</li>
+ </ul>
+ </li>
+
+ <li>
+ This is a
+ <a href="http://www.gnu.org/copyleft/gpl.html" target="_new">GPL</a>
+ licensed project, created by <a href="mailto:">Oliver 'omnis' Müller</a>
+ and currently maintained by
+ <a href="mailto:jannis@fehcom.de">Jannis M. Hoffmann</a>
+ </li>
+
+
+ <li>Supported languages:
+ <p class=languages>
+% foreach (@$languages) {
+ <%= $_ %>
+% }
+ </p>
+ </li>
+
+ <li>
+ JWebmail is programmed in <a href="http://www.perl.org">Perl</a>, and is
+ a complete rewrite of oMail-webmail.
+ </li>
+
+ </ul>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <nav>
+ <a href="<%= url_for('noaction') %>" class=btn>login</a>
+ </nav>
+ </td>
+ </tr>
+</table>
diff --git a/templates/webmail/displayheaders.html.ep b/templates/webmail/displayheaders.html.ep
new file mode 100644
index 0000000..d823d9e
--- /dev/null
+++ b/templates/webmail/displayheaders.html.ep
@@ -0,0 +1,46 @@
+% layout 'mainlayout';
+
+<table id=displayheaders>
+
+ <thead>
+ <tr>
+ <td id=folders>
+ %= include 'headers/_displayfolders';
+ </td>
+ </tr>
+
+% if (my $loginmessage = stash 'loginmessage') {
+ <tr>
+ <td id=loginmessage> <%= $loginmessage %> </td>
+ </tr>
+% }
+
+ <tr>
+ <td id=navigation>
+ %= include 'headers/_display_top_nav';
+ </td>
+ </tr>
+ </thead>
+
+ <tbody>
+ <tr>
+ <td>
+% if (@$msgs) {
+ %= include 'headers/_display_headers';
+% }
+% else {
+ <p id=empty> <%= l 'empty_folder' %> </p>
+% }
+ </td>
+ </tr>
+ </tbody>
+
+ <tfoot>
+ <tr>
+ <td class=navigation>
+ %= include 'headers/_display_bot_nav';
+ </td>
+ </tr>
+ </tfoot>
+
+</table> \ No newline at end of file
diff --git a/templates/webmail/noaction.html.ep b/templates/webmail/noaction.html.ep
new file mode 100644
index 0000000..54a8106
--- /dev/null
+++ b/templates/webmail/noaction.html.ep
@@ -0,0 +1,60 @@
+% layout 'mainlayout';
+
+<table id=noaction>
+ <thead>
+ <tr>
+ <th id=top-section> JWebmail – <%= ucfirst l 'login' %> </th>
+ </tr>
+ </thead>
+
+ <tbody>
+% if (my $msg = flash('message') || stash('warning')) {
+ <tr>
+ <td class="warning flash-fade">
+ %= $msg
+ <td>
+ </tr>
+% }
+
+ <tr>
+ <td class=login-form>
+ <form method=post name=login1 action="<%= url_for('login') %>">
+
+ <table>
+ <tr>
+ <td class=label-cell>
+ <label for=userid><%= ucfirst l 'userid' %></label>:
+ </td>
+ <td>
+ %= text_field 'userid'
+ </td>
+ </tr>
+ <tr>
+ <td class=label-cell>
+ <label for=password><%= ucfirst l 'passwd' %></label>:
+ </td>
+ <td>
+ %= password_field 'password'
+ </td>
+ </tr>
+ <tr class=submit-row>
+ <td colspan=2>
+ <input type=submit value="<%= l 'login' %>">
+ </td>
+ </tr>
+ </table>
+
+ </form>
+ </td>
+ </tr>
+
+ </tbody>
+</table>
+
+%= javascript begin
+ if (!document.login1.userid.value) {
+ document.login1.userid.focus();
+ } else {
+ document.login1.password.focus();
+ }
+% end
diff --git a/templates/webmail/readmail.html.ep b/templates/webmail/readmail.html.ep
new file mode 100644
index 0000000..f537d96
--- /dev/null
+++ b/templates/webmail/readmail.html.ep
@@ -0,0 +1,52 @@
+% layout 'mainlayout';
+
+% my $mail_fmt = begin
+ % my ($category, $value) = @_;
+ <dt> <%= ucfirst l $category %> </dt>
+ <dd> <%= ref $value ? join(' ' . l('and') . ' ', map {"$_->{name} <$_->{address}>"} @$value) : $value %> </dd>
+% end
+
+<div class=ow>
+
+<h1>Read Mail</h1>
+
+<dl id=show-head>
+ <dt> <%= uc l 'subject' %> </dt>
+ <dd> <%= $msg->{subject} %> </dd>
+%= $mail_fmt->('from', $msg->{from});
+%= $mail_fmt->('to', $msg->{to});
+%= $mail_fmt->('cc', $msg->{cc}) if !ref $msg->{cc} || @{ $msg->{cc} };
+%= $mail_fmt->('bcc', $msg->{bcc}) if !ref $msg->{bcc} || @{ $msg->{cc} };
+ <dt> <%= uc l 'date' %> </dt>
+ <dd> <%= $msg->{date} %> </dd>
+ <dt> <%= uc l 'size' %> </dt>
+ <dd> <%= print_sizes10 $msg->{size} %> </dd>
+ <dt> <%= uc l 'content-type' %> </dt>
+ <dd> <%= $msg->{content_type} %> </dd>
+</dl>
+
+% my $body = $msg->{body};
+
+% if ($msg->{content_type} eq 'multipart/alternative') {
+% for (reverse @$body) {
+ <div class=show-body>
+% my $x = mime_render($_->{type}, $_->{val});
+%== $x;
+% last if $x;
+ </div>
+% }
+% }
+% elsif (ref $body eq 'HASH') {
+% for (%$body) {
+ <div class=show-body>
+%== mime_render($_->{type}, $_->{val});
+ </div>
+% }
+% }
+% else {
+ <div class=show-body>
+%== mime_render($msg->{content_type}, $body);
+ </div>
+% }
+
+</div> \ No newline at end of file
diff --git a/templates/webmail/writemail.html.ep b/templates/webmail/writemail.html.ep
new file mode 100644
index 0000000..171542e
--- /dev/null
+++ b/templates/webmail/writemail.html.ep
@@ -0,0 +1,50 @@
+% layout 'mainlayout';
+
+<div class=ow>
+
+<h1>Write Message</h1>
+
+% if (my $msg = stash('warning')) {
+ <p class=warn> <%= $msg %> </p>
+% }
+
+<form method=post enctype=multipart/form-data id=write-form>
+
+ <label for=mail> <%= ucfirst l 'send_to' %> </label>
+ %= email_field 'to', id => 'mail', multiple => '', required => ''
+ <br>
+
+ <label for=subject> <%= ucfirst l 'subject' %> </label>
+ %= text_field 'subject', 'required' => ''
+ <br>
+
+ <label for=cc>CC</label>
+ %= email_field 'cc', 'multiple' => ''
+ <br>
+
+ <label for=bcc>BCC</label>
+ %= email_field 'bcc', 'multiple' => ''
+ <br>
+
+ <label for=back_to> <%= ucfirst l 'answer_to' %> </label>
+ %= email_field 'back_to'
+ <br>
+
+ <label for=txt> <%= ucfirst l 'content' %> </label>
+ %= text_area 'body', cols => 80, rows => 24, id => 'txt'
+ <br>
+
+ %= file_field 'attach'
+ <br>
+
+ <input type=submit value="send" />
+
+ %= csrf_field
+
+</form>
+
+<nav>
+<a href="<%= url_for('displayheaders') %>" class=btn> <%= l 'home' %> </a>
+</nav>
+
+</div> \ No newline at end of file