#!/usr/bin/perl

use CGI qw/:standard :cgi-lib/;
use POSIX qw(strftime);

#open(DEBUG, ">>debug.txt");

$scriptpath = 'gb.pl'; # ex '../cgi-bin/gb.pl'
$gbfilepath = 'gb'; # ex '../cgi-data/gb'

$dagar_att_spara = 60;

%args = Vars;
print "Content-Type: text/html\n\n";
#foreach $key (keys %args) {
#       $value = $args{$key};
#       print "$key = $value<br>";
#}

$linenumber = 0;
if($args{'name'} ne "") {
        open(GBFILE, "<$gbfilepath");

        while($line = <GBFILE>) {
                @elements = split(/\|/, $line);
		next if($elements[3] eq $lastmessage);
#		print DEBUG "$elements[3], $lastmessage\n";
		$lastmessage = $elements[3];
                last if($elements[0] < (time - 86400 * $dagar_att_spara));
                $tmp[$linenumber++] = $line;
        }
        close(GBFILE);

        @old = @tmp;
        open(GBFILE, ">$gbfilepath");
	$message = substr($args{message}, 0, 2000);
	$message =~ s/\r//g;
	$message =~ s/\n/\<br\>/g;
	$message =~ s/\</\&lt\;/g;
	$name = substr($args{name}, 0, 20);
	$name =~ s/\r//g;
	$name =~ s/\n//g;
	$name =~ s/\</\&lt\;/g;
	
	print GBFILE time."|$ENV{REMOTE_ADDR}|$name|$message\n";
        print GBFILE @old;
#	print DEBUG "[$args{name}], [$message], [$args{message}]\n";
        close(GBFILE);
}

print "<html><body>";
print "<h1>Olas gästbok</h1><p>";
print "Hej alla goa...<br>";
print "<b>Snälla, sluta med skitsnacket, känns sådär kul. Det är ingen som gillar detta.<br></b>";
print "Max storlek på inläggen är 2000 tecken, och det går ej att lägga in fungerande HTML<br>";
print "Alla IP loggas<br>";
print " <br>";
print "Jahå, nu fungerar det inte längre, idioter, spam och reklam har förstört sidan. <br>";
print "Tyvärr finns det inte så mycket jag kan göra, förslag emottages tacksamt... <br>";
print "Tack för den tid som varit. Jag kommer inte att ta bort sidan, hoppas att den skall självsaneras... <br>";
print "¤Ola <br>";
print "<IMG SRC='bilder/m.gif'border=0><br>";
print "<p>På äldre dagar:<br><A HREF='oldbok.htm'>1996-2002</a><br>   <A HREF='bok0301.htm'>Januari 2003</a><br>    <A HREF='bok0302.htm'>Februari 2003</a><br>  <A HREF='bok0303.htm'>Mars 2003</a><br>  <A HREF='bok0304.htm'>April 2003</a><br> <A HREF='bok03056.htm'>Maj - Juni 2003</a><br> <A HREF='bok0307.htm'>Juli 2003</a><br> <A HREF='bok03089.htm'>Augusti-September 2003</a><br>  <A HREF='bok031011.htm'>Oktober-November 2003</a><br>  <A HREF='bok0401.htm'>December 2003 - Januari 2004</a><br> <A HREF='bok0402-0515.htm'>Februari 2004 - 15 Maj 2004</a><br> <A HREF='bok0516-0726.htm'>16 Maj - 26 juli 2004</a> <br> <A HREF='bok0727-0905.htm'>27 juli - 5 september 2004</a><br><p>";


print "<form action='$scriptpath' method='POST' enctype='text/html'>";
print "Jag heter: <input type=text name='name' value='' cols=40><br>";
print "Text: <br><textarea name='message' rows=3 cols=50></textarea><br><br>";
print "<input type=submit value='Tryck ut...'><input type=reset value='Döda...'>";
print "<h3><a href='$scriptpath'>Ladda om sidan...</a></h3>";
print "</form><hr><hr>";

open(GBFILE, "<$gbfilepath");
while($line = <GBFILE>) {
        @elements = split(/\|/, $line);
	$elements[3] =~ s/\&lt\;br\>/\<br\>/g;
        $time_string = strftime "%Y-%m-%d %H:%M:%S", localtime($elements[0]);
        print "Mottaget $time_string från <b>$elements[2]</b>";
        print ":<br><br>$elements[3]<br><br><hr><br>";
}
close(GBFILE);

print "</body></html>";

#close(DEBUG);

