;
close(BADWORDS);
}
# PROCESS GUESTBOOK
sub process {
# Check if HTML is on or off.
if ($allow_html eq "1") {
$htmlstatus = "HTML has been enabled.";
} else {
$htmlstatus = "HTML has been disabled.";
}
$totalentries = 0;
foreach (@data) {
$totalentries++;
}
unless ($FORM{'start'}) { $FORM{'start'} = 0; }
if ($entriesperpage == -1) { $entriesperpage = $#data; }
$last = $FORM{'start'} + $entriesperpage;
if ($last > $#data) { $last = $#data; }
if ($reverseentries eq "1") {
$i = $FORM{'start'} + 1;
$j = $last + 1;
} else {
$j = $totalentries - $FORM{'start'};
$i = $j - $entriesperpage;
if ($i <= 1) {
$i = 1;
}
}
# Read in header and print out
open (HEAD, "header.txt");
while () {
$_ =~ s/\[title\]/$title/ig;
$_ =~ s/\[background\]/$background/ig;
$_ =~ s/\[bgcolor\]/$bgcolor/ig;
$_ =~ s/\[font\]/$fontface/ig;
$_ =~ s/\[textcolor\]/$textcolor/ig;
$_ =~ s/\[linkcolor\]/$linkcolor/ig;
$_ =~ s/\[vlinkcolor\]/$vlinkcolor/ig;
$_ =~ s/\[alinkcolor\]/$alinkcolor/ig;
$_ =~ s/\[homepage\]/$homepage/ig;
$_ =~ s/\[htmlstatus\]/$htmlstatus/ig;
$_ =~ s/\[totalnum\]/$totalentries/ig;
$_ =~ s/\[startnum\]/$i/ig;
$_ =~ s/\[endnum\]/$j/ig;
push (@header,$_);
}
close(HEAD);
print "@header";
$i = 0;
for ($i = $FORM{'start'}; $i <= $last; $i++) {
@entrylayout = &viewhtml($data[$i]);
print "@entrylayout";
}
if ($FORM{'start'} > 0) {
$i = $FORM{'start'} - $entriesperpage - 1;
if ($i < 0) {
$i = 0;
$j = $FORM{'start'} + 1;
}
else { $j = $entriesperpage + 1; }
$backview =~ s/\[num\]/$j/ig;
if ($entriesperpage >= 1) {
print "$backview ";
}
}
if ($last < $#data) {
$last++;
$FORM{'start'} = ($#data + 1) - $last;
if ($FORM{'start'} > $entriesperpage) { $FORM{'start'} = $entriesperpage + 1; }
$nextview =~ s/\[num\]/$FORM{'start'}/ig;
if ($entriesperpage >= 1) {
print " $nextview";
}
}
}
#END PROCESS GUESTBOOK
# HTML OF OUTPUTTED ENTRIES
sub viewhtml {
# Get the data and change it into what we want to show
$line = shift(@_);
($name,$private,$email,$url,$comment,$date,$time,$var1,$var2,$var3,$var4,$var5,$var6,$ip,$browser) = split(/\|/, $line);
if ($reverseentries eq "1") {
$entryid = ($i + 1);
$downentry = ($entryid + 1);
$upentry = ($entryid - 1);
} else {
$entryid = ($totalentries - $i);
$upentry = ($entryid + 1);
$downentry = ($entryid - 1);
}
$up = "$uplook";
$down = "$downlook";
# HTML Filter
$comment =~ s/<//g;
if ($allow_html == 0) {
$comment =~ s//&60;p>/ig;
$comment =~ s/
/&60;br>/ig;
$comment =~ s/<([^>]|\n)*>//g;
$comment =~ s/&60;p>/
/ig;
$comment =~ s/&60;br>/
/ig;
}
# Kill Bad Words
if ($bwfilter eq "1") {
foreach $badword (@badwords) {
$name =~ s/$badword/****/ig;
$comment =~ s/$badword/xxxx/ig;
}
}
# Check if its a private message to the admin.
if ($private eq "priv") {
$comment = "$privview";
}
@entrylayout = "";
# Read in entry layout
open (LAYOUT, "entry.txt");
while () {
$_ =~ s/\[font\]/$fontface/ig;
$_ =~ s/\[name\]/$name/ig;
$_ =~ s/\[url\]/$url/ig;
$_ =~ s/\[email\]/$email/ig;
$_ =~ s/\[up\]/$up/ig;
$_ =~ s/\[down\]/$down/ig;
$_ =~ s/\[entrynum\]/$entryid/ig;
$_ =~ s/\[comment\]/$comment/ig;
$_ =~ s/\[date\]/$date/ig;
$_ =~ s/\[time\]/$time/ig;
$_ =~ s/\[ip\]/$ip/ig;
$_ =~ s/\[browser\]/$browser/ig;
$_ =~ s/\[var1\]/$var1/ig;
$_ =~ s/\[var2\]/$var2/ig;
$_ =~ s/\[var3\]/$var3/ig;
$_ =~ s/\[var4\]/$var4/ig;
$_ =~ s/\[var5\]/$var5/ig;
$_ =~ s/\[var6\]/$var6/ig;
push (@entrylayout,$_);
}
close(LAYOUT);
return(@entrylayout);
}
# END HTML OF OUTPUTTED ENTRIES
# SIGNING HTML - Modify if you wish
sub signhtml {
# Read in footer
open (FOOTER, "footer.txt");
while (