"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "wormscan-1.6.1-src/wormreport.vm" of archive wormscan-1.6.1-src.tar.gz:
#* WormScan 1.6.1 http://www.websoup.net/wormscan
# Copyright (c) 2001-2004 Andriy Rozeluk <arozeluk@websoup.net>
#
# This file is part of WormScan.
#
# WormScan is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.*#
<html>
<head>
<title>WormScan 1.6.1</title>
</head>
<body>
<center>
<table border="1">
<tr>
<td align="center" colspan="5"><a href="http://www.websoup.net/wormscan"><font color="#0000FF">WormScan 1.6.1</font></a></td>
</tr>
<tr>
<td align="center" colspan="5"><font color="#FF0000">$!{numattacks}</font> total attacks from <font color="#FF0000">$!{numhosts}</font> unique hosts</td>
</tr>
<tr>
<td align="center" colspan="5">Last updated: $!{timestamp}</td>
</tr>
<tr>
<td align="center" colspan="5">
#set( $first = 0 )
#foreach( $worm in $worms )
#if( $first == 0 )
#set( $first = 1 )
#else
<BR>
#end
$!{worm.getName()} - <font color="$!{worm.getColour()}">$!{worm.getNumAttacks()}</font> attacks
#end
</td>
</tr>
<tr>
<td align="center">
#if( $enableReportByIP )
<a href="$!{basename}_ip_desc$!{baseext}">-</a>
#end
IP
#if( $enableReportByIP )
<a href="$!{basename}_ip$!{baseext}">+</a>
#end
</td>
<td align="center">
#if( $enableReportByHostname )
<a href="$!{basename}_hostname_desc$!{baseext}">-</a>
#end
Hostname
#if( $enableReportByHostname )
<a href="$!{basename}_hostname$!{baseext}">+</a>
#end
</td>
<td align="center">
#if( $enableReportByWorm )
<a href="$!{basename}_worm_desc$!{baseext}">-</a>
#end
Worm
#if( $enableReportByWorm )
<a href="$!{basename}_worm$!{baseext}">+</a>
#end
</td>
<td align="center">
#if( $enableReportByNumattacks )
<a href="$!{basename}_numattacks_desc$!{baseext}">-</a>
#end
# Attacks
#if( $enableReportByNumattacks )
<a href="$!{basename}_numattacks$!{baseext}">+</a>
#end
</td>
<td align="center">
#if( $enableReportByDate )
<a href="$!{basename}_date_desc$!{baseext}">-</a>
#end
Time
#if( $enableReportByDate )
<a href="$!{basename}_date$!{baseext}">+</a>
#end
</td>
</tr>
#foreach( $attack in $attacks )
<tr>
<td>
#if( !${attack.getSourceOfAttack().isHostnameOnly()} )
<a href="http://$!{attack.getSourceOfAttack().getAttackIP()}">$!{attack.getSourceOfAttack().getAttackIP()}</a>
#else
<font color="lightgrey">N/A</font>
#end
</td>
<td>
#set( $hostnames = ${attack.getSourceOfAttack().getAttackHostnames()} )
#set( $wrotehostname = "no" )
#if( (${attack.getSourceOfAttack().isHostnameUnresolved()} && ${attack.getSourceOfAttack().isHostnameOnly()}) || !${attack.getSourceOfAttack().isHostnameUnresolved()} )
#foreach( $host in $hostnames )
#if( ${wrotehostname.equals("no")} )
#set( $wrotehostname = "yes" )
#else
<BR>
#end
$!{host}
#end
#if( ${wrotehostname.equals("no")} )
$!{attack.getSourceOfAttack().getAttackIP()}
#end
#else
<font color="lightgrey">N/A</font>
#end
#set( $hostnames = "" )
</td>
<td><font color="$!{attack.getAttackingWorm().getColour()}">$!{attack.getAttackingWorm().getShortName()}</font></td>
<td>$!{attack.getSourceOfAttack().getAttackCount()}</td>
<td>$!{attack.getDateOfAttack()}</td>
</tr>
#end
</table>
</center>
</body>
</html>