function milters()
{
    $sock = new sockets();
    $unix = new unix();
    $php = $unix->LOCATE_PHP5_BIN();
    milters_progress("{starting} {filtering_modules}", 15);
    milters_progress("{starting} {smtpd_client_restrictions}", 20);
    smtpd_client_restrictions();
    milters_progress("{checking} Anti-Spam", 25);
    amavis_internal();
    shell_exec("{$php} /usr/share/artica-postfix/exec.spamassassin.php");
    milters_progress("{checking} {milters_plugins}", 30);
    smtpd_milters();
    milters_progress("{checking} MASTER CF", 40);
    MasterCFBuilder(true);
    $SpamAssMilterEnabled = intval($sock->GET_INFO("SpamAssMilterEnabled"));
    $EnableMilterRegex = intval($sock->GET_INFO("EnableMilterRegex"));
    $MilterGreyListEnabled = intval($sock->GET_INFO("MilterGreyListEnabled"));
    echo "SpamAssassin Milter: {$SpamAssMilterEnabled}\n";
    echo "Regex Milter.......: {$EnableMilterRegex}\n";
    echo "Greylist Milter....: {$MilterGreyListEnabled}\n";
    if ($SpamAssMilterEnabled == 1) {
        $php = $unix->LOCATE_PHP5_BIN();
        milters_progress("{checking} {APP_SPAMASS_MILTER}", 41);
        shell_exec("{$php} /usr/share/artica-postfix/exec.initslapd.php --milter-spamass");
        milters_progress("{starting} {APP_SPAMASS_MILTER}", 42);
        system("/etc/init.d/spamass-milter restart");
        milters_progress("{starting} {APP_SPAMASS_MILTER}", 43);
        system("/etc/init.d/spamassassin restart");
    }
    if ($EnableMilterRegex == 1) {
        $php = $unix->LOCATE_PHP5_BIN();
        milters_progress("{checking} {milter_regex}", 45);
        shell_exec("{$php} /usr/share/artica-postfix/exec.initslapd.php --milter-regex");
        milters_progress("{starting} {milter_regex}", 46);
        system("/etc/init.d/milter-regex restart");
    }
    if ($MilterGreyListEnabled == 1) {
        $php = $unix->LOCATE_PHP5_BIN();
        milters_progress("{restarting} GreyList", 47);
        system("/etc/init.d/milter-greylist restart");
    }
    milters_progress("{reloading}", 90);
    ReloadPostfix(true);
    milters_progress("{done}", 100);
}
function CheckCLamavMilter()
{
    $users = new usersMenus();
    $sock = new sockets();
    $ClamavMilterEnabled = intval(trim($sock->GET_INFO("ClamavMilterEnabled")));
    $array = smtpd_milters();
    if ($array["clamav-milter.ctl"] != null) {
        if ($ClamavMilterEnabled == 0) {
            events("CheckCLamavMilter():: clamav-milter is disabled but found in main.cf, remove it");
            smtpd_milters_remove("clamav-milter.ctl");
            return;
        }
    }
    if ($array["clamav-milter.ctl"] == null) {
        if ($ClamavMilterEnabled == 1) {
            events("CheckCLamavMilter():: clamav-milter is enabled but not found in main.cf, add it");
            smtpd_milters_add("clamav-milter.ctl", "unix:/var/spool/postfix/var/run/clamav/clamav-milter.ctl");
            return;
        }
    }
}
if ($argv[1] == '--restricted-domains') {
    restrict_relay_domains();
    exit;
}
if ($argv[1] == '--debug-peer-list') {
    debug_peer_list();
    ReloadPostfix(true);
    die;
}
if ($argv[1] == '--badnettr') {
    badnettr($argv[2], $argv[3], $argv[4]);
    ReloadPostfix(true);
    die;
}
if ($argv[1] == '--milters') {
    smtpd_milters();
    RestartPostix();
    die;
}
if ($argv[1] == '--cleanup') {
    CleanUpMainCf();
    die;
}
if ($argv[1] == '--restrictions') {
    smtpd_recipient_restrictions();
    ReloadPostfix(true);
    die;
}
function SEND_PROGRESS($POURC, $text, $error = null)
{
    $cache = "/usr/share/artica-postfix/ressources/logs/web/POSTFIX_COMPILES";