Ejemplo n.º 1
0
function postfix_status()
{
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>postfix_status()</H1>\n";
    }
    $page = CurrentPageName();
    $ini = new Bs_IniHandler();
    $users = new usersMenus();
    $tpl = new templates();
    $sock = new sockets();
    $stats = array();
    $createamailbox = null;
    if ($GLOBALS['VERBOSE']) {
        echo "<span style='color:red'>AsPostfixAdministrator: {$users->AsPostfixAdministrator}</span>\n";
    }
    if (!$users->AsPostfixAdministrator) {
        if ($GLOBALS['VERBOSE']) {
            echo "<h1>postfix_notadmin()</H1>\n";
        }
        return postfix_notadmin();
    }
    $version = $sock->getFrameWork("influx.php?version=yes");
    $GoToMessaging = "GoToMessaging()";
    $stat = unserialize(base64_decode($sock->getFrameWork("cmd.php?postfix-stat=yes")));
    $queues = unserialize($sock->getFrameWork("cmd.php?postfixQueues=yes"));
    $total = base64_decode($sock->getFrameWork("cmd.php?postfix-multi-postqueue=MASTER"));
    $SMTP_SUM_DOMAINS = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_DOMAINS"));
    $SMTP_SUM_CDIR = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_CDIR"));
    $SMTP_REFUSED = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_REFUSED"));
    $EnableStopPostfix = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/EnableStopPostfix"));
    $SUM_BACK = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_BACK"));
    $SUM_BACKSIZE = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_BACKSIZE"));
    $SMTP_SUM_QUAR = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_QUAR"));
    $SMTP_SUM_QUARSIZE = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_QUARSIZE"));
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_BACKSIZE = {$SUM_BACKSIZE}</H1>\n";
    }
    $MimeDefangAutoWhiteList = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/MimeDefangAutoWhiteList"));
    $MimeDefangEnabled = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/MimeDefangEnabled"));
    $MimeDefangSpamAssassin = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/MimeDefangSpamAssassin"));
    if ($MimeDefangEnabled == 0) {
        $MimeDefangAutoWhiteList = 0;
        $MimeDefangSpamAssassin = 0;
    }
    $SUM_TRANSCATS = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SUM_TRANSCATS"));
    $SUM_TRANSCATS_SIZE = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SUM_TRANSCATS_SIZE"));
    $SMTP_SUM_ATTACH = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_ATTACH"));
    $SMTP_SUM_ATTACHSIZE = intval(@file_get_contents("/usr/share/artica-postfix/ressources/smtp-cache/SMTP_SUM_ATTACHSIZE"));
    if ($users->cyrus_imapd_installed) {
        $createamailbox = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:Loadjs('create-user.php')\"\n\t\tstyle='text-decoration:underline'>\n\t\t<table style='width:100%'>\n\t\t<td width=32px><img src='img/mailbox-add-32.png'>\n\t\t<td style='font-size:18px;text-decoration:underline'>{new_mailbox}</td>\n\t\t\t\t</tr></table>\n\t\t</td>\n\t\t</tr>";
    }
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>MimeDefangEnabled={$MimeDefangEnabled}; SUM_TRANSCATS = {$SUM_TRANSCATS}</H1>\n";
    }
    if ($MimeDefangEnabled == 1) {
        if ($SUM_TRANSCATS > 0) {
            if ($GLOBALS['VERBOSE']) {
                echo "<h1> SUM_TRANSCATS - BUILD !</H1>\n";
            }
            $stats[] = "\n\t\t\t<tr>\n\t\t\t<td style='font-size:20px'>\n\t\t\t<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:GotoSMTPTransactions()\"\n\t\t\tstyle='text-decoration:underline'>{transactions}: " . FormatNumber($SUM_TRANSCATS) . "&nbsp;<span  style='font-size:16px'>" . FormatBytes($SUM_TRANSCATS_SIZE / 1024) . "</span></a></td>\n\t\t\t</tr>";
        }
        if ($SMTP_SUM_ATTACH > 0) {
            $stats[] = "\n\t\t\t<tr>\n\t\t\t<td style='font-size:20px'>\n\t\t\t<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:GotoSMTPAttachments()\"\n\t\t\tstyle='text-decoration:underline'>{attachments}: " . FormatNumber($SMTP_SUM_ATTACH) . "&nbsp;<span  style='font-size:16px'>" . FormatBytes($SMTP_SUM_ATTACHSIZE / 1024) . "</span></a></td>\n\t\t\t</tr>";
        }
    }
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>SMTP_REFUSED = {$SMTP_REFUSED}</H1>\n";
    }
    if ($SMTP_REFUSED > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoSMTPRefused()\"\n\t\tstyle='text-decoration:underline'>{refused}: " . FormatNumber($SMTP_REFUSED) . "</a></td>\n\t\t</tr>";
    }
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>SMTP_SUM_DOMAINS = {$SMTP_SUM_DOMAINS}</H1>\n";
    }
    if ($SMTP_SUM_DOMAINS > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoSMTPTableDomains()\"\n\t\tstyle='text-decoration:underline'>{domains}: " . FormatNumber($SMTP_SUM_DOMAINS) . "</a></td>\n\t\t</tr>";
    }
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>SMTP_SUM_CDIR = {$SMTP_SUM_CDIR}</H1>\n";
    }
    if ($SMTP_SUM_CDIR > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoSMTPTableCDIR()\"\n\t\tstyle='text-decoration:underline'>{networks}: " . FormatNumber($SMTP_SUM_CDIR) . "</a></td>\n\t\t</tr>";
    }
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>SUM_BACK = {$SUM_BACK}</H1>\n";
    }
    if ($SUM_BACK > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoBackupMails()\"\n\t\tstyle='text-decoration:underline'>{backuped_mails}: " . FormatNumber($SUM_BACK) . "&nbsp;(" . FormatBytes($SUM_BACKSIZE / 1024) . ")</a></td>\n\t\t</tr>";
    }
    if ($MimeDefangSpamAssassin == 1) {
        if ($SMTP_SUM_QUAR > 0) {
            $stats[] = "\n\t\t\t<tr>\n\t\t\t<td style='font-size:20px'>\n\t\t\t<a href=\"javascript:blur();\"\n\t\t\tOnClick=\"javascript:GotoQuarantineMails()\"\n\t\t\tstyle='text-decoration:underline'>{quarantine}: " . FormatNumber($SMTP_SUM_QUAR) . "&nbsp;<span  style='font-size:16px'>" . FormatBytes($SMTP_SUM_QUARSIZE / 1024) . "</span></a></td>\n\t\t\t</tr>";
        }
    }
    $q = new mysql();
    if ($MimeDefangAutoWhiteList == 1) {
        $whitelisted = $q->COUNT_ROWS("autowhite", "artica_backup");
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoAutoWhite()\"\n\t\tstyle='text-decoration:underline'>{smtp_AutoWhiteList}: " . FormatNumber($whitelisted) . " </a></td>\n\t\t</tr>";
    }
    if (is_file("{$GLOBALS["BASEDIR"]}/SMTP_TOTALS")) {
        $SMTP_TOTALS = unserialize(@file_get_contents("{$GLOBALS["BASEDIR"]}/SMTP_TOTALS"));
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{received}: " . FormatNumber($SMTP_TOTALS["received"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{delivered}: " . FormatNumber($SMTP_TOTALS["delivered"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{rejected}: " . FormatNumber($SMTP_TOTALS["rejected"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{senders}: " . FormatNumber($SMTP_TOTALS["senders"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{recipients}: " . FormatNumber($SMTP_TOTALS["recipients"]) . "</a></td>\n\t\t</tr>";
    }
    $postfix_status = $stat[0];
    $postfix_version = $stat[1];
    $icon = "disks-128-ok.png";
    $err = array();
    $errT = array();
    $c = 0;
    if (is_file(dirname(__FILE__) . '/logs/artica-backup-size.ini')) {
        $ini = new Bs_IniHandler(dirname(__FILE__) . '/logs/artica-backup-size.ini');
        if ($ini->_params["artica_backup"]["original_messages"] == null) {
            $ini->_params["artica_backup"]["original_messages"] = 0;
        }
        if ($ini->_params["artica_backup"]["attachments"] == null) {
            $ini->_params["artica_backup"]["attachments"] = 0;
        }
        $size = $ini->_params["artica_backup"]["original_messages"] + $ini->_params["artica_backup"]["attachments"];
        $size = FormatBytes($size);
        $link2 = CellRollOver("Loadjs('postfix.backup.monitoring.php')");
        if (!isset($queues["backup"])) {
            $queues["backup"] = 0;
        }
        if (!isset($queues["quarantine"])) {
            $queues["quarantine"] = 0;
        }
        $artica_backup = "<tr>\n\t\t<td align='right' {$link2} style='{$textFONTStyle}'>{backup_size}:</a>&nbsp;</td>\n\t\t<td {$link2} ><strong style='{$textFONTStyle}'>{$size}</td>\n\t\t</tr>";
        if ($queues["quarantine"] > 0) {
            $link_quarantine_progress = CellRollOver("Loadjs('postfix.quarantine.progress.php')");
        }
    }
    if ($users->cyrus_imapd_installed) {
        include_once dirname(__FILE__) . "/ressources/class.cyrus.inc";
        $cyr = new cyrus();
        if (!$cyr->TestConnection()) {
            $err[] = proxy_status_warning("{unable_to_connect_imap}", "{unable_to_connect_imap}", "Loadjs('cyrus.sync-services.progress.php')");
            $icon = "disks-128-red.png";
        }
    }
    if ($EnableStopPostfix == 1) {
        $icon = "disks-128-red.png";
        $err[] = proxy_status_warning("{messaging_stopped}", "{messaging_stopped_explain}", "Loadjs('postfix.stop.php')");
        $icon = "disks-128-red.png";
    }
    $link_corrupt = "Loadjs('postfix.corrupt.queue.php')";
    $link_incoming = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=incoming&count={$queues["incoming"]}');");
    $link_active = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=active&count={$queues["active"]}');");
    $link_deferred = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=deferred&count={$queues["deferred"]}');");
    $q = new mysql();
    $sql = "SELECT SUM(`size`) as tsize,COUNT(msgid) as tcount FROM postqueue WHERE `instance`='master'";
    if (function_exists("mysql_fetch_array")) {
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
    }
    $postfix_admin_mysql = $q->COUNT_ROWS("postfix_admin_mysql", "artica_events");
    if ($postfix_admin_mysql > 0) {
        $postfix_admin_mysql_text = "\t\t\n\t\t<td style='font-size:18px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GoToPostfixWatchdog()\"\n\t\tstyle='text-decoration:underline'>{watchdog}: {$postfix_admin_mysql} {events}</a></td>\n\t\t</tr>\n\t\t<tr><td>&nbsp;</td></tr>";
    }
    $tot = $ligne["tcount"];
    $tot_size = $ligne["tsize"] / 1024;
    $tot_size = FormatBytes($tot_size);
    if ($GLOBALS['VERBOSE']) {
        echo "<h1>stats arrayof " . count($stats) . " elements</H1>\n";
    }
    $icon = imgtootltip($icon, "position:right:{messaging}", "{$GoToMessaging}");
    $html = "\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t<td valign='top' style='width:128px' >\n\t\t{$icon}\n\t\t</td>\n\t\t<td>\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t<td style='font-size:30px'>\n\t\t" . $tpl->_ENGINE_parse_body(texttooltip("{APP_POSTFIX}", "{messaging}", "{$GoToMessaging}")) . "\n\t\t<div style='width:100%;text-align:right'><span style='font-size:16px'>{version}:{$postfix_version}</div>\n\t\t</td>\n\t\t</tr>\n\t\t{$createamailbox}\n\t\t<tr>\n\t\t\t<td colspan=2>&nbsp;</td>\n\t\t</tR>\n\t\t\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:PostfixQueueMonitoring()\"\n\t\tstyle='text-decoration:underline'>{smtp_queues}: {$tot_size}</a></td>\n\t\t</tr>{$postfix_admin_mysql_text}\n\t\t" . @implode("\n", $stats) . "\n\n\t\t{$perc_cache}\n\t\t{$SUM_FAMILYSITES_TEXT}\n\t\t" . @implode("", $errT) . "\n\t\t" . @implode("", $err) . "\n\t\t{$important_events_text}\n\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n\t\t\t";
    $html = $tpl->_ENGINE_parse_body($html);
    return $html;
}
Ejemplo n.º 2
0
function postfix_status()
{
    $page = CurrentPageName();
    $ini = new Bs_IniHandler();
    $users = new usersMenus();
    $tpl = new templates();
    $sock = new sockets();
    $version = $sock->getFrameWork("influx.php?version=yes");
    $GoToMessaging = "GoToMessaging()";
    $stats = array();
    $stat = unserialize(base64_decode($sock->getFrameWork("cmd.php?postfix-stat=yes")));
    $queues = unserialize($sock->getFrameWork("cmd.php?postfixQueues=yes"));
    $total = base64_decode($sock->getFrameWork("cmd.php?postfix-multi-postqueue=MASTER"));
    $SMTP_SUM_DOMAINS = intval(@file_get_contents("{$GLOBALS["BASEDIR"]}/SMTP_SUM_DOMAINS"));
    $SMTP_SUM_CDIR = intval(@file_get_contents("{$GLOBALS["BASEDIR"]}/SMTP_SUM_CDIR"));
    if ($SMTP_SUM_DOMAINS > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoSMTPTableDomains()\"\n\t\tstyle='text-decoration:underline'>{domains}: " . FormatNumber($SMTP_SUM_DOMAINS) . "</a></td>\n\t\t</tr>";
    }
    if ($SMTP_SUM_CDIR > 0) {
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoSMTPTableCDIR()\"\n\t\tstyle='text-decoration:underline'>{networks}: " . FormatNumber($SMTP_SUM_CDIR) . "</a></td>\n\t\t</tr>";
    }
    if (is_file("{$GLOBALS["BASEDIR"]}/SMTP_TOTALS")) {
        $SMTP_TOTALS = unserialize(@file_get_contents("{$GLOBALS["BASEDIR"]}/SMTP_TOTALS"));
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{received}: " . FormatNumber($SMTP_TOTALS["received"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{delivered}: " . FormatNumber($SMTP_TOTALS["delivered"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{rejected}: " . FormatNumber($SMTP_TOTALS["rejected"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{senders}: " . FormatNumber($SMTP_TOTALS["senders"]) . "</a></td>\n\t\t</tr>";
        $stats[] = "\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:GotoPflogsummDetails()\"\n\t\tstyle='text-decoration:underline'>{recipients}: " . FormatNumber($SMTP_TOTALS["recipients"]) . "</a></td>\n\t\t</tr>";
    }
    $postfix_status = $stat[0];
    $postfix_version = $stat[1];
    $icon = "disks-128-ok.png";
    $err = array();
    $errT = array();
    $c = 0;
    if (is_file(dirname(__FILE__) . '/logs/artica-backup-size.ini')) {
        $ini = new Bs_IniHandler(dirname(__FILE__) . '/logs/artica-backup-size.ini');
        if ($ini->_params["artica_backup"]["original_messages"] == null) {
            $ini->_params["artica_backup"]["original_messages"] = 0;
        }
        if ($ini->_params["artica_backup"]["attachments"] == null) {
            $ini->_params["artica_backup"]["attachments"] = 0;
        }
        $size = $ini->_params["artica_backup"]["original_messages"] + $ini->_params["artica_backup"]["attachments"];
        $size = FormatBytes($size);
        $link2 = CellRollOver("Loadjs('postfix.backup.monitoring.php')");
        if (!isset($queues["backup"])) {
            $queues["backup"] = 0;
        }
        if (!isset($queues["quarantine"])) {
            $queues["quarantine"] = 0;
        }
        $artica_backup = "<tr>\n\t\t<td align='right' {$link2} style='{$textFONTStyle}'>{backup_size}:</a>&nbsp;</td>\n\t\t<td {$link2} ><strong style='{$textFONTStyle}'>{$size}</td>\n\t\t</tr>";
        if ($queues["quarantine"] > 0) {
            $link_quarantine_progress = CellRollOver("Loadjs('postfix.quarantine.progress.php')");
        }
    }
    if ($users->cyrus_imapd_installed) {
        include_once dirname(__FILE__) . "/ressources/class.cyrus.inc";
        $cyr = new cyrus();
        if (!$cyr->TestConnection()) {
            $err[] = proxy_status_warning("{unable_to_connect_imap}", "{unable_to_connect_imap}", "Loadjs('cyrus.sync-services.progress.php')");
            $icon = "disks-128-red.png";
        }
    }
    $link_corrupt = "Loadjs('postfix.corrupt.queue.php')";
    $link_incoming = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=incoming&count={$queues["incoming"]}');");
    $link_active = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=active&count={$queues["active"]}');");
    $link_deferred = CellRollOver("Loadjs('postfix.queue.monitoring.php?show-queue=deferred&count={$queues["deferred"]}');");
    $q = new mysql();
    $sql = "SELECT SUM(`size`) as tsize,COUNT(msgid) as tcount FROM postqueue WHERE `instance`='master'";
    if (function_exists("mysql_fetch_array")) {
        $ligne = @mysql_fetch_array($q->QUERY_SQL($sql, 'artica_events'));
    }
    $tot = $ligne["tcount"];
    $tot_size = $ligne["tsize"] / 1024;
    $tot_size = FormatBytes($tot_size);
    $icon = imgtootltip($icon, "position:right:{messaging}", "{$GoToMessaging}");
    $html = "\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t<td valign='top' style='width:128px' >\n\t\t{$icon}\n\t\t</td>\n\t\t<td>\n\t\t<table style='width:100%'>\n\t\t<tr>\n\t\t<td style='font-size:30px'>\n\t\t" . $tpl->_ENGINE_parse_body(texttooltip("{APP_POSTFIX}", "{messaging}", "{$GoToMessaging}")) . "\n\t\t<div style='width:100%;text-align:right'><span style='font-size:16px'>{version}:{$postfix_version}</div>\n\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td colspan=2>&nbsp;</td>\n\t\t</tR>\n\t\t\n\t\t<tr>\n\t\t<td style='font-size:20px'>\n\t\t<a href=\"javascript:blur();\"\n\t\tOnClick=\"javascript:PostfixQueueMonitoring()\"\n\t\tstyle='text-decoration:underline'>{smtp_queues}: {$tot_size}</a></td>\n\t\t</tr>\n\t\t" . @implode("\n", $stats) . "\n\n\t\t{$perc_cache}\n\t\t{$SUM_FAMILYSITES_TEXT}\n\t\t" . @implode("", $errT) . "\n\t\t" . @implode("", $err) . "\n\t\t{$important_events_text}\n\t\t</table>\n\t\t</td>\n\t</tr>\n\t\t\t</table>\n\t\t\t";
    $html = $tpl->_ENGINE_parse_body($html);
    return $html;
}