From aa2ebed365145ea3f1a68fb1c315354c5c035868 Mon Sep 17 00:00:00 2001 From: mischa Date: Tue, 6 Sep 2022 12:29:52 +0000 Subject: [PATCH] remove domain_exists where it makes less sense, fix search --- add-alias.php | 4 +-- add-mailbox.php | 4 +-- edit-alias.php | 6 ++-- edit-mailbox.php | 6 ++-- templates/list-domain.tpl | 5 ++- templates/list-virtual.tpl | 14 ++++---- templates/search.tpl | 66 +++++++++++++++++++------------------- viewlog.php | 12 ++++--- 8 files changed, 58 insertions(+), 59 deletions(-) diff --git a/add-alias.php b/add-alias.php index e7716f0..6895408 100644 --- a/add-alias.php +++ b/add-alias.php @@ -37,7 +37,6 @@ if ($ROLE == ADMIN_ROLE) { if ($_SERVER['REQUEST_METHOD'] == "GET") { $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); } if ($_SERVER['REQUEST_METHOD'] == "POST") { @@ -45,7 +44,6 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $domain = filter_input(INPUT_POST, 'domain', FILTER_VALIDATE_DOMAIN); $goto = strtolower(filter_input(INPUT_POST, 'goto', FILTER_DEFAULT)); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); $from = filter_var($address . '@' . $domain, FILTER_VALIDATE_EMAIL); if (!str_contains($goto, '@')) { @@ -61,7 +59,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $message = $LANG['Add_alias_address_text_error1']; } - if ($domain_exist && empty($message)) { + if (empty($message) && in_array($domain, array_column($list_domains, 'domain'))) { try { $dbh = pdo_connect(); $sth = $dbh->prepare("INSERT INTO alias (address,goto,domain,created,modified) VALUES (?,?,?,NOW(),NOW())"); diff --git a/add-mailbox.php b/add-mailbox.php index b3e570d..2911cf7 100644 --- a/add-mailbox.php +++ b/add-mailbox.php @@ -39,7 +39,6 @@ if ($ROLE == ADMIN_ROLE) { if ($_SERVER['REQUEST_METHOD'] == "GET") { $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); } if ($_SERVER['REQUEST_METHOD'] == "POST") { @@ -49,7 +48,6 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $password2 = filter_input(INPUT_POST, 'password2', FILTER_DEFAULT); $name = filter_input(INPUT_POST, 'name', FILTER_DEFAULT); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); $from = filter_var($username . '@' . $domain, FILTER_VALIDATE_EMAIL); if ($list_domains[$domain_key]['mailboxes'] != 0 && $list_domains[$domain_key]['mailbox_count'] >= $list_domains[$domain_key]['mailboxes']) { @@ -64,7 +62,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $message = $LANG['Add_mailbox_password_text_error']; } - if ($domain_exist && empty($message)) { + if (empty($message) && in_array($domain, array_column($list_domains, 'domain'))) { $hashed = bcrypt($password1); $maildir = $from . "/"; diff --git a/edit-alias.php b/edit-alias.php index 8bad300..21575ea 100644 --- a/edit-alias.php +++ b/edit-alias.php @@ -37,9 +37,8 @@ if ($_SERVER['REQUEST_METHOD'] == "GET") { $address = filter_input(INPUT_GET, 'address', FILTER_VALIDATE_EMAIL); $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); - if ($domain_exist) { + if (in_array($domain, array_column($list_domains, 'domain'))) { try { $dbh = pdo_connect(); $sth = $dbh->prepare("SELECT goto FROM alias WHERE address=? AND domain=?"); @@ -59,7 +58,6 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $domain = strtolower(filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN)); $goto = strtolower(filter_input(INPUT_POST, 'goto', FILTER_DEFAULT)); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); if (empty($goto)) { $goto = array(); @@ -78,7 +76,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { } } - if ($domain_exist && empty($message)) { + if (empty($message) && in_array($domain, array_column($list_domains, 'domain'))) { try { $dbh = pdo_connect(); $sth = $dbh->prepare("UPDATE alias SET goto=?,modified=NOW() WHERE address=? AND domain=?"); diff --git a/edit-mailbox.php b/edit-mailbox.php index e1b5bc7..99fa492 100644 --- a/edit-mailbox.php +++ b/edit-mailbox.php @@ -39,9 +39,8 @@ if ($_SERVER['REQUEST_METHOD'] == "GET") { $username = filter_input(INPUT_GET, 'username', FILTER_DEFAULT); $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); - if ($domain_exist) { + if (in_array($domain, array_column($list_domains, 'domain'))) { try { $dbh = pdo_connect(); $sth = $dbh->prepare("SELECT * FROM mailbox WHERE username=? AND domain=?"); @@ -63,7 +62,6 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $password2 = filter_input(INPUT_POST, 'password2', FILTER_DEFAULT); $name = filter_input(INPUT_POST, 'name', FILTER_DEFAULT); $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); if ($password1 != $password2) { $message = $LANG['Edit_mailbox_password_text_error']; @@ -84,7 +82,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { } } - if ($domain_exist && empty($message)) { + if (empty($message) && in_array($domain, array_column($list_domains, 'domain'))) { try { $dbh = pdo_connect(); $sth = $dbh->prepare("UPDATE mailbox SET name=?,modified=NOW() WHERE username=? AND domain=?"); diff --git a/templates/list-domain.tpl b/templates/list-domain.tpl index 26d7ed7..68dec66 100644 --- a/templates/list-domain.tpl +++ b/templates/list-domain.tpl @@ -14,11 +14,14 @@ if (count($list_admins) > 0) { ?> + +
-Search: +
+ 0) { echo ""; diff --git a/templates/list-virtual.tpl b/templates/list-virtual.tpl index b26746c..132b536 100644 --- a/templates/list-virtual.tpl +++ b/templates/list-virtual.tpl @@ -10,23 +10,25 @@ if (count($list_domains) > 0) { echo ">" . $row['domain'] . ""; } } -if ($list_domains[$domain_key]['aliases'] == 0) $list_domains[$domain_key]['aliases'] = $LANG['List_domain_unlimited']; -if ($list_domains[$domain_key]['mailboxes'] == 0) $list_domains[$domain_key]['mailboxes'] = $LANG['List_domain_unlimited']; ?> - -

-

-

+' . $LANG['List_virtual_welcome'] . $domain . ''; +echo '

' . $LANG['List_domain_aliases'] . ": " . $list_domains[$domain_key]['alias_count'] . " / " . $list_domains[$domain_key]['aliases'] . '

'; +echo '

' . $LANG['List_domain_mailboxes'] . ": " . $list_domains[$domain_key]['mailbox_count'] . " / " . $list_domains[$domain_key]['mailboxes'] . '

'; +?> + $limit || $list_domains[$domain_key]['mailbox_count'] > $limit) { echo "
"; diff --git a/templates/search.tpl b/templates/search.tpl index 6ff39a6..a7c24f4 100644 --- a/templates/search.tpl +++ b/templates/search.tpl @@ -8,48 +8,48 @@ 0) { echo "
"; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; foreach ($list_alias as $row) { - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; } echo "

" . $LANG['List_virtual_alias_title'] . "

" . $LANG['List_virtual_alias_address'] . "" . $LANG['List_virtual_alias_goto'] . "" . $LANG['List_modified'] . " 

" . $LANG['List_virtual_alias_title'] . "

" . $LANG['List_virtual_alias_address'] . "" . $LANG['List_virtual_alias_goto'] . "" . $LANG['List_modified'] . " 
" . $row['address'] . "" . preg_replace("/,/", "
", $row['goto']) . "
" . $row['modified'] . "" . $LANG['edit'] . "" . $LANG['del'] . "
" . $row['address'] . "" . preg_replace("/,/", "
", $row['goto']) . "
" . $row['modified'] . "" . $LANG['edit'] . "" . $LANG['del'] . "
"; } if (count($list_mailbox) > 0) { echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; - foreach ($list_mailbox as $row) { - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; + foreach ($list_mailbox as $row) { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; } echo "

" . $LANG['List_virtual_mailbox_title'] . "

" . $LANG['List_virtual_mailbox_username'] . "" . $LANG['List_virtual_mailbox_name'] . "" . $LANG['List_modified'] . " 

" . $LANG['List_virtual_mailbox_title'] . "

" . $LANG['List_virtual_mailbox_username'] . "" . $LANG['List_virtual_mailbox_name'] . "" . $LANG['List_modified'] . " 
" . $row['username'] . "" . $row['name'] . "" . $row['modified'] . "" . $LANG['edit'] . "" . $LANG['del'] . "
" . $row['username'] . "" . $row['name'] . "" . $row['modified'] . "" . $LANG['edit'] . "" . $LANG['del'] . "
"; } diff --git a/viewlog.php b/viewlog.php index 6d80bbf..61a57c5 100644 --- a/viewlog.php +++ b/viewlog.php @@ -25,17 +25,19 @@ $ROLE = check_role($SESSID_USERNAME); if ($ROLE == ADMIN_ROLE) { $list_domains = list_domains(); - $list_admins = list_admins(); } else { $list_domains = list_domains($SESSID_USERNAME); } if ($_SERVER['REQUEST_METHOD'] == "GET") { - $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN) ?? $list_domains[0]['domain']; - $domain_key = array_search($domain, array_column($list_domains, 'domain')); - $domain_exist = in_array($domain, array_column($list_domains, 'domain')); + $domain = filter_input(INPUT_GET, 'domain', FILTER_VALIDATE_DOMAIN); - if ($domain_exist) { + if (empty($domain) && count($list_domains) > 0) { + $domain = $list_domains[0]['domain']; + } + + if (in_array($domain, array_column($list_domains, 'domain'))) { + $domain_key = array_search($domain, array_column($list_domains, 'domain')); $dbh = pdo_connect(); $sth = $dbh->prepare("SELECT * FROM log WHERE domain=? ORDER BY timestamp DESC LIMIT 10"); $sth->bindParam(1, $domain, PDO::PARAM_STR);