From: eldy <>
Date: Sat, 1 Jan 2005 21:49:10 +0000 (+0000)
Subject: webmin: Change to test if geoip data file exists.
X-Git-Tag: AWSTATS_6_3_RELEASE~27
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c7153a8bb1319b330edff7a2dd22b9195ca31aa;p=thirdparty%2FAWStats.git
webmin: Change to test if geoip data file exists.
---
diff --git a/tools/webmin/awstats/geoip_info.cgi b/tools/webmin/awstats/geoip_info.cgi
index b2a0d5d5..888d4d3a 100644
--- a/tools/webmin/awstats/geoip_info.cgi
+++ b/tools/webmin/awstats/geoip_info.cgi
@@ -19,40 +19,54 @@ print "
\n";
my $type=$in{'type'};
my $size=-1;
-my $version='unknown';
-
-local @st=stat($in{'file'});
-my $size = $st[7];
-my ($sec,$min,$hour,$day,$month,$year,$wday,$yday) = localtime($st[9]);
-$year+=1900; $month++;
print "GeoIP information for file ".$in{'file'}."
\n";
# Try to get the GeoIP data file version at end of file
-my $seekpos=($size-100);
-if ($seekpos < 0) { $seekpos=0; }
-open(GEOIPFILE,"<$in{'file'}") || print "Failed to open file $in{'file'}
\n";
-binmode GEOIPFILE;
-seek(GEOIPFILE,$seekpos,0);
-my $nbread=0;
-while (($nbread < 100) && ($line=)) {
- $nbread++;
- if ($line =~ /(Geo-.*)Copyright/i) {
- $version=$1;
- last;
+if (-f "$in{'file'}") {
+ my @st=stat($in{'file'});
+ my $size = $st[7];
+ my ($sec,$min,$hour,$day,$month,$year,$wday,$yday) = localtime($st[9]);
+ $year+=1900; $month++;
+
+ print "Geoip data file type: $type
\n";
+ print "Geoip data file size: $size bytes
\n";
+ printf("Geoip data file date: %04s-%02s-%02s %02s:%02s:%02s
\n",$year,$month,$day,$hour,$min,$sec);
+
+ my $version='unknown';
+
+ # Try to get version from API
+
+
+
+ # Try to get version from file
+ if (! $version || $version eq 'unknown') {
+ if (open(GEOIPFILE,"<$in{'file'}")) {
+ my $seekpos=($size-100);
+ if ($seekpos < 0) { $seekpos=0; }
+ binmode GEOIPFILE;
+ seek(GEOIPFILE,$seekpos,0);
+ my $nbread=0;
+ while (($nbread < 100) && ($line=)) {
+ $nbread++;
+ if ($line =~ /(Geo-.*)Copyright/i) {
+ $version=$1;
+ last;
+ }
+ }
+ close (GEOIPFILE);
+ }
}
-}
-close (GEOIPFILE);
-
+
+ print "Geoip data file version: $version
\n";
+} else {
+ print "GeoIP datafile $in{'file'} does not exist or can not be read.
\n";
+}
-print "Geoip data file type: $type
\n";
-print "Geoip data file size: $size bytes
\n";
-printf("Geoip data file date: %04s-%02s-%02s %02s:%02s:%02s
\n",$year,$month,$day,$hour,$min,$sec);
-print "Geoip data file version: $version
\n";
-print "
\n";
+print "
\n";
# Back to config list
print "
\n";