function build_aliases_maps()
{
    if (!is_array($GLOBALS["alias_maps"])) {
        shell_exec("{$GLOBALS["postconf"]} -e \"aliases_maps = \" >/dev/null 2>&1");
        shell_exec("{$GLOBALS["postconf"]} -e \"virtual_mailbox_maps = \" >/dev/null 2>&1");
        echo "Starting......: No aliases\n";
        return null;
    }
    if ($GLOBALS["MAILMAN"] = true) {
        echo "Starting......: Building mailman aliase(s)\n";
        if (mailman_aliases()) {
            $hash_mailman = ",hash:{$GLOBALS["MAILMAN_ALIASES"]}";
            $hash_mailman_virtual = ",hash:/var/lib/mailman/data/virtual-mailman";
        }
    }
    echo "Starting......: " . count($GLOBALS["alias_maps"]) . " aliase(s)\n";
    shell_exec("{$GLOBALS["postconf"]} -e \"alias_maps =hash:/etc/postfix/aliases{$hash_mailman}\" >/dev/null 2>&1");
    shell_exec("{$GLOBALS["postconf"]} -e \"alias_database =hash:/etc/postfix/aliases\" >/dev/null 2>&1");
    @file_put_contents("/etc/postfix/aliases", implode("\n", $GLOBALS["alias_maps"]));
    shell_exec("{$GLOBALS["postalias"]} -c /etc/postfix hash:/etc/postfix/aliases >/dev/null 2>&1");
    shell_exec("{$GLOBALS["newaliases"]}");
}
Esempio n. 2
0
function build_aliases_maps()
{
    if (is_array($GLOBALS["LDAPDBS"]["alias_maps"])) {
        if ($GLOBALS["VERBOSE"]) {
            "LDAP:: alias_maps = \"" . @implode(",", $GLOBALS["LDAPDBS"]["alias_maps"]) . "\n";
        }
        $alias_maps_cf = $GLOBALS["LDAPDBS"]["alias_maps"];
    } else {
        if ($GLOBALS["DEBUG"]) {
            echo __FUNCTION__ . "::LDAP:: GLOBALS[LDAPDBS][alias_maps]=not an array\n";
        }
    }
    if (is_array($GLOBALS["LDAPDBS"]["alias_database"])) {
        $alias_database_cf = $GLOBALS["LDAPDBS"]["alias_database"];
    }
    if (is_array($GLOBALS["LDAPDBS"]["virtual_mailbox_maps"])) {
        $virtual_mailbox_maps_cf = $GLOBALS["LDAPDBS"]["virtual_mailbox_maps"];
    }
    if (is_array($GLOBALS["alias_maps"])) {
        if ($GLOBALS["MAILMAN"] = true) {
            echo "Starting......: Building mailman aliase(s)\n";
            if (mailman_aliases()) {
                $hash_mailman = ",hash:{$GLOBALS["MAILMAN_ALIASES"]}";
                $hash_mailman_virtual = ",hash:/var/lib/mailman/data/virtual-mailman";
            }
        }
        echo "Starting......: Postfix " . count($GLOBALS["alias_maps"]) . " aliase(s)\n";
        $alias_maps_cf[] = "hash:/etc/postfix/aliases{$hash_mailman}";
        $alias_database_cf[] = "hash:/etc/postfix/aliases";
        @file_put_contents("/etc/postfix/aliases", implode("\n", $GLOBALS["alias_maps"]));
        shell_exec("{$GLOBALS["postalias"]} -c /etc/postfix hash:/etc/postfix/aliases >/dev/null 2>&1");
        shell_exec("{$GLOBALS["newaliases"]}");
    }
    if (is_array($alias_maps_cf)) {
        echo "Starting......: Postfix building alias_maps\n";
        shell_exec("{$GLOBALS["postconf"]} -e \"alias_maps =" . @implode(",", $alias_maps_cf) . "\" >/dev/null 2>&1");
    } else {
        if ($GLOBALS["VERBOSE"]) {
            __FUNCTION__ . ":: alias_maps = \$alias_maps_cf is not an array\n ( line:" . __LINE__ . ")";
        }
        shell_exec("{$GLOBALS["postconf"]} -e \"aliases_maps = \" >/dev/null 2>&1");
    }
    if (is_array($alias_database_cf)) {
        echo "Starting......: Postfix building alias_database\n";
        shell_exec("{$GLOBALS["postconf"]} -e \"alias_database =" . @implode(",", $alias_database_cf) . "\" >/dev/null 2>&1");
    } else {
        shell_exec("{$GLOBALS["postconf"]} -e \"alias_database = \" >/dev/null 2>&1");
    }
    if (is_array($virtual_mailbox_maps_cf)) {
        echo "Starting......: Postfix building virtual_mailbox_maps\n";
        shell_exec("{$GLOBALS["postconf"]} -e \"virtual_mailbox_maps =" . @implode(",", $virtual_mailbox_maps_cf) . "\" >/dev/null 2>&1");
    } else {
        shell_exec("{$GLOBALS["postconf"]} -e \"virtual_mailbox_maps = \" >/dev/null 2>&1");
    }
}