diff --git a/interface/sql/ispconfig3db.sql b/interface/sql/ispconfig3db.sql
index ddfacecdb8f469e7795230a46c2cc2c321f40b57..d3bf57ab156a591b0b834b6a7dfef6ccbd11b845 100644
--- a/interface/sql/ispconfig3db.sql
+++ b/interface/sql/ispconfig3db.sql
@@ -3,9 +3,9 @@
# http://www.phpmyadmin.net/ (download page)
#
# Host: localhost
-# Erstellungszeit: 24. November 2005 um 23:49
-# Server Version: 4.0.23
-# PHP-Version: 5.0.3
+# Erstellungszeit: 25. November 2005 um 17:03
+# Server Version: 4.0.22
+# PHP-Version: 5.0.2
# Datenbank: `ispconfig3`
# --------------------------------------------------------
@@ -16,8 +16,14 @@
DROP TABLE IF EXISTS mail_blacklist;
CREATE TABLE mail_blacklist (
blacklist_id int(11) NOT NULL auto_increment,
+ sys_userid int(11) NOT NULL default '0',
+ sys_groupid int(11) NOT NULL default '0',
+ sys_perm_user varchar(5) NOT NULL default '',
+ sys_perm_group varchar(5) NOT NULL default '',
+ sys_perm_other varchar(5) NOT NULL default '',
server_id int(11) NOT NULL default '0',
address varchar(255) NOT NULL default '',
+ active enum('0','1') NOT NULL default '1',
PRIMARY KEY (blacklist_id),
KEY server_id (server_id,address)
) TYPE=MyISAM;
@@ -26,6 +32,7 @@ CREATE TABLE mail_blacklist (
# Daten für Tabelle `mail_blacklist`
#
+INSERT INTO mail_blacklist VALUES (1, 1, 1, 'riud', 'riud', '', 1, 'test@du.com', '1');
# --------------------------------------------------------
#
@@ -113,6 +120,7 @@ CREATE TABLE mail_domain_catchall (
server_id int(11) NOT NULL default '0',
domain varchar(255) NOT NULL default '',
destination varchar(255) NOT NULL default '',
+ active enum('0','1') NOT NULL default '1',
PRIMARY KEY (domain_catchall_id),
KEY server_id (server_id,domain)
) TYPE=MyISAM;
@@ -121,6 +129,7 @@ CREATE TABLE mail_domain_catchall (
# Daten für Tabelle `mail_domain_catchall`
#
+INSERT INTO mail_domain_catchall VALUES (1, 1, 1, 'riud', 'riud', '', 1, 'test.de', 'info@ensign.de', '1');
# --------------------------------------------------------
#
@@ -196,6 +205,33 @@ INSERT INTO mail_redirect VALUES (1, 1, 0, 'riud', 'riud', '', 1, 'tom@test.de',
INSERT INTO mail_redirect VALUES (2, 1, 0, 'riud', 'riud', '', 1, 'hallo@test.de', 't.brehm@ensign.de', 'forward', '1');
# --------------------------------------------------------
+#
+# Tabellenstruktur für Tabelle `mail_transport`
+#
+
+DROP TABLE IF EXISTS mail_transport;
+CREATE TABLE mail_transport (
+ whitelist_id int(11) NOT NULL auto_increment,
+ sys_userid int(11) NOT NULL default '0',
+ sys_groupid int(11) NOT NULL default '0',
+ sys_perm_user varchar(5) NOT NULL default '',
+ sys_perm_group varchar(5) NOT NULL default '',
+ sys_perm_other varchar(5) NOT NULL default '',
+ server_id int(11) NOT NULL default '0',
+ domain varchar(255) NOT NULL default '',
+ destination varchar(255) NOT NULL default '',
+ active enum('0','1') NOT NULL default '1',
+ PRIMARY KEY (whitelist_id),
+ KEY server_id (server_id,destination),
+ KEY server_id_2 (server_id,domain)
+) TYPE=MyISAM;
+
+#
+# Daten für Tabelle `mail_transport`
+#
+
+# --------------------------------------------------------
+
#
# Tabellenstruktur für Tabelle `mail_whitelist`
#
@@ -203,8 +239,14 @@ INSERT INTO mail_redirect VALUES (2, 1, 0, 'riud', 'riud', '', 1, 'hallo@test.de
DROP TABLE IF EXISTS mail_whitelist;
CREATE TABLE mail_whitelist (
whitelist_id int(11) NOT NULL auto_increment,
+ sys_userid int(11) NOT NULL default '0',
+ sys_groupid int(11) NOT NULL default '0',
+ sys_perm_user varchar(5) NOT NULL default '',
+ sys_perm_group varchar(5) NOT NULL default '',
+ sys_perm_other varchar(5) NOT NULL default '',
server_id int(11) NOT NULL default '0',
address varchar(255) NOT NULL default '',
+ active enum('0','1') NOT NULL default '1',
PRIMARY KEY (whitelist_id),
KEY server_id (server_id,address)
) TYPE=MyISAM;
@@ -341,6 +383,10 @@ INSERT INTO sys_datalog VALUES (27, 'mail_box', 'mailbox_id:1', 'u', 1132788121,
INSERT INTO sys_datalog VALUES (28, 'mail_box', 'mailbox_id:1', 'u', 1132788482, 'admin', 'a:1:{s:8:"cryptpwd";a:2:{s:3:"old";s:34:"$1$ye3.TQ1.$v/RvqbuU.Gh7UrLlA6HqX/";s:3:"new";s:0:"";}}');
INSERT INTO sys_datalog VALUES (29, 'mail_redirect', 'redirect_id:0', 'i', 1132859789, 'admin', 'a:5:{s:9:"server_id";a:2:{s:3:"old";N;s:3:"new";i:1;}s:5:"email";a:2:{s:3:"old";N;s:3:"new";s:11:"tom@test.de";}s:11:"destination";a:2:{s:3:"old";N;s:3:"new";s:12:"till@test.de";}s:4:"type";a:2:{s:3:"old";N;s:3:"new";s:5:"alias";}s:6:"active";a:2:{s:3:"old";N;s:3:"new";i:1;}}');
INSERT INTO sys_datalog VALUES (30, 'mail_redirect', 'redirect_id:0', 'i', 1132868928, 'admin', 'a:5:{s:9:"server_id";a:2:{s:3:"old";N;s:3:"new";i:1;}s:5:"email";a:2:{s:3:"old";N;s:3:"new";s:13:"hallo@test.de";}s:11:"destination";a:2:{s:3:"old";N;s:3:"new";s:17:"t.brehm@ensign.de";}s:4:"type";a:2:{s:3:"old";N;s:3:"new";s:7:"forward";}s:6:"active";a:2:{s:3:"old";N;s:3:"new";i:1;}}');
+INSERT INTO sys_datalog VALUES (31, 'mail_domain_catchall', 'domain_catchall_id:0', 'i', 1132930015, 'admin', 'a:3:{s:6:"domain";a:2:{s:3:"old";N;s:3:"new";s:7:"test.de";}s:11:"destination";a:2:{s:3:"old";N;s:3:"new";s:14:"info@ensign.de";}s:6:"active";a:2:{s:3:"old";N;s:3:"new";i:1;}}');
+INSERT INTO sys_datalog VALUES (32, 'mail_domain_catchall', 'domain_catchall_id:0', 'i', 1132930049, 'admin', 'a:3:{s:6:"domain";a:2:{s:3:"old";N;s:3:"new";s:7:"test.de";}s:11:"destination";a:2:{s:3:"old";N;s:3:"new";s:14:"info@ensign.de";}s:6:"active";a:2:{s:3:"old";N;s:3:"new";i:1;}}');
+INSERT INTO sys_datalog VALUES (33, 'mail_domain_catchall', 'domain_catchall_id:1', 'u', 1132930357, 'admin', 'a:1:{s:9:"server_id";a:2:{s:3:"old";s:1:"0";s:3:"new";i:1;}}');
+INSERT INTO sys_datalog VALUES (34, 'mail_blacklist', 'blacklist_id:0', 'i', 1132932985, 'admin', 'a:3:{s:9:"server_id";a:2:{s:3:"old";N;s:3:"new";i:1;}s:7:"address";a:2:{s:3:"old";N;s:3:"new";s:11:"test@du.com";}s:6:"active";a:2:{s:3:"old";N;s:3:"new";i:1;}}');
# --------------------------------------------------------
#
diff --git a/interface/web/sites/form/mail_blacklist.tform.php b/interface/web/sites/form/mail_blacklist.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..541d70587b9bbb20a9f4f1c93e18c81aeef30803
--- /dev/null
+++ b/interface/web/sites/form/mail_blacklist.tform.php
@@ -0,0 +1,96 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['blacklist'] = array (
+ 'title' => "Blacklist",
+ 'width' => 100,
+ 'template' => "templates/mail_blacklist_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+ 'keyfield'=> 'server_id',
+ 'valuefield'=> 'server_name'
+ ),
+ 'value' => ''
+ ),
+ 'address' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'address_error_notempty'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'active' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'CHECKBOX',
+ 'default' => '1',
+ 'value' => '1'
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/form/mail_domain.tform.php b/interface/web/sites/form/mail_domain.tform.php
index 91400dfdfe2795447f132c8bc0a68a948a1a4f38..81c822aff2176c638704490e053ddd709b5b7144 100644
--- a/interface/web/sites/form/mail_domain.tform.php
+++ b/interface/web/sites/form/mail_domain.tform.php
@@ -63,7 +63,7 @@ $form["tabs"]['domain'] = array (
'formtype' => 'SELECT',
'default' => '',
'datasource' => array ( 'type' => 'SQL',
- 'querystring' => 'SELECT server_id,server_name FROM server WHERE 1 ORDER BY server_name',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
'keyfield'=> 'server_id',
'valuefield'=> 'server_name'
),
diff --git a/interface/web/sites/form/mail_domain_catchall.tform.php b/interface/web/sites/form/mail_domain_catchall.tform.php
index 30c4d2f0f10f3a071eab06577f138b93476ed6ea..b7fe7bc2b3906f2bd6d91fc1a257cb0075953eeb 100644
--- a/interface/web/sites/form/mail_domain_catchall.tform.php
+++ b/interface/web/sites/form/mail_domain_catchall.tform.php
@@ -71,7 +71,7 @@ $form["tabs"]['catchall'] = array (
'errmsg'=> 'domain_error_unique'),
),
'datasource' => array ( 'type' => 'SQL',
- 'querystring' => "SELECT domain FROM mail_domain WHERE type = 'local' ORDER BY domain",
+ 'querystring' => "SELECT domain FROM mail_domain WHERE type = 'local' AND {AUTHSQL} ORDER BY domain",
'keyfield'=> 'domain',
'valuefield'=> 'domain'
),
diff --git a/interface/web/sites/form/mail_whitelist.tform.php b/interface/web/sites/form/mail_whitelist.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..b9006bb19a1bbf686a2aa37dd4aefa329f1fec7a
--- /dev/null
+++ b/interface/web/sites/form/mail_whitelist.tform.php
@@ -0,0 +1,96 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['whitelist'] = array (
+ 'title' => "Witelist",
+ 'width' => 100,
+ 'template' => "templates/mail_whitelist_edit.htm",
+ 'fields' => array (
+ ##################################
+ # Begin Datatable fields
+ ##################################
+ 'server_id' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+ 'keyfield'=> 'server_id',
+ 'valuefield'=> 'server_name'
+ ),
+ 'value' => ''
+ ),
+ 'address' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'address_error_notempty'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
+ ),
+ 'active' => array (
+ 'datatype' => 'INTEGER',
+ 'formtype' => 'CHECKBOX',
+ 'default' => '1',
+ 'value' => '1'
+ ),
+ ##################################
+ # ENDE Datatable fields
+ ##################################
+ )
+);
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_mail_blacklist.lng b/interface/web/sites/lib/lang/en_mail_blacklist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a2f71fecb057416a0adcb716b8d3259537930bdd
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_mail_blacklist.lng
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_mail_blacklist_list.lng b/interface/web/sites/lib/lang/en_mail_blacklist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c866e31ad2a8e60d6d32f2221c0937066049f733
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_mail_blacklist_list.lng
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_mail_domain_catchall.lng b/interface/web/sites/lib/lang/en_mail_domain_catchall.lng
index e14f136ac8a72fc917efdef14b54a84df6f7c85f..ca7af2a13c305664aa987d7f29a9b2d46868baf1 100644
--- a/interface/web/sites/lib/lang/en_mail_domain_catchall.lng
+++ b/interface/web/sites/lib/lang/en_mail_domain_catchall.lng
@@ -1,8 +1,9 @@
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_mail_whitelist.lng b/interface/web/sites/lib/lang/en_mail_whitelist.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a2f71fecb057416a0adcb716b8d3259537930bdd
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_mail_whitelist.lng
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_mail_whitelist_list.lng b/interface/web/sites/lib/lang/en_mail_whitelist_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..cb982b414fc4bfa92cfbc7aadb8fba2b3a08580a
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_mail_whitelist_list.lng
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index ff465d54ab798bd9ddd65387848c0f07f39a998f..dcdf738d24c41aa08def5c56c2ad354e676a66e5 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -56,6 +56,12 @@ $module = array (
'target' => 'content',
'link' => 'sites/mail_domain_catchall_list.php',
),
+ 7 =>
+ array (
+ 'title' => 'Email Routing',
+ 'target' => 'content',
+ 'link' => '',
+ ),
),
),
1 =>
diff --git a/interface/web/sites/list/mail_blacklist.list.php b/interface/web/sites/list/mail_blacklist.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..90315ccce09fe5cef37a9d5dd3a6f0689140b6c2
--- /dev/null
+++ b/interface/web/sites/list/mail_blacklist.list.php
@@ -0,0 +1,69 @@
+ "server_id",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+$liste["item"][] = array( 'field' => "address",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/list/mail_whitelist.list.php b/interface/web/sites/list/mail_whitelist.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..82847666e4147e0e0ec0413460f1227c1632379a
--- /dev/null
+++ b/interface/web/sites/list/mail_whitelist.list.php
@@ -0,0 +1,69 @@
+ "server_id",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+$liste["item"][] = array( 'field' => "address",
+ 'datatype' => "VARCHAR",
+ 'formtype' => "TEXT",
+ 'op' => "like",
+ 'prefix' => "%",
+ 'suffix' => "%",
+ 'width' => "",
+ 'value' => "");
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_blacklist_del.php b/interface/web/sites/mail_blacklist_del.php
new file mode 100644
index 0000000000000000000000000000000000000000..5a453db09893ae9cb2ac865354b31021fc77426d
--- /dev/null
+++ b/interface/web/sites/mail_blacklist_del.php
@@ -0,0 +1,54 @@
+uses("tform_actions");
+$app->tform_actions->onDelete();
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_blacklist_edit.php b/interface/web/sites/mail_blacklist_edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..e72f28cfbb0d765c8c0b1ec185d2f56da25db2a0
--- /dev/null
+++ b/interface/web/sites/mail_blacklist_edit.php
@@ -0,0 +1,55 @@
+uses('tpl,tform,tform_actions');
+$app->tform_actions->onLoad();
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_blacklist_list.php b/interface/web/sites/mail_blacklist_list.php
new file mode 100644
index 0000000000000000000000000000000000000000..2679fdfefd651706e3b59ae77930fdc058a43ef4
--- /dev/null
+++ b/interface/web/sites/mail_blacklist_list.php
@@ -0,0 +1,26 @@
+uses('listform_actions');
+
+$app->listform_actions->onLoad();
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_box_edit.php b/interface/web/sites/mail_box_edit.php
index 715964f23953b3eca17534446fa6c8f61ab7c87f..4d007a7189fe065213c8702896d7de0e99e7c4ce 100644
--- a/interface/web/sites/mail_box_edit.php
+++ b/interface/web/sites/mail_box_edit.php
@@ -98,7 +98,7 @@ class page_action extends tform_actions {
}
-$page = new page_action;
-$page->onLoad();
+$app->tform_actions = new page_action;
+$app->tform_actions->onLoad();
?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_domain_catchall_edit.php b/interface/web/sites/mail_domain_catchall_edit.php
index 83e7e7db1f92ab18bb5d51a484c1cf423aa6d8f5..4ea00b06964ac6ac3d78d9019a6b3cedc85d93f7 100644
--- a/interface/web/sites/mail_domain_catchall_edit.php
+++ b/interface/web/sites/mail_domain_catchall_edit.php
@@ -49,8 +49,27 @@ if(!stristr($_SESSION["s"]["user"]["modules"],$_SESSION["s"]["module"]["name"]))
// Loading classes
$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
-// let tform_actions handle the page
+class page_action extends tform_actions {
+
+ function onSubmit() {
+ global $app, $conf;
+
+ // Check if Domain belongs to user
+ $domain = $app->db->queryOneRecord("SELECT server_id, domain FROM mail_domain WHERE domain = '".$app->db->quote($_POST["domain"])."' AND ".$app->tform->getAuthSQL('r'));
+ if($domain["domain"] != $_POST["domain"]) $app->tform->errorMessage .= $app->tform->wordbook["no_domain_perm"];
+
+ // Set the server id of the catchall = server ID of mail domain.
+ $this->dataRecord["server_id"] = $domain["server_id"];
+
+ parent::onSubmit();
+ }
+
+}
+
+$app->tform_actions = new page_action;
$app->tform_actions->onLoad();
+
?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_domain_catchall_list.php b/interface/web/sites/mail_domain_catchall_list.php
index 9b52fb5726ba3b2de87e05a9ad1a1c86e9ad45f8..7e5f4521f93fd7c62366c57baba2fe77fb1df652 100644
--- a/interface/web/sites/mail_domain_catchall_list.php
+++ b/interface/web/sites/mail_domain_catchall_list.php
@@ -20,9 +20,6 @@ if(!stristr($_SESSION["s"]["user"]["modules"],$_SESSION["s"]["module"]["name"]))
$app->uses('listform_actions');
-// Limit the results to alias domains
-$app->listform_actions->SQLExtWhere = "type = 'local'";
-
$app->listform_actions->onLoad();
diff --git a/interface/web/sites/mail_whitelist_del.php b/interface/web/sites/mail_whitelist_del.php
new file mode 100644
index 0000000000000000000000000000000000000000..47c01892c41b2defc8e6ed0b90e6e2e94cf4221a
--- /dev/null
+++ b/interface/web/sites/mail_whitelist_del.php
@@ -0,0 +1,54 @@
+uses("tform_actions");
+$app->tform_actions->onDelete();
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_whitelist_edit.php b/interface/web/sites/mail_whitelist_edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..9eec2069cf9ac213ebe5812415ec6b4b38920957
--- /dev/null
+++ b/interface/web/sites/mail_whitelist_edit.php
@@ -0,0 +1,55 @@
+uses('tpl,tform,tform_actions');
+$app->tform_actions->onLoad();
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/mail_whitelist_list.php b/interface/web/sites/mail_whitelist_list.php
new file mode 100644
index 0000000000000000000000000000000000000000..cc245ffbe057c55aedede94c791c71cf499934eb
--- /dev/null
+++ b/interface/web/sites/mail_whitelist_list.php
@@ -0,0 +1,26 @@
+uses('listform_actions');
+
+$app->listform_actions->onLoad();
+
+
+?>
\ No newline at end of file
diff --git a/interface/web/sites/templates/mail_blacklist_edit.htm b/interface/web/sites/templates/mail_blacklist_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..774a29c749e5d39ddd8d3fd50af9cc672e34a2f6
--- /dev/null
+++ b/interface/web/sites/templates/mail_blacklist_edit.htm
@@ -0,0 +1,28 @@
+
+
+
{tmpl_var name='server_id_txt'}:
+
+
+
+
+
+
{tmpl_var name='address_txt'}:
+
+
+
+
{tmpl_var name='active_txt'}:
+
{tmpl_var name='active'}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/mail_blacklist_list.htm b/interface/web/sites/templates/mail_blacklist_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..34cb69c748a4ac9a9f640f7e6182dc52c4a1bbb4
--- /dev/null
+++ b/interface/web/sites/templates/mail_blacklist_list.htm
@@ -0,0 +1,27 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/mail_whitelist_edit.htm b/interface/web/sites/templates/mail_whitelist_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..8c11d09340c12652aaaf972371e8a0de065f049e
--- /dev/null
+++ b/interface/web/sites/templates/mail_whitelist_edit.htm
@@ -0,0 +1,28 @@
+
+
+
{tmpl_var name='server_id_txt'}:
+
+
+
+
+
+
{tmpl_var name='address_txt'}:
+
+
+
+
{tmpl_var name='active_txt'}:
+
{tmpl_var name='active'}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/mail_whitelist_list.htm b/interface/web/sites/templates/mail_whitelist_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..00461859f7eb6f235772c8483d34cf1c3c733f7d
--- /dev/null
+++ b/interface/web/sites/templates/mail_whitelist_list.htm
@@ -0,0 +1,27 @@
+
\ No newline at end of file