diff options
author | Renato Botelho <renato@netgate.com> | 2015-08-28 09:06:16 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-08-28 09:06:16 -0300 |
commit | fe1f8e57ce57b879157ec264028248c31efd09a6 (patch) | |
tree | 005aa548793217513c422268a833b9bdaeed141f /config/havp/antivirus.php | |
parent | 87fe4d5df4d880f2a438911e1b16a8cd13d1cc04 (diff) | |
parent | 1e0a80077d0d4b0672fcc7a57d7d197d935ad59d (diff) | |
download | pfsense-packages-fe1f8e57ce57b879157ec264028248c31efd09a6.tar.gz pfsense-packages-fe1f8e57ce57b879157ec264028248c31efd09a6.tar.bz2 pfsense-packages-fe1f8e57ce57b879157ec264028248c31efd09a6.zip |
Merge pull request #1026 from doktornotor/patch-6
Diffstat (limited to 'config/havp/antivirus.php')
-rw-r--r-- | config/havp/antivirus.php | 644 |
1 files changed, 327 insertions, 317 deletions
diff --git a/config/havp/antivirus.php b/config/havp/antivirus.php index bf5f1879..1c1fc7cc 100644 --- a/config/havp/antivirus.php +++ b/config/havp/antivirus.php @@ -1,383 +1,393 @@ <?php -/* $Id$ */ /* - antivirus.php - Copyright (C) 2010 Serg Dvoriancev - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. + antivirus.php + part of pfSense (https://www.pfSense.org/) + Copyright (C) 2009-2010 Sergey Dvoriancev <dv_serg@mail.ru> + Copyright (C) 2014 Andrew Nikitin <andrey.b.nikitin@gmail.com>. + Copyright (C) 2015 ESF, LLC + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. */ - require_once("guiconfig.inc"); require_once("pkg-utils.inc"); require_once("service-utils.inc"); - -include("head.inc"); - -header("Content-type: text/html; charset=utf-8"); +require_once("/usr/local/pkg/havp.inc"); $pgtitle = "Antivirus: General page"; +include("head.inc"); -if (file_exists("/usr/local/pkg/havp.inc")) - require_once("/usr/local/pkg/havp.inc"); -else echo "No havp.inc found"; - -define('PATH_CLAMDB', '/var/db/clamav'); -define('PATH_HAVPLOG', '/var/log/havp/access.log'); +define('PATH_CLAMDB', '/var/db/clamav'); +define('PATH_HAVPLOG', '/var/log/havp/access.log'); define('PATH_AVSTATUS', '/var/tmp/havp.status'); -function get_avdb_info() -{ - $r = ''; - $path = PATH_CLAMDB . "/{$filename}"; - $fl = get_dir(PATH_CLAMDB . "/"); - - array_shift($fl); - array_shift($fl); - - foreach ($fl as $fname) { - $path = PATH_CLAMDB . "/{$fname}"; - $ext = end(explode(".", $fname)); - - if ( $ext == "cvd" || $ext == "cld") { - $stl = "style='padding-top: 0px; padding-bottom: 0px; padding-left: 4px; padding-right: 4px; border-left: 1px solid #999999;'"; - if (file_exists($path)) { - $handle = ''; - if ($handle = fopen($path, "r")) { - $fsize = sprintf("%.2f M", filesize($path)/1024/1024); - - $s = fread($handle, 1024); - $s = explode(':', $s); - - # datetime - $dt = explode(" ", $s[1]); - $s[1] = strftime("%Y.%m.%d", strtotime("{$dt[0]} {$dt[1]} {$dt[2]}")); - if ($s[0] == 'ClamAV-VDB') - $r .= "<tr class='listr'><td $stl>{$fname}</td><td $stl>{$s[1]}</td><td $stl align='right'>$fsize</td><td $stl align='right'>{$s[2]}</td><td $stl align='right'>{$s[3]}</td><td $stl>{$s[7]}</td></tr>"; - } - fclose($handle); - } - } - } - - return $r; -} - -function get_av_statistic() -{ - return function_exists("havp_get_av_statistic") ? havp_get_av_statistic() : "Function 'havp_get_av_statistic' not found."; +function get_avdb_info() { + $r = ''; + $path = PATH_CLAMDB . "/{$filename}"; + $fl = get_dir(PATH_CLAMDB . "/"); + + array_shift($fl); + array_shift($fl); + + foreach ($fl as $fname) { + $path = PATH_CLAMDB . "/{$fname}"; + $ext = end(explode(".", $fname)); + + if ($ext == "cvd" || $ext == "cld") { + $stl = "style='padding-top: 0px; padding-bottom: 0px; padding-left: 4px; padding-right: 4px; border-left: 1px solid #999999;'"; + if (file_exists($path)) { + $handle = ''; + if ($handle = fopen($path, "r")) { + $fsize = sprintf("%.2f M", filesize($path)/1024/1024); + + $s = fread($handle, 1024); + $s = explode(':', $s); + + // datetime + $dt = explode(" ", $s[1]); + $s[1] = strftime("%Y.%m.%d", strtotime("{$dt[0]} {$dt[1]} {$dt[2]}")); + if ($s[0] == 'ClamAV-VDB') { + $r .= "<tr class='listr'><td $stl>{$fname}</td><td $stl>{$s[1]}</td><td $stl align='right'>$fsize</td><td $stl align='right'>{$s[2]}</td><td $stl align='right'>{$s[3]}</td><td $stl>{$s[7]}</td></tr>"; + } + } + fclose($handle); + } + } + } + + return $r; } -function get_av_viruslog() -{ - return function_exists("havp_get_av_viruslog") ? havp_get_av_viruslog() : "Function 'havp_get_av_viruslog' not found."; +function get_av_statistic() { + return function_exists("havp_get_av_statistic") ? havp_get_av_statistic() : "Function 'havp_get_av_statistic' not found."; } -function get_scanlist() -{ - return function_exists("havp_get_filescanlist") ? havp_get_filescanlist() : "Function 'havp_get_filescanlist()' not found."; +function get_av_viruslog() { + return function_exists("havp_get_av_viruslog") ? havp_get_av_viruslog() : "Function 'havp_get_av_viruslog' not found."; } -function get_scan_log() -{ - $s = function_exists("havp_get_scan_log") ? havp_get_scan_log() : "Function 'havp_get_scan_log()' not found."; - $s = str_replace("\n", "<br>", $s); - return $s; +function get_scanlist() { + return function_exists("havp_get_filescanlist") ? havp_get_filescanlist() : "Function 'havp_get_filescanlist()' not found."; } -function pfsense_version_A() -{ - return function_exists("pfsense_version_") ? pfsense_version_() : 1; +function get_scan_log() { + $s = function_exists("havp_get_scan_log") ? havp_get_scan_log() : "Function 'havp_get_scan_log()' not found."; + $s = str_replace("\n", "<br />", $s); + return $s; } -function havp_status() -{ - $s = ""; - if (HVDEF_HAVP_STATUS_FILE && file_exists(HVDEF_HAVP_STATUS_FILE)) - $s = file_get_contents(HVDEF_HAVP_STATUS_FILE); - return $s; +function havp_status() { + $s = ""; + if (HVDEF_HAVP_STATUS_FILE && file_exists(HVDEF_HAVP_STATUS_FILE)) { + $s = file_get_contents(HVDEF_HAVP_STATUS_FILE); + } + return $s; } -function clamd_status() -{ - $s = ""; - if (HVDEF_CLAM_STATUS_FILE && file_exists(HVDEF_CLAM_STATUS_FILE)) - $s = file_get_contents(HVDEF_CLAM_STATUS_FILE); - return $s; +function clamd_status() { + $s = ""; + if (HVDEF_CLAM_STATUS_FILE && file_exists(HVDEF_CLAM_STATUS_FILE)) { + $s = file_get_contents(HVDEF_CLAM_STATUS_FILE); + } + return $s; } -function avupdate_status() -{ - $s = "Not found."; - if (HVDEF_UPD_STATUS_FILE && file_exists(HVDEF_UPD_STATUS_FILE)) - $s = file_get_contents(HVDEF_UPD_STATUS_FILE); - return str_replace( "\n", "<br>", $s ); +function avupdate_status() { + $s = "Not found."; + if (HVDEF_UPD_STATUS_FILE && file_exists(HVDEF_UPD_STATUS_FILE)) { + $s = file_get_contents(HVDEF_UPD_STATUS_FILE); + } + return str_replace( "\n", "<br />", $s ); } -# ------------------------------------------------------------------------------ - -/* start service */ -if($_POST['start'] != '') { - #start_service($_POST['start']); - if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { - mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " start"); - sleep(3); - } -} else -/* restart service */ -if($_POST['restart'] != '') { - #restart_service($_POST['restart']); - if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { - mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " restart"); - sleep(3); - } -} else -/* stop service */ -if($_POST['stop'] != '') { - #stop_service($_POST['stop']); - if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { - mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " stop"); - sleep(3); - } +/* ------------------------------------------------------------------------------ */ + +/* Start service */ +if ($_POST['start'] != '') { + // start_service($_POST['start']); + if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { + mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " start"); + sleep(3); + } +/* Restart service */ +} elseif ($_POST['restart'] != '') { + // restart_service($_POST['restart']); + if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { + mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " restart"); + sleep(3); + } +/* Stop service */ +} elseif ($_POST['stop'] != '') { + // stop_service($_POST['stop']); + if (file_exists(HVDEF_HAVP_STARTUP_SCRIPT)) { + mwexec_bg (HVDEF_HAVP_STARTUP_SCRIPT . " stop"); + sleep(3); + } } /* Scan start */ if ($_POST['scanpath'] != '') { $scandir = $_POST['scanpath']; - if(function_exists("start_antivirus_scanner")) { + if (function_exists("start_antivirus_scanner")) { start_antivirus_scanner($scandir); - } - else echo "No 'start_antivirus_scanner' function found."; + } } /* Start AV Update */ if ($_POST['startupdate'] != '') { - if( function_exists("havp_update_AV")) { - havp_update_AV(); - } -# else echo "No 'start_antivirus_scanner' function found."; + if (function_exists("havp_update_AV")) { + havp_update_AV(); + } } /* Clear havp access log */ if ($_POST['clearlog_x'] != '') { - file_put_contents(HVDEF_HAVP_ACCESSLOG, ''); + file_put_contents(HVDEF_HAVP_ACCESSLOG, ''); } -# ------------------------------------------------------------------------------ +/* ------------------------------------------------------------------------------ */ ?> <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> <?php include("fbegin.inc"); ?> -<?php -if (pfsense_version_A() == '1') { - echo "<p class=\"pgtitle\">$pgtitle</p>"; -} -?> - <form action="antivirus.php" method="post"> <?php if ($savemsg) print_info_box($savemsg); ?> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <!-- Tabs --> - <tr> - <td> +<tr><td> <?php $tab_array = array(); $tab_array[] = array(gettext("General page"), true, "antivirus.php"); - $tab_array[] = array(gettext("HTTP proxy"), false, "pkg_edit.php?xml=havp.xml&id=0"); - $tab_array[] = array(gettext("Settings"), false, "pkg_edit.php?xml=havp_avset.xml&id=0"); + $tab_array[] = array(gettext("HTTP proxy"), false, "pkg_edit.php?xml=havp.xml"); + $tab_array[] = array(gettext("Settings"), false, "pkg_edit.php?xml=havp_avset.xml"); $tab_array[] = array(gettext("HAVP Log"), false, "havp_log.php"); display_top_tabs($tab_array); ?> - </td> - </tr> - <tr><td><div id="mainarea"><table width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td class="tabcont" valign="top"> - <table width="100%" border="0" cellpadding="0" cellspacing="0"> -<!-- Service --> - <tr> - <td class="listhdrr">Service</td> - <td class="listhdrr">Status </td> - <td class="listhdrr"> </td> - <td class="listhdrr">Version</td> -<!-- <td class="listhdrr">Settings</td> --> - </tr> - <tr> - <td class="listlr">HTTP Antivirus Proxy ( <?php echo(havp_status()); ?> )</td> - <td class="listr" ><center> - <?php - $running = (is_service_running("havp", $ps) or is_process_running("havp")); - if ($running) - echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_pass.gif\" > Running"; - else echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_block.gif\"> Stopped"; - ?> - </td> - <td class="listr" nowrap> - <?php - if($running) { - echo "<input title='Restart Service' name='restart' type='image' value='havp' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_restart.gif'>"; - echo " "; - echo "<input title='Stop Service' name='stop' type='image' value='havp' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_stop.gif'>"; - } else echo "<input title='Start Service' name='start' type='image' value='havp' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_start.gif'>"; - ?> - </td> - <td class="listr"> - <?php echo exec("pkg_info | grep \"[h]avp\""); ?> - </td> -<!-- - <td class="listr"> - <a href="/pkg_edit.php?xml=havp.xml&id=0"> - <?php echo "<input height=14 title='Show Proxy settings page' name='scan' type='image' value='scan' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_start.gif'>"; ?> - <font size="2"> Proxy Settings</size> - </a> - </td> ---> - </tr> - <tr> - <td class="listlr">Antivirus Server ( <?php echo(clamd_status()); ?> )</td> - <td class="listr"><center> - <?php - $running = (is_service_running("clamd", $ps) or is_process_running("clamd")); - if ($running) - echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_pass.gif\" > Running"; - else echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_block.gif\"> Stopped"; - ?> - </td> - <td class="listr"> </td> - <td class="listr"> - <?php echo exec("clamd -V"); ?> - </td> -<!-- - <td class="listr"> - <a href="/pkg_edit.php?xml=havp_avset.xml&id=0"> - <?php echo "<input height=14 title='Show Antivirus settings page' name='scan' type='image' value='scan' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_start.gif'>"; ?> - <font size="2"> Antivirus Settings</size> - </a> - </td> ---> - </tr> - - <tr><td> </td></tr> -<!-- Update --> - <tr> - <td class="listhdrr" colspan="3">Antivirus Update</td> - <td class="listhdrr" colspan="1">Update status</td></tr> - </tr> - <tr> - <td class="listlr" colspan="3" nowrap> - <?php echo "<input height=14 title='Start antivirus update' name='startupdate' type='image' value='startupdate' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_start.gif'>"; ?> - <font size="-1"> Start Update</font> - </td> - <td class="listr" colspan="1"> - <?php echo avupdate_status(); ?> - </td> - </tr> - <tr> - <td class="listlr"colspan="3">Antivirus Base Info</td> - <td colspan="1"> - <table width="100%" border="0" cellspacing="0" cellpadding="1" ><tbody> - <tr align="center"><td class="listhdrr">Database</td><td class="listhdrr">Date</td><td class="listhdrr">Size</td><td class="listhdrr">Ver.</td><td class="listhdrr">Signatures</td><td class="listhdrr">Builder</td></tr> - <?php echo get_avdb_info(); ?> - </tbody></table> - </td> - </tr> - <tr><td> </td></tr> -<!-- File Scanner --> - <tr> - <td class="listhdrr" colspan="3">File scanner</td> - <td class="listhdrr" colspan="1">Scanner status</td> - </tr> - <tr> - <td class="vtable" colspan="3"> - <table width="100%" border="0" cellpadding="6" cellspacing="0"> - <tr> - <td class="listlr"> - Path: <br> - <input size="60%" id="scanpath" name="scanpath" value=""><br> - Enter file path or catalog for scanning. - <hr> - <?php - $scanlist = get_scanlist(); - if (is_array($scanlist)) - foreach($scanlist as $scan) { - echo "<span onclick=\"document.getElementById('scanpath').value='{$scan['path']}';\" style=\"cursor: pointer;\">\n"; - echo "<img src='./themes/".$g['theme']."/images/icons/icon_pass.gif'>\n"; - echo "<u>{$scan['descr']}</u>\n"; - echo "</span>"; - echo "<br>"; - } - ?> - </td> - </tr> - <tr> - <td class="vncellr" nowrap> - <?php echo "<input height=14 title='Scan selected file or catalog' name='scan' type='image' value='scan' border=0 src='./themes/".$g['theme']."/images/icons/icon_service_start.gif'>"; ?> - <font size="-1"> Start Scanner</font> - </td> - </tr> - </table> - </td> - <td class="listr" colspan="1"> - <?php echo get_scan_log(); ?> - </td> - </tr> - <tr><td> </td></tr> -<!-- Last Viruses --> - <tr> - <td colspan="4"> - <table width="100%" border="0" cellspacing="0" cellpadding="1" ><tbody> - <tr class="vncellt"><td class="listhdrr" colspan="4">Last Viruses</td></tr> - <?php - $count = 30; - $stl = "style='padding-right: 4px;'"; - $s = get_av_viruslog(); - krsort($s); # reverse sort - if (is_array($s) && !empty($s)) { - foreach($s as $val) { - if (!$count) break; - $ln = explode(' ', $val); - echo "<tr><td nowrap $stl>{$ln[0]} {$ln[1]}</td><td nowrap $stl>{$ln[2]}</td><td>{$ln[5]}</td><td nowrap>{$ln[9]}</td></tr>"; - $count--; - } - } - else echo "<tr><td $stl>Not found</td></tr>"; - ?> - <tr class="listr"><td class="listr" colspan="4"><?php echo get_av_statistic(); ?><?php echo "<div style='float:right;'><input title='Clear antivirus log' name='clearlog' type='image' value='havp' border=0 src='./themes/".$g['theme']."/images/icons/icon_x.gif'>"; ?><font size="-1"> Clear log</font></div></td></tr> - </tbody></table> - </td> - </tr> - </table> - </td> - </tr> +</td></tr> +<tr><td> +<div id="mainarea"><table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr><td class="tabcont" valign="top"> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <!-- Service --> + <tr> + <td class="listhdrr">Service</td> + <td class="listhdrr">Status </td> + <td class="listhdrr"> </td> + <td class="listhdrr">Version</td> + <!-- <td class="listhdrr">Settings</td> --> + </tr> + <tr> + <td class="listlr">HTTP Antivirus Proxy ( <?php echo(havp_status()); ?> )</td> + <td class="listr" ><center> + <?php + $running = (is_service_running("havp", $ps) or is_process_running("havp")); + if ($running) { + echo "<img src=\"/themes/" . $g['theme'] . "/images/icons/icon_pass.gif\" alt=\"\" /> Running"; + } else { + echo "<img src=\"/themes/" . $g['theme'] . "/images/icons/icon_block.gif\" alt=\"\" /> Stopped"; + } + ?> + </td> + <td class="listr" nowrap="nowrap"> + <?php + if ($running) { + echo "<input title='Restart Service' name='restart' type='image' value='havp' src='./themes/" . $g['theme'] . "/images/icons/icon_service_restart.gif' />"; + echo " "; + echo "<input title='Stop Service' name='stop' type='image' value='havp' src='./themes/" . $g['theme'] . "/images/icons/icon_service_stop.gif' />"; + } else { + echo "<input title='Start Service' name='start' type='image' value='havp' src='./themes/" . $g['theme'] . "/images/icons/icon_service_start.gif' />"; + } + ?> + </td> + <td class="listr"> + <!-- Obviously broken on any 2.2+ version --> + <?php echo exec("pkg_info | grep \"[h]avp\""); ?> + </td> + <!-- + <td class="listr"> + <a href="/pkg_edit.php?xml=havp.xml"> + <?php echo "<input height='14' title='Show Proxy settings page' name='scan' type='image' value='scan' src='./themes/" . $g['theme'] . "/images/icons/icon_service_start.gif' />"; ?> + Proxy Settings + </a> + </td> + --> + </tr> + <tr> + <td class="listlr">Antivirus Server ( <?php echo(clamd_status()); ?> )</td> + <td class="listr"><center> + <?php + $running = (is_service_running("clamd", $ps) or is_process_running("clamd")); + if ($running) { + echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_pass.gif\" alt=\"\" /> Running"; + } else { + echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_block.gif\" alt=\"\" /> Stopped"; + } + ?> + </td> + <td class="listr"> </td> + <td class="listr"> + <?php echo exec("clamd -V"); ?> + </td> + <!-- + <td class="listr"> + <a href="/pkg_edit.php?xml=havp_avset.xml"> + <?php echo "<input height='14' title='Show Antivirus settings page' name='scan' type='image' value='scan' src='./themes/" . $g['theme'] . "/images/icons/icon_service_start.gif' />"; ?> + Antivirus Settings + </a> + </td> + --> + </tr> + + <tr><td> </td></tr> + <!-- Update --> + <tr> + <td class="listhdrr" colspan="3">Antivirus Update</td> + <td class="listhdrr" colspan="1">Update Status</td> + </tr> + <tr> + <td class="listlr" colspan="3" nowrap="nowrap"> + <?php echo "<input height='14' title='Start antivirus update' name='startupdate' type='image' value='startupdate' src='./themes/" . $g['theme'] . "/images/icons/icon_service_start.gif' />"; ?> + Start Update + </td> + <td class="listr" colspan="1"> + <?php echo avupdate_status(); ?> + </td> + </tr> + <tr> + <td class="listlr"colspan="3">Antivirus Base Info</td> + <td colspan="1"> + <table width="100%" border="0" cellspacing="0" cellpadding="1" ><tbody> + <tr align="center"> + <td class="listhdrr">Database</td> + <td class="listhdrr">Date</td> + <td class="listhdrr">Size</td> + <td class="listhdrr">Ver.</td> + <td class="listhdrr">Signatures</td> + <td class="listhdrr">Builder</td> + </tr> + <?php echo get_avdb_info(); ?> + </tbody></table> + </td> + </tr> + + <tr><td> </td></tr> + <!-- File Scanner --> + <tr> + <td class="listhdrr" colspan="3">File Scanner</td> + <td class="listhdrr" colspan="1">Scanner Status</td> + </tr> + <tr> + <td class="vtable" colspan="3"> + <table width="100%" border="0" cellpadding="6" cellspacing="0"> + <tr> + <td class="listlr"> + Path: <br /> + <input size="60%" id="scanpath" name="scanpath" value="" /><br /> + Enter file path or catalog for scanning. + <hr /> + <?php + $scanlist = get_scanlist(); + if (is_array($scanlist)) { + foreach ($scanlist as $scan) { + echo "<span onclick=\"document.getElementById('scanpath').value='{$scan['path']}';\" style=\"cursor: pointer;\">\n"; + echo "<img src='./themes/" . $g['theme'] . "/images/icons/icon_pass.gif' alt='' />\n"; + echo "<span style='text-decoration: underline;'>{$scan['descr']}</span>\n"; + echo "</span>"; + echo "<br />"; + } + } + ?> + </td> + </tr> + <tr> + <td class="vncellr" nowrap="nowrap"> + <?php echo "<input height='14' title='Scan selected file or catalog' name='scan' type='image' value='scan' src='./themes/" . $g['theme'] . "/images/icons/icon_service_start.gif' />"; ?> + Start Scanner + </td> + </tr> + </table> + </td> + <td class="listr" colspan="1"> + <?php echo get_scan_log(); ?> + </td> + </tr> + + <tr><td> </td></tr> + <!-- Last Viruses --> + <tr> + <td colspan="4"> + <table width="100%" border="0" cellspacing="0" cellpadding="1" > + <tbody> + <tr class="vncellt"> + <td class="listhdrr" colspan="4">Last Viruses</td> + </tr> + <?php + $count = 30; + $stl = "style='padding-right: 4px;'"; + $s = get_av_viruslog(); + // reverse sort + krsort($s); + if (is_array($s) && !empty($s)) { + foreach ($s as $val) { + if (!$count) { + break; + } + $ln = explode(' ', $val); + echo "<tr><td nowrap='nowrap' $stl>{$ln[0]} {$ln[1]}</td><td nowrap='nowrap' $stl>{$ln[2]}</td><td>{$ln[5]}</td><td nowrap='nowrap'>{$ln[9]}</td></tr>"; + $count--; + } + } else { + echo "<tr><td $stl>Not found</td></tr>"; + } + ?> + <tr class="listr"> + <td class="listr" colspan="4"> + <?php echo get_av_statistic(); ?> + <?php echo "<div style='float: right;'><input title='Clear antivirus log' name='clearlog' type='image' value='havp' src='./themes/" . $g['theme'] . "/images/icons/icon_x.gif' />"; ?> Clear log</div> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + </table> + +</td></tr> +</table> + +</div> + +</tr></td> </table> -</div></tr></td></table> </form> <?php include("fend.inc"); ?> -<script type="text/javascript"> - NiftyCheck(); - Rounded("div#mainarea","bl br","#FFF","#eeeeee","smooth"); +<script type="text/javascript"> +//<![CDATA[ + NiftyCheck(); + Rounded("div#mainarea","bl br","#FFF","#eeeeee","smooth"); +//]]> </script> </body> |