#!/usr/bin/perl -wT
# Title : prikbord.pl
# Function : aangepast prikbord voor NLVL
# Author : Pascal Schiks (C) 2004 GNU/GPL
# Version : 2.6
#
#Revision History
# [PS-04-April-2004] Added s/\. /\.
\n/g;
#
use strict;
use CGI qw(:standard);
use DBI;
#
# Begin Configuratie
#
# config variabeles
#
# mySQL database configuratie
my $HOSTNAME = "localhost";
my $DATABASE = "pascal";
my $PRIKBORD = "prikbord";
my $SQLUSER = "mysql";
my $SQLPASSWD = "mysql";
# naam van het prikbordprogramma
my $PROGRAM = "/cgi-bin/gastenboek.pl";
# Pagina Layout
my $TITEL = "gastenboek";
my $LOGO = "/pascal.png";
my $LOGOCLICK = "/index.html";
my $HELPPAGE = "";
my $LOGOALT = "Pascal's homepage";
my $LINKCOLOR = "WHITE";
my $STYLESHEET = "/pascal.css";
my $MAXTHREADS = 10;
#
# parameters
#
my $NAAM = param('naam');
my $EMAIL = param('email');
my $WEBSITE = param('website');
my $PASSWD = param('passwd');
my $WACHTWOORD = param('wachtwoord');
my $BERICHTNR = param('berichtnr');
$_ = param('bericht');
s/\"/\\\"/g;
s/\'/\\\'/g;
my $BERICHT = $_;
#
# includes
#
require "./smilies.plx";
sub smilies_render;
#
# variabeles
#
my $BERICHTTELLER;
my $BERICHTINDEX;
my $LAATSTEBERICHT;
my $threads;
my $dsn;
my $dbh;
my $sth;
#
# Subroutines
#
sub menuregel
{
if(($BERICHTNR>1)&&($LAATSTEBERICHT>2))
{
print " Eerste $MAXTHREADS / ";
}
else
{
print "Eerste $MAXTHREADS / ";
}
if($BERICHTNR>$MAXTHREADS)
{
my $VORIGE=$BERICHTNR-$MAXTHREADS;
print " Vorige $MAXTHREADS / ";
}
else
{
print " Vorige $MAXTHREADS / ";
}
if($BERICHTNR<($LAATSTEBERICHT-$MAXTHREADS))
{
my $VOLGENDE=$BERICHTNR+$MAXTHREADS;
print " Volgende $MAXTHREADS / ";
}
else
{
print "Volgende $MAXTHREADS / ";
}
if($BERICHTNR<($LAATSTEBERICHT-$MAXTHREADS))
{
my $LAATSTEBERICHTEN=$LAATSTEBERICHT-$MAXTHREADS;
print " Laatste $MAXTHREADS / ";
}
else
{
print " Laatste $MAXTHREADS / ";
}
print " Bericht toevoegen \n";
print "
\n";
my $VOLGENDE=$BERICHTNR+$MAXTHREADS;
print "Bericht $BERICHTNR t/m $VOLGENDE van $LAATSTEBERICHT
\n";
}
#
# Begin
print header;
print "\n
| \n | \n\n";
if($LOGO)
{
print "
\n"; print "Terug naar berichten lezen \n"; } else { print "Terug naar berichten lezen"; print "\n"; } } # # # # Berichten lezen # # if(($BERICHTNR>0)&&($BERICHTNR<10000)) { $LAATSTEBERICHT=0; $sth = $dbh->prepare("SELECT * FROM $PRIKBORD ORDER BY NUMMER DESC"); # beetje klumsy path om aantal berichten vooraf te weten $sth->execute; while(($BERICHT,$NAAM,$EMAIL,$WEBSITE,$BERICHTINDEX)=$sth->fetchrow()) { $LAATSTEBERICHT++; } # ok ga nu verder met bericht uitlezen $BERICHTTELLER=0; $sth->execute; menuregel; while(($BERICHT,$NAAM,,$EMAIL,$WEBSITE,$BERICHTINDEX)=$sth->fetchrow()) { $BERICHTTELLER++; if(($BERICHTTELLER>=$BERICHTNR)&&($BERICHTTELLER<=($BERICHTNR+$MAXTHREADS))) { print " \n"; print " \n"; $_=$BERICHT; smilies_render; s/\n/ \n/g; s/\. /\. \n/g; $BERICHT=$_; print "$BERICHT"; } } print " \n"; menuregel; } # # Berichten verwijderen # if($BERICHTNR<0) { if(!$PASSWD) { print "Berichten verwijderen kan aleen met het juiste wachwoord \n"; print " \n"; } else { print "Bericht wordt (nog niet) verwijderd \n"; } print "Terug naar berichten lezen \n"; } $dbh->disconnect; } else { print "Error, kan de mysql database niet bereiken \n"; } print " | \n|