Example #1
0
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);
}