function postfix_status()
{
    $user = new usersMenus();
    if (!$user->POSTFIX_INSTALLED) {
        return null;
    }
    $user->LoadModulesEnabled();
    $q = new mysql();
    $fetchmail_count = 0;
    if ($user->fetchmail_installed) {
        BuildingExecRightStatus("Building fetchmail statistics...", 25);
        $sql = "SELECT COUNT(ID) as tcount FROM `fetchmail_events` WHERE DATE_FORMAT(zDate,'%Y-%m-%d')=DATE_FORMAT( NOW( ) ,'%Y-%m-%d' )";
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
        $fetchmail_count = $ligne["tcount"];
        $sql = "SELECT SUM(size) as tcount FROM `fetchmail_events` WHERE DATE_FORMAT(zDate,'%Y-%m-%d')=DATE_FORMAT( NOW( ) ,'%Y-%m-%d' )";
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
        $fetchmail_size = FormatBytes($ligne["tcount"] / 1024);
        events("fetchmail_count={$fetchmail_count}, fetchmail_size={$fetchmail_size}");
    } else {
        events('Fetchmail is not installed');
    }
    BuildingExecRightStatus("Building storage statistics...", 30);
    $sql = "SELECT COUNT( MessageID ) as tcount FROM storage WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) ";
    $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup'));
    $backuped_mails = $ligne["tcount"];
    BuildingExecRightStatus("Building quarantine statistics...", 35);
    $sql = "SELECT COUNT( MessageID ) as tcount FROM quarantine WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) ";
    $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_backup'));
    $quarantine_mails = $ligne["tcount"];
    BuildingExecRightStatus("Building messages number statistics...", 40);
    $sql = "SELECT COUNT(ID) as tcount FROM `smtp_logs` WHERE DATE_FORMAT( time_sended, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' )";
    $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
    $flow_mails = $ligne["tcount"];
    if ($user->cyrus_imapd_installed) {
        BuildingExecRightStatus("Building imap/pop3 number statistics...", 45);
        $sql = "SELECT COUNT(ID) as tcount FROM `mbx_con` WHERE DATE_FORMAT( zDate, '%Y-%m-%d' ) = DATE_FORMAT( NOW( ) , '%Y-%m-%d' )";
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
        $mbx_con = $ligne["tcount"];
        $mbx_con = "<tr>\n\t\t\t<td class=legend nowrap>{mbx_con}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$mbx_con} {connections}</td>\n\t\t</tr>";
    }
    if ($fetchmail_count > 0) {
        $fetchmail = "<tr>\n\t\t\t<td class=legend nowrap>{fetchmail_recup}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$fetchmail_count} {emails} ({$fetchmail_size})</td>\n\t\t</tr>";
    }
    $html = "\n\t<H5>Postfix:&nbsp;{today}</h5>\n\t<table class=table_form>\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{received_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$flow_mails}</td>\n\t\t</tr>\n\t\t{$mbx_con}\t\n\t\t{$fetchmail}\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{backuped_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$backuped_mails}</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td class=legend nowrap>{quarantine_mails}:</td>\n\t\t\t<td style='font-size:12px;font-weight:bold'>{$quarantine_mails}</td>\n\t\t</tr>\n\t</table>\n\t\t\t\t\t\t\n\t\n\t";
    if ($user->AMAVIS_INSTALLED) {
        if ($user->EnableAmavisDaemon) {
            BuildingExecRightStatus("Building Amavis statistics...", 50);
            $ini = new Bs_IniHandler();
            $sock = new sockets();
            $ini->loadString($sock->getfile('amavisstatus'));
            $status_amavis = DAEMON_STATUS_ROUND("AMAVISD", $ini, null);
            $status_amavismilter = DAEMON_STATUS_ROUND("AMAVISD_MILTER", $ini, null);
            $status = "<br>{$status_amavis}<br>{$status_amavismilter}";
        }
    }
    $html = RoundedLightGrey($html) . $status . "<br>";
    file_put_contents('/usr/share/artica-postfix/ressources/logs/status.postfix.flow.html', $html);
    system('/bin/chmod 755 /usr/share/artica-postfix/ressources/logs/status.postfix.flow.html');
    BuildingExecRightStatus("Building done...", 100);
}
Exemplo n.º 2
0
function buildFrontEnd()
{
    if (isset($_GET["right"])) {
        $cmd = LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.smtp.flow.status.php --force";
        error_log($cmd . " " . __FILE__);
        BuildingExecRightStatus("Scheduled", 10);
        NOHUP_EXEC(LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.smtp.flow.status.php --force");
        return null;
    }
    BuildingExecStatus("Scheduled", 10);
    error_log("[{$_SESSION["uid"]}]::schedule commande " . LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.status.postfix.flow.php --force");
    NOHUP_EXEC(LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.status.postfix.flow.php --force");
}
Exemplo n.º 3
0
function buildFrontEnd()
{
    if (isset($_GET["right"])) {
        $cmd = LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.smtp.flow.status.php --force";
        error_log($cmd . " " . __FILE__);
        BuildingExecRightStatus("Scheduled", 10);
        sys_THREAD_COMMAND_SET(LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.smtp.flow.status.php --force");
        return null;
    }
    BuildingExecStatus("Scheduled", 10);
    error_log("schedule commande " . LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.status.postfix.flow.php --force");
    sys_THREAD_COMMAND_SET(LOCATE_PHP5_BIN2() . " /usr/share/artica-postfix/exec.admin.status.postfix.flow.php --force");
}
    ini_set('error_append_string', null);
}
if ($argv[1] == '--force') {
    $_GET["FORCE_EXECUTION"] = true;
}
if ($argv[1] == '--services') {
    die;
}
if ($argv[1] == '--versions') {
    versions();
    die;
}
if (!Build_pid_func(__FILE__, "MAIN")) {
    events("Already executed.. aborting the process");
    error_log(basename(__FILE__) . " Already executed.. aborting the process");
    BuildingExecRightStatus("Already executed.. aborting the process", 100);
    die;
}
if (systemMaxOverloaded()) {
    writelogs("This system is too many overloaded, die()", __FUNCTION__, __FILE__, __LINE__);
    die;
}
if (!$_GET["FORCE_EXECUTION"]) {
    if (system_is_overloaded()) {
        events("die, overloaded");
        die;
    }
    $sock = new sockets();
    $PoolCoverPageSchedule = intval($sock->GET_INFO('PoolCoverPageSchedule'));
    if ($PoolCoverPageSchedule < 1) {
        $PoolCoverPageSchedule = 20;