diff options
author | Guilhem Moulin <guilhem.moulin@fripost.org> | 2013-01-18 21:05:05 +0100 |
---|---|---|
committer | Guilhem Moulin <guilhem.moulin@fripost.org> | 2013-01-18 21:07:07 +0100 |
commit | bbf7a4b561414d43bedde682c9f7b041c6de88ad (patch) | |
tree | 6cf07611b0cfeca6c2297792347b916a6c0ff5ef /templates | |
parent | 58bf9c43bf20c060a9e0623cb9f032b63889b384 (diff) |
Amavis attributes and templates.
Diffstat (limited to 'templates')
-rw-r--r-- | templates/add-alias.html | 79 | ||||
-rw-r--r-- | templates/add-list.html | 112 | ||||
-rw-r--r-- | templates/add-user.html | 94 | ||||
-rw-r--r-- | templates/edit-alias.html | 81 | ||||
-rw-r--r-- | templates/edit-domain.html | 120 | ||||
-rw-r--r-- | templates/edit-list.html | 71 | ||||
-rw-r--r-- | templates/edit-user.html | 329 | ||||
-rw-r--r-- | templates/error.html | 21 | ||||
-rw-r--r-- | templates/error_http.html | 11 | ||||
-rw-r--r-- | templates/list-domains.html | 45 | ||||
-rw-r--r-- | templates/list-locals.html | 147 | ||||
-rw-r--r-- | templates/login.html | 41 |
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">✔</span><TMPL_ELSE><span class="inactive">✘</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&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">✔</span><TMPL_ELSE><span class="inactive">✘</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&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">✔</span><TMPL_ELSE><span class="inactive">✘</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">—</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&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>">➠</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">⚑</span> + <TMPL_ELSE><TMPL_IF NAME=isactive><span class="active">✔</span> + <TMPL_ELSE><span class="inactive">✘</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> + |