]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/logs.cgi/firewalllog.dat
Multiple CGI's: Use &GeoIP::get_flag_icon for getting country flags.
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / logs.cgi / firewalllog.dat
index 66e7cc1ae1ced2518a22d6d43b5fe7b9d5150e5e..5a584d60debb6bdcd9709ea0525ca273e4db4bdc 100644 (file)
@@ -21,6 +21,7 @@ use Getopt::Std;
 #use CGI::Carp 'fatalsToBrowser';
 
 require '/var/ipfire/general-functions.pl';
+require "${General::swroot}/geoip-functions.pl";
 require "${General::swroot}/lang.pl";
 require "${General::swroot}/header.pl";
 
@@ -317,7 +318,7 @@ print <<END
         <th align='center' class='boldbase'><b>$Lang::tr{'proto'}</b></th>
         <th align='center' class='boldbase'><b>$Lang::tr{'source'}<br/>$Lang::tr{'destination'}</b></th>
         <th align='center' class='boldbase'><b>$Lang::tr{'src port'}<br />$Lang::tr{'dst port'}</b></th>
-        <th align='center' class='boldbase'><b>Flag</b></th>
+        <th align='center' class='boldbase'><b>$Lang::tr{'country'}</b></th>
         <th align='center' class='boldbase'><b>$Lang::tr{'mac address'}</b></th>
 </tr>
 END
@@ -334,13 +335,14 @@ foreach $_ (@log)
         my $comment = $3; 
         my $packet = $4;
 
-        $packet =~ /IN=(\w+)/;       my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
-        $packet =~ /SRC=([\d\.]+)/;  my $srcaddr=$1;
-        $packet =~ /DST=([\d\.]+)/;  my $dstaddr=$1;
-        $packet =~ /MAC=([\w+\:]+)/; my $macaddr=$1;
-        $packet =~ /PROTO=(\w+)/;    my $proto=$1;
-        $packet =~ /SPT=(\d+)/;      my $srcport=$1;
-        $packet =~ /DPT=(\d+)/;      my $dstport=$1;
+               my ($iface, $srcaddr, $dstaddr, $macaddr, $proto, $srcport, $dstport);
+               $iface=$1   if $packet =~ /IN=(\w+)/;
+               $srcaddr=$1 if $packet =~ /SRC=([\d\.]+)/;
+               $dstaddr=$1 if $packet =~ /DST=([\d\.]+)/;
+               $macaddr=$1 if $packet =~ /MAC=([\w+\:]+)/;
+               $proto=$1   if $packet =~ /PROTO=(\w+)/;
+               $srcport=$1 if $packet =~ /SPT=(\d+)/;
+               $dstport=$1 if $packet =~ /DPT=(\d+)/;
 
         my $gi = Geo::IP::PurePerl->new();
         my $ccode = $gi->country_code_by_name($srcaddr);
@@ -371,10 +373,15 @@ foreach $_ (@log)
         <td align='center' $col>$srcport<br/>$dstport</td>
 END
 ;
-        if ( $fcode ne "" ){
-        print "<td align='center' $col><a href='../country.cgi#$fcode'><img src='/images/flags/$fcode.png' border='0' align='absmiddle' alt='$ccode'></a></td>";}
-        else {
-        print "<td align='center' $col></td>";}
+       # Get flag icon for of the country.
+       my $flag_icon = &GeoIP::get_flag_icon($fcode);
+
+        if ( $flag_icon) {
+               print "<td align='center' $col><a href='../country.cgi#$fcode'><img src='$flag_icon' border='0' align='absmiddle' alt='$ccode'></a></td>";
+       } else {
+               print "<td align='center' $col></td>";
+       }
+
         print <<END
         <td align='center' $col>$macaddr</td>
 </tr>
@@ -406,7 +413,7 @@ if ($prev != -1) {
         print "<a href='/cgi-bin/logs.cgi/firewalllog.dat?0,$cgiparams{'MONTH'},$cgiparams{'DAY'}'>$Lang::tr{'first'}</a> "; 
         print "<a href='/cgi-bin/logs.cgi/firewalllog.dat?$prev,$cgiparams{'MONTH'},$cgiparams{'DAY'}'>$Lang::tr{'older'}</a>"; }
 else {
-        print "First $Lang::tr{'older'}"; }
+        print "$Lang::tr{'first'} $Lang::tr{'older'}"; }
 print "</td>\n";
 
 print "<td align='center' width='50%'>";
@@ -414,7 +421,7 @@ if ($next >= 0) {
         print "<a href='/cgi-bin/logs.cgi/firewalllog.dat?$next,$cgiparams{'MONTH'},$cgiparams{'DAY'}'>$Lang::tr{'newer'}</a> ";
         print "<a href='/cgi-bin/logs.cgi/firewalllog.dat?$lastPageIndex,$cgiparams{'MONTH'},$cgiparams{'DAY'}'>$Lang::tr{'last'}</a>"; }      
 else {
-        print "$Lang::tr{'newer'} Last"; }
+        print "$Lang::tr{'newer'} $Lang::tr{'last'} "; }
 print "</td>\n";
 
 print <<END