#! /usr/bin/perl -w

print "Content-Type: text/html\n\n";
print "<html><head>\n";
print "<script type=\"text/javascript\">\n";
print "alert(\"Test\");\n";
print "</script>\n";
print "</head><body>";
print "Test asdf ökljasdf lökjasdf kljhgasdf kjasdf kjhgasdf kjhasdf kjhagsdf kjgasdf kjgasdf kjhgasdf kjhgasdf ojhagsdf lkjasdf ";
print "</body></html>";

sub nix() {
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
# use CGI qw(:standard);
use Socket;
use Date::Calc qw(Delta_DHMS);
my  $cgi = new CGI;
my ($nam, $cnt, $i, $ip, $ipn, $q, $c, $zeit, $nzeit, $oip, $ref);
my (@entr, @dt);
my $logname = "/home/lenzpaul/html/lenz/blog/zahllog.htm";
my $hlim = 29;		# minimaler Abstand (Stunden), bevor die selbe IP wieder gespeichert wird
my @spider = ("google", "yahoo", "amazonaws");
my @feld = $cgi->param();

$zeit = localtime(time());
$nzeit = &DeutschName($zeit);
$nzeit =~ /(\w+) (\d+) *(\d+) (.*?) (\d+)/;
$zeit = $3 * 1.0;
if ($zeit < 10) {$zeit = "0" . $zeit}
$zeit = "$1  $zeit.$2.$5  $4";
$dt[0][0] = $5;
$dt[0][2] = $3;
$dt[0][1] = $2;
$ip = $4;
$ip =~ /(\d+):(\d+):/;
$dt[0][3] = $1;
$dt[0][4] = $2;

# if (!= $ref) {$ref = "X"}

$ip = $ENV{'REMOTE_ADDR'};
if (length($ip) < 6) {
  $ipn = "XXX";
} else {
  $ipn = inet_aton($ip);
}  
if ($ipn) {
  $ipn = gethostbyaddr($ipn, AF_INET) . "";
}
if ($ipn && length($ipn) > 3) {
  $ipn = $ipn . "";
} else {
  $ipn = "XXX";
}

$nam = $feld[0];
$nam = $cgi->param($nam);
$nam = "count" . $nam . ".txt";
$ref = $feld[1];
$ref = $cgi->param($ref);
print "   $nam X $ref ";

open(LOG, "<$nam");
@entr = <LOG>;
close(LOG);
$cnt = @entr;

$c = 0;
for ($i = $cnt - 1; $i > -1; $i--) {
  $q = $entr[$i];
  $q =~ /\w+ +(\d+)\.(\d+)\.(\d+) +(\d+):(\d+):\d+ +(\S+)/;
  $dt[1][0] = $3;	# Jahr
  $dt[1][1] = $2;	# Monat
  $dt[1][2] = $1;	# Tag
  $dt[1][3] = $4;	# Std.
  $dt[1][4] = $5;	# Min.
  $oip = $6;
  ($dt[2][2], $dt[2][3], $dt[2][4], $dt[2][0]) = 
     Delta_DHMS($dt[1][0], $dt[1][1], $dt[1][2], $dt[1][3], $dt[1][4], 0,
                $dt[0][0], $dt[0][1], $dt[0][2], $dt[0][3], $dt[0][4], 0);
  if ($oip eq $ip && ($dt[2][2] * 24 + $dt[2][3]) < $hlim) {$c = 1}	# IP vorhanden und jung -> nichts machen
  if (($dt[2][2] * 24 + $dt[2][3]) > $hlim) {$i = 0}			# zu alte Einträge -> Ende
}

foreach(@spider) {
  if ($ipn =~ /$_/i) {$c = 1}						# Google etc. nicht zählen
}

if ($c < 1) {
  $entr[$cnt] = substr("$zeit          $ip                          ", 0, 60) . "$ipn\n";
  $cnt = $cnt + 1;
  open(LOG, ">$nam");
  foreach(@entr) {
    print LOG $_;
  }
  close(LOG);
}

print "Content-Type: text/html\n\n";
print "<HTML><HEAD></HEAD><BODY>";
print "<div align=\"right\"><FONT FACE=\"arial\" SIZE=-1>$cnt visitors since Jan 2017</FONT></div></BODY></HTML>";


open(LOG, ">$logname");
print LOG "<HTML><HEAD></HEAD><BODY><PRE>";
for ($q = $cnt - 10; $q < $cnt; $q++) {
  print LOG $q + 1 . "   " . $entr[$q];
}
print LOG "</PRE></BODY></HTML>";
close(LOG);


}


sub DeutschName {
my $DeuNa = shift;
  $DeuNa =~ s/Mon/Mo/;
  $DeuNa =~ s/Tue/Di/;
  $DeuNa =~ s/Wed/Mi/;
  $DeuNa =~ s/Thu/Do/;
  $DeuNa =~ s/Fri/Fr/;
  $DeuNa =~ s/Sat/Sa/;
  $DeuNa =~ s/Sun/So/;
  $DeuNa =~ s/Jan/01/;
  $DeuNa =~ s/Feb/02/;
  $DeuNa =~ s/Mar/03/;
  $DeuNa =~ s/Apr/04/;
  $DeuNa =~ s/May/05/;
  $DeuNa =~ s/Jun/06/;
  $DeuNa =~ s/Jul/07/;
  $DeuNa =~ s/Aug/08/;
  $DeuNa =~ s/Sep/09/;
  $DeuNa =~ s/Oct/10/;
  $DeuNa =~ s/Nov/11/;
  $DeuNa =~ s/Dec/12/;
  return($DeuNa);
}
                                          
                                          
                                          