1
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2026-10-24 12:19:19 +03:00
Files
postfixadmin/public/main.php

68 lines
2.0 KiB
PHP

<?php
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE.TXT.
*
* Further details on the project are available at https://github.com/postfixadmin/postfixadmin
*
* @version $Id$
* @license GNU GPL v2 or later.
*
* File: main.php
* Displays a menu/home page.
* Template File: main.php
*
* Template Variables: -none-
*
* Form POST \ GET Variables: -none-
*/
require_once('common.php');
authentication_require_role('admin');
$username = authentication_get_username();
if (authentication_has_role('global-admin')) {
$list_domains = list_domains();
} else {
$list_domains = list_domains_for_admin($username);
}
$CONF = Config::getInstance()->getAll();
$smarty = PFASmarty::getInstance();
$q = safeget('q');
$smarty->assign('q', '');
// do not run this search stuff for an admin who has no domains associated.
if (!empty($q) && !empty($list_domains)) {
$domains_sql = implode(',', array_map(function ($domain) {
return "'" . escape_string($domain) . "'";
}, $list_domains));
$domain_filter = " AND domain IN ( $domains_sql ) ";
$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 $domain_filter ORDER BY username ASC LIMIT 15", ['q' => "%$q%"]);
$aliases = db_query_all("SELECT * FROM $table_alias WHERE address LIKE :q $domain_filter ORDER BY address ASC LIMIT 15", ['q' => "%$q%"]);
$domains = db_query_all("SELECT * FROM $table_domain WHERE domain LIKE :q $domain_filter 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');
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */