function getAliases() { if (!isDomainAdmin()) { return FALSE; } $sql = 'SELECT' . ' alias_id,' . ' (username || \'@\' || domain) AS email,' . ' domain,' . ' destination,' . ' active' . ' FROM virtual_aliases' . ' JOIN virtual_domains USING(domain_id)' . ' WHERE domain IN (' . quotedAdminDomainString() . ' )' . ' AND username != \'\'' . ' AND (username || \'@\' || domain) NOT IN (' . quotedAdminUserString() . ' )' . ' AND destination IN (' . quotedAdminUserString() . ' )' . ' ORDER BY domain, username, destination'; return db_getrows($sql); }
function getForwards() { if (!isDomainAdmin()) { return FALSE; } $sql = 'SELECT' . ' alias_id,' . ' (username || \'@\' || domain) AS email,' . ' domain,' . ' destination,' . ' active' . ' FROM virtual_aliases' . ' JOIN virtual_domains USING(domain_id)' . ' WHERE domain IN (' . quotedAdminDomainString() . ' )' . ' AND (username || \'@\' || domain) IN (' . quotedAdminUserString() . ' )' . ' AND (username || \'@\' || domain) != destination' . ' AND (username || \'@\' || domain || \'@autoreply.\' || domain) != destination' . ' ORDER BY domain, username, destination'; $rows = db_getrows($sql); $i = 0; foreach ($rows as $row) { if ($row['active'] == 't') { $rows[$i]['active'] = TRUE; } else { $rows[$i]['active'] = FALSE; } $i++; } return $rows; }
function getAdminUsers($like = FALSE, $userId = FALSE) { if (!$userId) { $userId = $_SESSION['user']['user_id']; } if (!isDomainAdmin($userId)) { return FALSE; } $sql = 'SELECT' . ' user_id,' . ' username || \'@\' || domain AS email,' . ' username,' . ' domain,' . ' role_id,' . ' description AS name,' . ' active' . ' FROM virtual_users' . ' JOIN virtual_domains USING(domain_id)' . ' WHERE domain IN (' . quotedAdminDomainString() . ' )'; if ($like) { $sql .= ' AND (username || \'@\' || domain) LIKE ?'; } $sql .= ' ORDER BY domain, username'; if ($like) { $params = array('%' . $like . '%'); } else { $params = array(); } $users = db_getrows($sql, $params); if (!$users) { return FALSE; } $i = 0; foreach ($users as $tmpUser) { $u = $users[$i]; $u['local'] = userLocal($u['email']); $u['active'] = FALSE; if ($tmpUser['active'] == 't') { $u['active'] = TRUE; } $users[$i] = $u; $i++; } return $users; }
<?php include_once '../lib/session.inc.php'; include_once '../lib/user.inc.php'; include_once '../lib/domains.inc.php'; requireDomainAdmin(); $query = $_POST['query']; $mode = $_POST['mode']; if ($query && !$mode && $query != 'all') { $sql = 'SELECT' . ' domain_id,' . ' domain' . ' FROM virtual_domains' . ' WHERE domain LIKE ?' . ' AND domain IN (' . quotedAdminDomainString() . ' )' . ' ORDER BY domain'; $rows = db_getrows($sql, array('%' . strtolower($query) . '%')); $domains = array('success' => true, 'domains' => $rows); print json_encode($domains); } else { if ($mode == 'load' || $query == 'all') { $sql = 'SELECT' . ' domain_id,' . ' domain' . ' FROM virtual_domains' . ' WHERE domain IN (' . quotedAdminDomainString() . ' )' . ' ORDER BY domain'; $rows = db_getrows($sql); $domains = array('success' => true, 'domains' => $rows); print json_encode($domains); } else { if ($mode == 'add') { requireSiteAdmin(); addDomain($_POST['domain']); } else { if ($mode == 'remove') { requireSiteAdmin(); $remove = $_POST['domains']; $domainIds = split(',', $remove); foreach ($domainIds as $domainId) { removeDomain($domainId); }