]> git.ipfire.org Git - thirdparty/AWStats.git/commitdiff
webmin: Change to test if geoip data file exists.
authoreldy <>
Sat, 1 Jan 2005 21:49:10 +0000 (21:49 +0000)
committereldy <>
Sat, 1 Jan 2005 21:49:10 +0000 (21:49 +0000)
tools/webmin/awstats/geoip_info.cgi

index b2a0d5d541566154d4daf6141b8340272ef7b22b..888d4d3acfbfa33488b082ec2a1d2879a7e73f66 100644 (file)
@@ -19,40 +19,54 @@ print "<hr>\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 <b>".$in{'file'}."</b><br><br>\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'}<br>\n";
-binmode GEOIPFILE;
-seek(GEOIPFILE,$seekpos,0);
-my $nbread=0;
-while (($nbread < 100) && ($line=<GEOIPFILE>)) {
-    $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: <b>$type</b><br>\n";
+    print "Geoip data file size: <b>$size</b> bytes<br>\n";
+    printf("Geoip data file date: <b>%04s-%02s-%02s %02s:%02s:%02s</b><br>\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=<GEOIPFILE>)) {
+                $nbread++;
+                if ($line =~ /(Geo-.*)Copyright/i) { 
+                    $version=$1;
+                    last;
+                }
+            }
+            close (GEOIPFILE);
+        }
     }
-}
-close (GEOIPFILE);
-
+    
+    print "Geoip data file version: <b>$version</b><br>\n";
 
+} else {
+    print "GeoIP datafile <b>$in{'file'}</b> does not exist or can not be read.<br>\n";
+}
 
-print "Geoip data file type: <b>$type</b><br>\n";
-print "Geoip data file size: <b>$size</b> bytes<br>\n";
-printf("Geoip data file date: <b>%04s-%02s-%02s %02s:%02s:%02s</b><br>\n",$year,$month,$day,$hour,$min,$sec);
-print "Geoip data file version: <b>$version</b><br>\n";
 
-print "<br><br>\n";
+print "<br>\n";
 
 # Back to config list
 print "<hr>\n";