function modifyCatchAll($catchAllId, $destination, $active) { if (!$active) { $active = 'f'; } else { $active = 't'; } if (!$catchAllId || !$destination || !$active) { return FALSE; } if (!isDomainAdmin()) { return FALSE; } $catchAll = loadAlias($catchAllId); if (!$catchAll) { return FALSE; } if ($catchAll['username'] != '') { return FALSE; } $domain = $catchAll['domain']; $adminDomains = getAdminDomains(); if (!in_array($domain, $adminDomains)) { return FALSE; } if (!validEmailAddress($destination)) { return FALSE; } $updates = array('destination' => $destination, 'active' => $active); $conditions = array('alias_id' => $catchAllId); return db_update('virtual_aliases', $updates, $conditions); }
function removeAlias($aliasId) { if (!$aliasId) { return FALSE; } if (!isDomainAdmin()) { return FALSE; } $alias = loadAlias($aliasId); if (!$alias) { return FALSE; } $domain = $alias['domain']; $adminDomains = getAdminDomains(); if (!in_array($domain, $adminDomains)) { return FALSE; } $destinationParts = split('@', $alias['destination']); $destinationDomain = $destinationParts[1]; if (!in_array($destinationDomain, $adminDomains)) { return FALSE; } $conditions = array('alias_id' => $aliasId); return db_delete('virtual_aliases', $conditions); }