#! /usr/local/bin/perl
############################################################################
#
# PAGELOG.CGI
#
# By Metertek 1999
# Metertek@yahoo.com
#
# Call script using a similar tag
#
#
#
#
############################################################################
#
# variables
$ip = $ENV{'REMOTE_ADDR'};
$browser = $ENV{'HTTP_USER_AGENT'};
@digits = split (/\./, $ip);
$address = pack ("C4", @digits);
$host = gethostbyaddr ($address, 2);
$user = $ENV{'REMOTE_USER'};
$id = $ENV{'REMOTE_IDENT'};
$pagemark = 'logentryhere';
$addsecs = '46800';
$imageurl = 'http://www.orbweb.net/graphics/log/pixel.gif';
$logimage = 'http://www.orbweb.net/graphics/log/pagelog.gif';
$logdir = '/mnt/web/guide/orbweb/www/nys/log';
$email = 'nys@orbweb.net';
$emailfrom = 'nys@orbweb.net';
$mail_program = '/usr/lib/sendmail -t';
$mailines = '100';
@html = ("","","
","","
","-");
$replace = ' ';
$useicon ='0';
############################################################################
#
# do not alter perl below here
&date;
&query;
if ($query{'display'} eq '') {
if ($query{'name'} eq '') {&queryerror;}
$logfile = "$logdir/$query{'name'}.log";
$countfile = "$logdir/$query{'name'}.txt";
&count;
open (FILE, "$logfile");
@lines = ;
close(FILE);
open (PLOG,">$logfile");
if ($count eq 1) {print PLOG "\n"; close (PLOG);
open (FILE, "$logfile"); @lines = ; close(FILE);
open (PLOG,">$logfile");}
foreach $line (@lines) {
$linecount = $linecount + 1;
if ($line =~ //) {
print PLOG "\n";
print PLOG "Visit Number $count to date
";
print PLOG "$date - $time - $ip
$host - $browser
\n";}
else {print PLOG ("$line");}
}
close (PLOG);
ℑ
}
else {$printfile = "$logdir/$query{'display'}.log"; &printlog;}
############################################################################
sub query {
@query_strings = split("&", $ENV{"QUERY_STRING"});
foreach $q (@query_strings) {
($attr, $val) = split("=", $q);
$query{$attr} = $query{$attr}."".$val;}
if ($query{'name'} =~ /\/$/) {chop($query{'name'});}
elsif ($query{'display'} =~ /\/$/) {chop($query{'display'});}
}
############################################################################
sub queryerror {
print "Content-type: text/html\n\n";
print "PAGELOG.CGI ERROR MESSAGE
";
print "You did not specify a log filename";
exit;
}
############################################################################
sub date {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+$addsecs);
@months = ("1","2","3","4","5","6","7","8","9","10","11","12");
@days = ("Sun","Mon","Tue","Wed","Thur","Fri","Sat");
if ($sec < 10) {$sec = "0$sec";}
if ($min < 10) {$min = "0$min";}
if ($hour < 10) {$hour = "0$hour";}
if ($hour > 11) {$ap = "PM";}
if ($hour < 12) {$ap = "AM";}
if ($mday < 10) {$mday = "0$mday";}
$date = "@days[$wday] $mday/@months[$mon]/$year";
$time = "$hour:$min:$sec $ap";
}
############################################################################
sub count {
open (COUNT, $countfile); $count = ; close(COUNT); ++$count;
@nums = split(//, $count); open(PCOUNT, ">$countfile");
print PCOUNT $count; close(PCOUNT);
}
############################################################################
sub image {
if ($useicon eq 1) {$imageurl = $logimage;}
print "Location: $imageurl\n\n";
if ($linecount > $mailines) {&mailfile;}
exit;
}
############################################################################
sub mailfile {
open (MAIL, "|$mail_program");
print MAIL "To: $email\n";
print MAIL "From: $emailfrom\n";
print MAIL "Subject: $query{'name'}.log reset $date\n\n";
print MAIL "$query{'name'}.log reset and the following data extracted on $date at $time\n";
open (PLOG,">$logfile");
foreach $line (@lines) {
foreach $html (@html) {$line =~ s/$html/$replace/g;}
print MAIL "$line\n";}
print PLOG "\n";
print PLOG "Visit Number $count to date
";
print PLOG "$date - $time - $ip
$host - $browser
\n";
close (PLOG);
print MAIL " \n\n";
print MAIL "The information above was emailed by PAGELOG.CGI for your records.\n";
close(MAIL);
}
############################################################################
sub printlog {
$home = 'http://members.xoom.com/metertek/archive/';
print ("Content-type: text/html\n\n");
print ("\n");
print ("\n");
print ("\n");
print ("$query{'display'}\n");
print ("\n");
print ("\n");
print ("NYS Visitor Log\n");
print ("
Page Down
\n");
print ("
\n");
print ("| \n");
print ("\n");
print ("$ENV{'HTTP_REFERER'}\n");
print (" |
\n");
print (" \n");
open (FILE, "$printfile");
@lines = ;
close(FILE);
open (LOG,">$printfile");
foreach $line (@lines) {print "$line"; print LOG ("$line");}
close (LOG);
print (" |
\n");
print ("Page Up\n");
print ("\n");
print ("
\n");
print ("\n");
print ("PAGELOG.CGI 1999
by Metertek\n");
print ("\n");
print ("\n");
exit;
}