From 5f5c52257dc1100235fd8339e909be0f4a5f86ea Mon Sep 17 00:00:00 2001 From: David Goodwin Date: Tue, 23 Jul 2024 20:57:39 +0100 Subject: [PATCH] add token "global search" on the frontpage for superadmins to perhaps find some things quickly --- public/main.php | 20 ++++++ templates/main.tpl | 171 ++++++++++++++++++++++++++++++++------------- 2 files changed, 141 insertions(+), 50 deletions(-) diff --git a/public/main.php b/public/main.php index a2460da2..31dff412 100644 --- a/public/main.php +++ b/public/main.php @@ -29,6 +29,26 @@ authentication_require_role('admin'); $CONF = Config::getInstance()->getAll(); $smarty = PFASmarty::getInstance(); + +$q = safeget('q'); + +$smarty->assign('q', ''); + +if (!empty($q)) { + + $table_alias = table_by_key('alias'); + $table_domain = table_by_key('domain'); + $table_mailbox = table_by_key('mailbox'); + + $mailboxes = db_query_all("SELECT * FROM $table_mailbox WHERE username LIKE :q ORDER BY username ASC LIMIT 15", ['q' => "%$q%"]); + $aliases = db_query_all("SELECT * FROM $table_alias WHERE address LIKE :q ORDER BY address ASC LIMIT 15", ['q' => "%$q%"]); + $domains = db_query_all("SELECT * FROM $table_domain WHERE domain LIKE :q AND domain != 'ALL' ORDER BY domain ASC LIMIT 15", ['q' => "%$q%"]); + + $smarty->assign('q', $q); + $smarty->assign('mailboxes', $mailboxes); + $smarty->assign('aliases', $aliases); + $smarty->assign('domains', $domains); +} $smarty->assign('smarty_template', 'main'); $smarty->display('index.tpl'); diff --git a/templates/main.tpl b/templates/main.tpl index bce91389..75fc130a 100644 --- a/templates/main.tpl +++ b/templates/main.tpl @@ -1,56 +1,127 @@