opendir.cgi

 


#!/usr/bin/perl

if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
        @pairs = split(/&/, $ENV{'QUERY_STRING'});
}
elsif ($ENV{'REQUEST_METHOD'} eq 'POST')
{
    read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    @pairs = split(/&/, $buffer);

    if ($ENV{'QUERY_STRING'})
    {
        @getpairs =split(/&/, $ENV{'QUERY_STRING'});
        push(@pairs,@getpairs);
    }
}
else
{
    print "Content-type: text/html\n\n";
    print "<P>Use Post or Get";
}

print "Content-type: text/html\n\n";

$year = $formdata{'year'};
$month = sprintf("%02d", $formdata{'month'});
$day = sprintf("%02d", $formdata{'day'});

$desired_file = "logfile" . $year . $month . $day . ".txt";

chdir ("../../logs");

if (-e $desired_file) {
	open (LOG, $desired_file) || &ErrorMessage;
	@messages = <LOG>;
	close (LOG);
	$n=1;
	foreach $message (@messages) {
		print "<LI>Message # $n is <I>$message</I>";
		$n++;
		}
} else {
	print "Log doesn't exist.";
	opendir (LOGDIR, ".") || &ErrorMessage;
	@logfiles = readdir (LOGDIR);
	closedir (LOGDIR);
	if (@logfiles) {
		print "<P>You can choose from the following logs:";
		foreach $filename (@logfiles) {
			print "<LI>$filename" unless ($filename =~ /^\.+$/);
			}
	}
}
	
sub ErrorMessage {
	print "Content-type: text/html\n\n";
	print "The server can't access the file. Aborting script. \n";
	exit;
}