aboutsummaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem.moulin@fripost.org>2013-01-18 21:05:05 +0100
committerGuilhem Moulin <guilhem.moulin@fripost.org>2013-01-18 21:07:07 +0100
commitbbf7a4b561414d43bedde682c9f7b041c6de88ad (patch)
tree6cf07611b0cfeca6c2297792347b916a6c0ff5ef /templates
parent58bf9c43bf20c060a9e0623cb9f032b63889b384 (diff)
Amavis attributes and templates.
Diffstat (limited to 'templates')
-rw-r--r--templates/add-alias.html79
-rw-r--r--templates/add-list.html112
-rw-r--r--templates/add-user.html94
-rw-r--r--templates/edit-alias.html81
-rw-r--r--templates/edit-domain.html120
-rw-r--r--templates/edit-list.html71
-rw-r--r--templates/edit-user.html329
-rw-r--r--templates/error.html21
-rw-r--r--templates/error_http.html11
-rw-r--r--templates/list-domains.html45
-rw-r--r--templates/list-locals.html147
-rw-r--r--templates/login.html41
12 files changed, 1151 insertions, 0 deletions
diff --git a/templates/add-alias.html b/templates/add-alias.html
new file mode 100644
index 0000000..3283a59
--- /dev/null
+++ b/templates/add-alias.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Add alias under <TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../">Root</a> /
+ <a href="./"><TMPL_VAR NAME=domain></a> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Add alias under <span class="domain"><TMPL_VAR NAME=domain></span></h1>
+
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="add" />
+ <input type="hidden" name="t" value="alias" />
+
+ <h4 class="label">Alias name</h4>
+ <input type="text" name="alias" size="15" value="<TMPL_VAR NAME=alias>"/>@<TMPL_VAR NAME=domain>
+
+ <hr/>
+
+ <h4 class="label">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Destination(s)</h4>
+ <textarea name="maildrop" cols="50" rows="5" ><TMPL_VAR NAME=maildrop></textarea>
+ <div class="help">
+ The list of destinations (one e-mail address per line) that
+ will receive mail for this alias.
+ </div>
+
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/add-list.html b/templates/add-list.html
new file mode 100644
index 0000000..59ca226
--- /dev/null
+++ b/templates/add-list.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Add list under <TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../">Root</a> /
+ <a href="./"><TMPL_VAR NAME=domain></a> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Add list under <span class="domain"><TMPL_VAR NAME=domain></span></h1>
+
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="add" />
+ <input type="hidden" name="t" value="list" />
+
+ <h4 class="label">List name</h4>
+ <input type="text" name="list" size="15" value="<TMPL_VAR NAME=list>"/>@<TMPL_VAR NAME=domain>
+
+ <hr/>
+
+ <h4 class="label">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Password</h4>
+
+ <table class="loginform">
+ <tr>
+ <td class="label">Password</td>
+ <td><input type="password" name="password" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Repeat password</td>
+ <td><input type="password" name="password2" size="20" /></td>
+ </tr>
+ </table>
+ <div class="help">
+ This is the admin password for the web interface of the chosen list manager.
+ (The user name being yourself
+ <span class="email"><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></span>.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Transport</h4>
+ <select name="transport">
+ <option value="mailman" <TMPL_UNLESS NAME=isenc>selected="selected"</TMPL_UNLESS>>GNU Mailman</option>
+ <option value="schleuder" <TMPL_IF NAME=isenc>selected="selected"</TMPL_IF>>Schleuder</option>
+ </select>
+ <div class="help">
+ The mailing list manager. (<i>Note</i>: It is not possible to
+ switch once the list has been created.) The two current
+ choices are the well-known
+ <a href="http://list.org/">GNU Mailman</a>, and
+ <a href="http://schleuder2.nadir.org/">Schleuder</a>. The
+ latter offers GPG-enagbled lists (only).
+ </div>
+
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ <div class="help">
+ <i>Note</i>: No confirmation email will be sent. It may take a while for the list to be created (especially
+ for the Schleuder list manager, as it requires a GPG key creation); Once the list has succefully been created,
+ it will be visible under the
+ <a href="./">management page for <span class="domain"><TMPL_VAR NAME=domain></span></a>.
+ </div>
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/add-user.html b/templates/add-user.html
new file mode 100644
index 0000000..e46c16a
--- /dev/null
+++ b/templates/add-user.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Add user under <TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../">Root</a> /
+ <a href="./"><TMPL_VAR NAME=domain></a> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Add user under <span class="domain"><TMPL_VAR NAME=domain></span></h1>
+
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="add" />
+ <input type="hidden" name="t" value="user" />
+
+ <h4 class="label">User name</h4>
+ <input type="text" name="user" size="15" value="<TMPL_VAR NAME=user>"/>@<TMPL_VAR NAME=domain>
+
+ <hr/>
+
+ <h4 class="label">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Password</h4>
+
+ <table class="loginform">
+ <tr>
+ <td class="label">Password</td>
+ <td><input type="password" name="password" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Repeat password</td>
+ <td><input type="password" name="password2" size="20" /></td>
+ </tr>
+ </table>
+
+ <hr/>
+
+ <h4 class="label">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label">Mail forwarding</h4>
+ <textarea name="forwards" cols="50" rows="5" ><TMPL_VAR NAME=forwards></textarea>
+ <div class="help">
+ An optional list of destinations (one e-mail address per line) that
+ will <i>also</i> receive mail delivered to this user.
+ </div>
+
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/edit-alias.html b/templates/edit-alias.html
new file mode 100644
index 0000000..60a7d2b
--- /dev/null
+++ b/templates/edit-alias.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Edit alias <TMPL_VAR NAME=alias>@<TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../../">Root</a> /
+ <a href="../"><TMPL_VAR NAME=domain></a> /
+ <TMPL_VAR NAME=alias> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Edit alias <span class="email"><TMPL_VAR NAME=alias>@<TMPL_VAR NAME=domain></span><TMPL_IF NAME=canDelete
+ ><span class="action">[<a href="./?a=delete">delete</a>]</span
+ ></TMPL_IF></h1>
+
+ <TMPL_IF NAME=newChanges>
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <div class="success">Your changes have succesfully been submitted.</div>
+ </TMPL_IF>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="edit" />
+
+ <h4 class="label" id="status">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="description">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="destination">Destination(s)</h4>
+ <textarea name="maildrop" cols="50" rows="5" ><TMPL_VAR NAME=maildrop></textarea>
+ <div class="help">
+ The list of destinations (one e-mail address per line) that
+ will receive mail sent to
+ <span class="email"><TMPL_VAR NAME=alias>@<TMPL_VAR NAME=domain></span>.
+ </div>
+
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/edit-domain.html b/templates/edit-domain.html
new file mode 100644
index 0000000..dbbdf3c
--- /dev/null
+++ b/templates/edit-domain.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Edit domain <TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../">Root</a> /
+ <a href="./"><TMPL_VAR NAME=domain></a> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Edit domain <span class="domain"><TMPL_VAR NAME=domain></span></h1>
+
+ <TMPL_IF NAME=newChanges>
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <div class="success">Your changes have succesfully been submitted.</div>
+ </TMPL_IF>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="edit" />
+
+ <h4 class="label" id="status">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to users,
+ aliases or lists under inactive domains.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="description">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="catch-all">Catch-All aliases</h4>
+ <textarea name="catchalls" cols="50" rows="5" ><TMPL_VAR NAME=catchalls></textarea>
+ <div class="help">
+ An optional list of destinations (one e-mail address per line) that
+ will receive mail sent to <i>non existing</i> recipients.
+ Domain aliases can be defined by leaving the local part of
+ the destination empty, like in <span class="email">@example.org</span>:
+ email to <span class="email">inexisting@<TMPL_VAR NAME=domain></span>
+ will then be sent to <span class="email">inexisting@example.org</span>.
+ </div>
+
+ <TMPL_IF NAME=isPostmaster>
+ <hr/>
+
+ <h4 class="label" id="canCreateAlias">Grant right to create aliases</h4>
+ <textarea name="canCreateAlias" cols="50" rows="5" ><TMPL_VAR NAME=canCreateAlias></textarea>
+ <div class="help">
+ An optional list of e-mails (one address per line) that are
+ allowed to create aliases under your domain
+ <span class="domain"><TMPL_VAR NAME=domain></span>.
+ It is possible to grant right for a whole domain by leaving out
+ the local part: For instance, listing
+ <span class="email">@example.org</span> here will give every user
+ under <span class="domain">example.org</span> the right to
+ create aliases under
+ <span class="domain"><TMPL_VAR NAME=domain></span>.
+ <i>Note</i>: You already have this right, so there is no need to
+ list your e-mail here.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="canCreateList">Grant right to create lists</h4>
+ <textarea name="canCreateList" cols="50" rows="5" ><TMPL_VAR NAME=canCreateList></textarea>
+ <div class="help">
+ An optional list of e-mails (one address per line) that are
+ allowed to create mailing lists under your domain
+ <span class="domain"><TMPL_VAR NAME=domain></span>.
+ It is possible to grant right for a whole domain by leaving out
+ the local part: For instance, listing
+ <span class="email">@example.org</span> here will give every user
+ under <span class="domain">example.org</span> the right to
+ create mailing lists under
+ <span class="domain"><TMPL_VAR NAME=domain></span>.
+ <i>Note</i>: You already have this right, so there is no need to
+ list your e-mail here.
+ </div>
+
+ </TMPL_IF>
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/edit-list.html b/templates/edit-list.html
new file mode 100644
index 0000000..6eeae7c
--- /dev/null
+++ b/templates/edit-list.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Edit list <TMPL_VAR NAME=list>@<TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../../">Root</a> /
+ <a href="../"><TMPL_VAR NAME=domain></a> /
+ <TMPL_VAR NAME=list> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Edit list <a class="external" target="_blank" href="<TMPL_VAR NAME=listURL>"
+ ><span class="email"><TMPL_VAR NAME=list>@<TMPL_VAR NAME=domain></span
+ ></a></h1>
+
+ <TMPL_IF NAME=newChanges>
+ <TMPL_IF NAME=error>
+ <div class="fail"><TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <div class="success">Your changes have succesfully been submitted.</div>
+ </TMPL_IF>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="edit" />
+
+ <h4 class="label" id="status">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="description">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+ <br/>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/edit-user.html b/templates/edit-user.html
new file mode 100644
index 0000000..1b22d73
--- /dev/null
+++ b/templates/edit-user.html
@@ -0,0 +1,329 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Edit user <TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../../">Root</a> /
+ <a href="../"><TMPL_VAR NAME=domain></a> /
+ <TMPL_VAR NAME=user> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Edit user <span class="user"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span></h1>
+
+
+ <TMPL_IF NAME=newChanges>
+ <TMPL_IF NAME=error>
+ <div class="fail">Error: <TMPL_VAR NAME=error></div>
+ <TMPL_ELSE>
+ <div class="success">Your changes have succesfully been submitted.</div>
+ </TMPL_IF>
+ <TMPL_ELSE>
+ <br/>
+ </TMPL_IF>
+
+ <br/>
+
+ <form class="editform" name="editform" method="post" action="?">
+ <div class="editform">
+ <input type="hidden" name="a" value="edit" />
+
+ <h4 class="label" id="status">Status</h4>
+ <select name="isactive">
+ <option value="1" <TMPL_IF NAME=isactive>selected="selected"</TMPL_IF>>Active</option>
+ <option value="0" <TMPL_UNLESS NAME=isactive>selected="selected"</TMPL_UNLESS>>Inactive</option>
+ </select>
+ <div class="help">
+ <b>Warning</b>: emails are <i>not</i> delivered to inactive entries.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="password">Change password</h4>
+
+ <table class="loginform">
+ <tr>
+ <td class="label">Current password</td>
+ <td><input type="password" name="oldpw" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">New password</td>
+ <td><input type="password" name="newpw" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Repeat new password</td>
+ <td><input type="password" name="newpw2" size="20" /></td>
+ </tr>
+ </table>
+
+ <div class="help">
+ <i>Note</i>:
+ You need to enter your
+ (<span class="user"><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></span>'s)
+ current password first.
+ Leave these fields empty if you do not want to change the
+ password.
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="description">Description</h4>
+ <textarea name="description" cols="50" rows="5" ><TMPL_VAR NAME=description></textarea>
+ <div class="help">
+ An optional description. (HTML tags are allowed.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="forward">Mail forwarding</h4>
+ <textarea name="forwards" cols="50" rows="5" ><TMPL_VAR NAME=forwards></textarea>
+ <div class="help">
+ An optional list of destinations (one e-mail address per line) that
+ will receive mail for
+ <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span>.
+ (<i>Note</i>: When not empty, this list cancels delivery to
+ this user, so do not forget to list
+ <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span>
+ here as well if you want this mailbox to be delivered too.)
+ </div>
+
+ <hr/>
+
+ <h4 class="label" id="antispam">Anti-Spam and message filter</h4>
+
+ <table class="antispam">
+ <tr>
+ <td rowspan="5" class="label">Deliver messages marked as
+ follows, maybe ignoring a discard action below.
+ <i>Note</i>: Checks are done if a recipient requires it,
+ so you will be keeping training your filter unless you also
+ choose to bypass checks.</td>
+ <td><input type="checkbox" name="amavisVirusLover" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisSpamLover" /> Spam</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisBannedFilesLover" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisBadHeaderLover" /> Bad headers</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisUncheckedLover" /> Could not check</td>
+ </tr>
+ </table>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td rowspan="4" class="label">Message checks to bypass.
+ <i>Note</i>: Each check is run as soon as a recipient requires
+ it, so you also need to check the above if you want to to
+ guarantee the delivery for multi-recipient messages.</td>
+ <td><input type="checkbox" name="amavisBypassVirusChecks" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisBypassSpamChecks" /> Spam</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisBypassBannedChecks" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisBypassHeaderChecks" /> Bad headers</td>
+ </tr>
+ </table>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td class="label">Score at which header tags are added.</td>
+ <td><input type="text" name="amavisSpamTagLevel" size="10" /> Default: 0.0</td>
+ </tr>
+ <tr>
+ <td class="label">Subject to prepend when score exceeds the above.</td>
+ <td><input type="text" name="amavisSpamSubjectTag" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Score at which a message is marked as spam.</td>
+ <td><input type="text" name="amavisSpamTag2Level" size="10" /> Default: 5.0</td>
+ </tr>
+ <tr>
+ <td class="label">Subject to prepend when score exceeds the above.</td>
+ <td><input type="text" name="amavisSpamSubjectTag2" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Score at which a message is marked as extreme spam.</td>
+ <td><input type="text" name="amavisSpamTag3Level" size="10" /> Default: 5.0</td>
+ </tr>
+ <tr>
+ <td class="label">Subject to prepend when score exceeds the above.</td>
+ <td><input type="text" name="amavisSpamSubjectTag3" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Score at which a message bounces back to the
+ sender.</td>
+ <td><input type="text" name="amavisSpamKillLevel" size="10" /> Default: 5.0</td>
+ </tr>
+ <tr>
+ <td class="label">Score at which a message is quarantined.</td>
+ <td><input type="text" name="amavisSpamDsnCutoffLevel" size="10" /> Default: 5.0</td>
+ </tr>
+ <tr>
+ <td class="label">Score at which a message is discarded.</td>
+ <td><input type="text" name="amavisSpamQuarantineCutoffLevel" size="10" /> Default: 5.0</td>
+ </tr>
+ </table>
+ <div class="help"><i>Notes</i>: Although SpamAssassin's scores range from 0 to
+ 1000, with a well-trained filter it is unlikely that a clean message
+ scores more than 5.
+
+ It only makes sense (and is therefore required) to keep the above
+ scores ordered when defined.
+ Also, bouncing spam is probably useless, since spammers are
+ often using forged e-mails; To disable bouncing, set the
+ quarantine level to the bounce level.
+
+ The following macros can be used in the subject prefixes:
+ <span class="code">_SCORE_</span> (spam level),
+ <span class="code">_REQD_</span> (minimum spam level),
+ <span class="code">_YESNO_</span> (marqued as spam Yes/No),
+ <span class="code">_YESNOCAPS_</span> (marqued as spam YES/NO),
+ <span class="code">_HOSTNAME_</span> (hostname),
+ <span class="code">_DATE_</span> (RFC 2822 date),
+ <span class="code">_U_</span> (ISO-8601 UTC timestamp),
+ <span class="code">_LOGID_</span> (internal log ID), and
+ <span class="code">_MAILID_</span> (message ID).
+ </div>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td rowspan="3" class="label">Warn the recipients (you, and
+ possibly others) for messages marked as follows. This can be
+ useful for quarantined and/or discarded messages.</td>
+ <td><input type="checkbox" name="amavisWarnVirusRecip" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisWarnBannedRecip" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="checkbox" name="amavisWarnBadHeaderRecip" /> Bad headers</td>
+ </tr>
+ </table>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td rowspan="7" class="label">An email address where to
+ forward (aka. quarantine)
+ messages, depending on how they have been classified.
+ (<i>Note</i>: The last item is independent of the others, so
+ a message may be forwarded to two different destinations.)</td>
+ <td><input type="text" name="amavisVirusQuarantineTo" size="10" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisSpamQuarantineTo" size="10" /> Spam</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisBannedQuarantineTo" size="10" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisBadHeaderQuarantineTo" size="10" /> Bad headers</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisUncheckedQuarantineTo" size="10" /> Could not check</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisCleanQuarantineTo" size="10" /> Clean</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisArchiveQuarantineTo" size="10" /> <i>All messages</i></td>
+ </tr>
+ </table>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td rowspan="4" class="label">Address extension to be added to
+ the recipient(s), depending on how the message has been
+ classified.
+ (Adding the extension <span class="email">virus</span> to
+ the recipient <span class="email"><TMPL_VAR NAME=user>@<TMPL_VAR NAME=domain></span>
+ will result into viruses being sent to
+ <span class="email"><TMPL_VAR NAME=user>+virus@<TMPL_VAR NAME=domain></span>.)</td>
+ <td><input type="text" name="amavisAddrExtensionVirus" size="10" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisAddrExtensionSpam" size="10" /> Spam</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisAddrExtensionBanned" size="10" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisAddrExtensionBadHeader" size="10" /> Bad header</td>
+ </tr>
+ </table>
+
+ <br/>
+ <table class="antispam">
+ <tr>
+ <td rowspan="5" class="label">An email address to which
+ notifications (reports) are sent, depending on how
+ messages are classified.</td>
+ <td><input type="text" name="amavisVirusAdmin" size="10" /> Virus</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisNewVirusAdmin" size="10" /> New virus</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisSpamAdmin" size="10" /> Spam</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisBannedAdmin" size="10" /> Banned files</td>
+ </tr>
+ <tr>
+ <td><input type="text" name="amavisBadHeaderAdmin" size="10" /> Bad header</td>
+ </tr>
+ </table>
+
+ <div class="antispam">E-mail addresses (one per line) to
+ whitelist. Messages from the listed sender will bypass any
+ check.
+ (<i>Note</i>: Senders can always be forged!)
+ <textarea name="amavisWhitelistSender" cols="50" rows="10" ></textarea>
+ </div>
+
+ <div class="antispam">E-mail addresses (one per line) to
+ blacklist. Messages from the listed sender will always be marked
+ as spam.
+ (<i>Note</i>: Senders can always be forged!)
+ <textarea name="amavisBlacklistSender" cols="50" rows="10" ></textarea>
+ </div>
+
+ <div class="antispam">A list (one per line) of filename extensions
+ (e.g., <span class="code">.exe</span>) to ban.
+ <textarea name="amavisBannedRuleNames" cols="50" rows="10" ></textarea>
+ </div>
+
+ <input type="submit" name="cancel" value="Cancel" />
+ <input type="submit" name="submit" value="Submit" />
+ </div>
+
+ </form>
+ </div>
+ </body>
+</html>
diff --git a/templates/error.html b/templates/error.html
new file mode 100644
index 0000000..5c1d0f1
--- /dev/null
+++ b/templates/error.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Error</title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <TMPL_IF NAME=message><p class="error"><b><TMPL_VAR NAME=message></b></p></TMPL_IF>
+
+ <p>
+ <TMPL_IF NAME=email>
+ If you think it is a bug, please report it to
+ <a href="mailto:<TMPL_VAR NAME=email>"><TMPL_VAR NAME=email></a>.
+ </TMPL_IF>
+ </p>
+
+ <hr/>
+ <TMPL_IF NAME=url><p><a href="<TMPL_VAR NAME=url>">Back</a></p></TMPL_IF>
+ </body>
+</html>
diff --git a/templates/error_http.html b/templates/error_http.html
new file mode 100644
index 0000000..c6ab50a
--- /dev/null
+++ b/templates/error_http.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title><TMPL_VAR NAME=code> <TMPL_IF NAME=message><TMPL_VAR NAME=message><TMPL_ELSE>Error</TMPL_IF></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div class="errorhttp"><TMPL_VAR NAME=code> <TMPL_VAR NAME=message></div>
+ </body>
+</html>
diff --git a/templates/list-domains.html b/templates/list-domains.html
new file mode 100644
index 0000000..5ebdd05
--- /dev/null
+++ b/templates/list-domains.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Manage domains</title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ Root /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="./?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Manage domains<span class="action">[<a href="./?a=add">add</a>]</span></h1>
+
+ <table class="list" id="domains">
+ <thead>
+ <tr class="odd">
+ <th>Domain</th>
+ <th>Description</th>
+ <th>Active</th>
+ </tr>
+ </thead>
+ <tbody>
+ <TMPL_LOOP NAME=domains>
+ <TMPL_IF NAME=__even__><tr class="odd"><TMPL_ELSE><tr></TMPL_IF>
+ <td><span class="domain"><a href="<TMPL_VAR NAME=domainURI>/"><TMPL_VAR NAME=domain></a></span></td>
+ <td><TMPL_IF NAME=description><TMPL_VAR NAME=description><TMPL_ELSE><span class="none">(none)</span></TMPL_IF></td>
+ <td><TMPL_IF NAME=isactive><span class="active">&#x2714;</span><TMPL_ELSE><span class="inactive">&#x2718;</span></TMPL_IF></td>
+ </tr>
+ </TMPL_LOOP>
+ </tbody>
+ </table>
+ </div>
+ </body>
+</html>
diff --git a/templates/list-locals.html b/templates/list-locals.html
new file mode 100644
index 0000000..4f21ee8
--- /dev/null
+++ b/templates/list-locals.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Manage domain <TMPL_VAR NAME=domain></title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div id="header">
+ <div class="left column">
+ <a href="../">Root</a> / <TMPL_VAR NAME=domain> /
+ </div>
+ <div class="right column">
+ Logged as <a href="<TMPL_VAR NAME=userURI>/?a=edit"
+ ><TMPL_VAR NAME=user_localpart>@<TMPL_VAR NAME=user_domainpart></a>
+ | <a href="../?a=logout">Log out</a>
+ </div>
+ <br/>
+ </div>
+ <hr/>
+
+ <div id="content">
+ <h1>Manage domain <span class="domain"><TMPL_VAR NAME=domain></span
+ ><TMPL_IF NAME=canEditDomain><span class="action">[<a href="./?a=edit">edit domain</a>]</span></TMPL_IF></h1>
+
+ <TMPL_IF NAME=description><p class="description"><TMPL_VAR NAME=description></p></TMPL_IF>
+
+ <p id="domainstatus">Domain status:
+ <b>
+ <TMPL_IF NAME=isactive><span class="active">Active</span>
+ <TMPL_ELSE><span class="inactive">Inactive</span>
+ </TMPL_IF>
+ </b>
+ </p>
+
+
+ <TMPL_IF NAME=listUsers>
+ <h3>Users<TMPL_IF NAME=canAddUser
+ ><span class="action">[<a href="./?a=add&amp;t=user">add</a>]</span
+ ></TMPL_IF></h3>
+
+ <table class="list" id="users">
+ <thead>
+ <tr class="odd">
+ <th>Account</th>
+ <th>Description</th>
+ <th>Active</th>
+ <th>Forwards</th>
+ <th>Quota</th>
+ </tr>
+ </thead>
+ <tbody>
+ <TMPL_LOOP NAME=users>
+ <TMPL_IF NAME=__even__><tr class="odd"><TMPL_ELSE><tr></TMPL_IF>
+ <td><span class="user"><a href="<TMPL_VAR NAME=userURI>/"><TMPL_VAR NAME=user></a></span></td>
+ <td><TMPL_IF NAME=description><TMPL_VAR NAME=description><TMPL_ELSE><span class="none">(none)</span></TMPL_IF></td>
+ <td><TMPL_IF NAME=isactive><span class="active">&#x2714;</span><TMPL_ELSE><span class="inactive">&#x2718;</span></TMPL_IF></td>
+ <td><TMPL_UNLESS NAME=forwards><span class="none">(none)</span></TMPL_UNLESS>
+ <TMPL_LOOP NAME=forwards><span class="email"><TMPL_VAR NAME=forward></span><TMPL_UNLESS NAME=__last__>, </TMPL_UNLESS></TMPL_LOOP></td>
+
+ <td><TMPL_IF NAME=quota><TMPL_VAR NAME=quota><TMPL_ELSE><span class="none">(none)</span></TMPL_IF></td>
+ </tr>
+ </TMPL_LOOP>
+ </tbody>
+ </table>
+ <br/>
+ </TMPL_IF>
+
+
+ <TMPL_IF NAME=listAliases>
+ <h3>Alias<TMPL_IF NAME=canAddAlias
+ ><span class="action">[<a href="./?a=add&amp;t=alias">add</a>]</span
+ ></TMPL_IF><TMPL_IF NAME=listCanAddAlias><span class="permlist"
+ >They can also create new aliases:
+ <TMPL_LOOP NAME=listCanAddAlias><span class="email"><TMPL_VAR NAME=user></span><TMPL_UNLESS NAME=__last__>, </TMPL_UNLESS></TMPL_LOOP
+ >.</span></TMPL_IF></h3>
+
+ <table class="list" id="aliases">
+ <thead>
+ <tr class="odd">
+ <th>Alias</th>
+ <th>Description</th>
+ <th>Active</th>
+ <th>Destination(s)</th>
+ </tr>
+ </thead>
+ <tbody>
+ <TMPL_LOOP NAME=aliases>
+ <TMPL_IF NAME=__even__><tr class="odd"><TMPL_ELSE><tr></TMPL_IF>
+ <td><span class="alias"><a href="<TMPL_VAR NAME=aliasURI>/"><TMPL_VAR NAME=alias></a></span></td>
+ <td><TMPL_IF NAME=description><TMPL_VAR NAME=description><TMPL_ELSE><span class="none">(none)</span></TMPL_IF></td>
+ <td><TMPL_IF NAME=isactive><span class="active">&#x2714;</span><TMPL_ELSE><span class="inactive">&#x2718;</span></TMPL_IF></td>
+ <td><TMPL_UNLESS NAME=destinations><span class="none">(none)</span></TMPL_UNLESS>
+ <TMPL_LOOP NAME=destinations><span class="email"><TMPL_VAR NAME=destination></span><TMPL_UNLESS NAME=__last__>, </TMPL_UNLESS></TMPL_LOOP></td>
+ </tr>
+ </TMPL_LOOP>
+ <TMPL_IF NAME=catchalls>
+ <TMPL_IF NAME=CAodd><tr class="odd"><TMPL_ELSE><tr></TMPL_IF>
+ <td><a href="./?a=edit#catch-all">*</a></td>
+ <td>Catch-all alias(es) for domain <span class="domain"><TMPL_VAR NAME=domain></span>.</td>
+ <td><span class="dunno">&#x2014;</span></td>
+ <td><TMPL_LOOP NAME=catchalls><span class="email"><TMPL_VAR NAME=catchall></span><TMPL_UNLESS NAME=__last__>, </TMPL_UNLESS></TMPL_LOOP></td>
+ </tr>
+ </TMPL_IF>
+ </tbody>
+ </table>
+ <br/>
+ </TMPL_IF>
+
+
+ <TMPL_IF NAME=listLists>
+ <h3>Lists<TMPL_IF NAME=canAddList
+ ><span class="action">[<a href="./?a=add&amp;t=list">add</a>]</span
+ ></TMPL_IF><TMPL_IF NAME=listCanAddList><span class="permlist"
+ >They can also create new lists:
+ <TMPL_LOOP NAME=listCanAddList><span class="email"><TMPL_VAR NAME=user></span><TMPL_UNLESS NAME=__last__>, </TMPL_UNLESS></TMPL_LOOP
+ >.</span></TMPL_IF></h3>
+
+ <table class="list" id="lists">
+ <thead>
+ <tr class="odd">
+ <th>List</th>
+ <th>Description</th>
+ <th>Active</th>
+ <th>Tranport</th>
+ </tr>
+ </thead>
+ <tbody>
+ <TMPL_LOOP NAME=lists>
+ <TMPL_IF NAME=__even__><tr class="odd"><TMPL_ELSE><tr></TMPL_IF>
+ <td><span class="list"><TMPL_UNLESS NAME=ispending><a href="<TMPL_VAR NAME=listURI>/"></TMPL_UNLESS
+ ><TMPL_VAR NAME=list
+ ><TMPL_UNLESS NAME=ispending></a> <a class="external" target="_blank" href="<TMPL_VAR NAME=listURL>">&#x27A0;</a></TMPL_UNLESS></span></td>
+ <td><TMPL_IF NAME=description><TMPL_VAR NAME=description><TMPL_ELSE><span class="none">(none)</span></TMPL_IF></td>
+ <td><TMPL_IF NAME=ispending><span class="pending">&#x2691;</span>
+ <TMPL_ELSE><TMPL_IF NAME=isactive><span class="active">&#x2714;</span>
+ <TMPL_ELSE><span class="inactive">&#x2718;</span></TMPL_IF></TMPL_IF></td>
+ <td><TMPL_VAR NAME=transport></td>
+ </tr>
+ </TMPL_LOOP>
+ </tbody>
+ </table>
+ </TMPL_IF>
+ </div>
+
+ </body>
+</html>
diff --git a/templates/login.html b/templates/login.html
new file mode 100644
index 0000000..ed10d20
--- /dev/null
+++ b/templates/login.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <title>Log In | Fripost Administrator Panel</title>
+ <link href="/css/style.css" media="all" rel="stylesheet" type="text/css" />
+ </head>
+ <body class="loginform" onload="document.loginform.authen_username.focus();">
+ <div>
+ <br/>
+ <a href="https://fripost.org"
+ ><img alt="Fripost"
+ src="/img/fripost_logo.png"
+ title="fripost.org|demokratisk e-post"
+ /></a>
+
+ <h2>Administrator Panel</h2>
+ <br/>
+ <br/>
+
+ <form class="loginform" name="loginform" method="post">
+ <table class="loginform">
+ <tr>
+ <td class="label">Username</td>
+ <td><input type="text" name="authen_username" size="20" /></td>
+ </tr>
+ <tr>
+ <td class="label">Password</td>
+ <td><input type="password" name="authen_password" size="20" /></td>
+ </tr>
+ </table>
+ <div>
+ <input type="hidden" name="redirect" value="<TMPL_VAR NAME=redirect>" />
+ <input type="submit" name="login" value="Log in" />
+ </div>
+ </form>
+ <TMPL_IF NAME=error><p class="error">Invalid username or password.</p></TMPL_IF>
+ </div>
+ </body>
+</html>
+