#!/usr/bin/perl # # REF: resoobbs.pl # ResooSite v.0.9.5 -(p)Resoo 2002-2003 # (c)2003 - pascal blain / GNU GPL - General Public License # http://www.resoo.org/resoosite # pascal@resoo.org # require "resooconf.pl"; require "resoobbsconf.pl"; ######## recuperation des données ######## $query = $ENV{'QUERY_STRING'}; if (!$query) { $query = ""; $page = "bbs"; } elsif ($query =~ /.*topic.*/) { $show_mesg = 0; $query =~ s/topic//; $numtopic = $query; $query = ""; $page = "bbs"; } elsif ($query =~ /.*mesg.*/) { $show_mesg = 1; $query =~ s/mesg//; $nummesg = $query; $query = ""; $page = "bbs"; } else { $page = ""; open(BOARD,"$query") || &error(no_perm); @board = ; close (BOARD); } ######## mise en page de l'article ######## if ( $page eq "bbs" ) { &get_comp; &incr_comp; } print "Content-type: text/html\; charset=ISO-8859-1\n\n"; &head_bbs; &pao_bbs_haut; if ( $page eq "bbs" ) { open (MAXNUM, "$dir_bbs/$datafile"); @maxnum = ; close (MAXNUM); $maxnum = @maxnum[0]; $pageprec = "$font [ Pas de page prédédente ] $finfont\n"; $pagesuiv = "$font [ Pas de page suivante ] $finfont\n"; if ($show_mesg) { print "

\n"; print "
$font\[ $fontlienEnvoyer un message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienAffichage par sujet$finfont \]$finfont\n"; print "
\n"; print "
\n"; print "
    \n"; if (!$nummesg) { $nummesg = $maxnum; } $defautnum = $defautnummesg; for ($c = $nummesg ; $c > $nummesg-$defautnum ; $c--){ if (-s "$mesgdir/$c.$ext1") { open (MESG, "$mesgdir/$c.$ext1"); @board2 = ; close (MESG); &get_mesg2; print "
  • $font$bbssubject2 - $bbsname2 - $bbsdate2"; if ($use_time) { print " - $bbsheure2"; } else { print ""; } if ($num_followup2) { if ($num_followup2 == 1) { print " - (1 réponse)$finfont\n"; } else { print " - ($num_followup2 réponses)$finfont\n"; } } else { # print " - (pas de réponses)$finfont\n"; print "$finfont\n"; } } else { ## rajoute une itération if ($nummesg-$defautnum > 0) { $defautnum++; } } } print "
\n"; print "
\n"; print "
"; $boucle = 0; for ($d = $c ; $d > 0 ; $d--){ if (!$boucle){ if (-s "$mesgdir/$d.$ext1") { $pageprec = " $font\[ $fontlienAfficher la page prédédente$finfont ] \n"; $boucle = 1; } } } print $pageprec; $boucle = 0; while ($boucle < $defautnummesg){ for ($d = $nummesg+1 ; $d < $maxnum+1 ; $d++){ if ($boucle < $defautnummesg){ if (-s "$mesgdir/$d.$ext1") { $pagesuiv = " [ $fontlienAfficher la page suivante$finfont ]$finfont \n"; $boucle++; } } } $boucle = $defautnummesg; } print $pagesuiv; print "
"; print "


\n"; print "$fontstitre Envoyer un message $finfontstitre

\n"; &rest_of_form_index; print "

\n"; print "$font\[ $fontlienEnvoyer un message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienAffichage par sujet$finfont \]$finfont\n"; print "
\n"; } else { print "

\n"; print "
$font\[ $fontlienEnvoyer un message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienAffichage par date$finfont \]$finfont\n"; print "
\n"; print "
\n"; print "
    \n"; if (!$numtopic) { $numtopic = $maxnum; } $defautnum = $defautnumtopic; for ($c = $numtopic ; $c > $numtopic-$defautnum ; $c--){ if (-s "$mesgdir/$c.$ext2") { $w=0; openmesg2($c); } else { ## rajoute une itération if ($numtopic-$defautnum > 0) { $defautnum++; } } } print "
\n"; print "
\n"; print "
"; $boucle = 0; for ($d = $c ; $d > 0 ; $d--){ if (!$boucle){ if (-s "$mesgdir/$d.$ext2") { $pageprec = " $font\[ $fontlienAfficher la page prédédente$finfont ] \n"; $boucle = 1; } } } print $pageprec; $boucle = 0; while ($boucle < $defautnumtopic){ for ($d = $numtopic+1 ; $d < $maxnum+1 ; $d++){ if ($boucle < $defautnumtopic){ if (-s "$mesgdir/$d.$ext2") { $pagesuiv = " [ $fontlienAfficher la page suivante$finfont ]$finfont \n"; $boucle++; } } } $boucle = $defautnumtopic; } print $pagesuiv; print "
"; print "


\n"; print "$fontstitre Envoyer un message $finfontstitre

\n"; &rest_of_form_index; print "

\n"; print "$font\[ $fontlienEnvoyer un message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienAffichage par date$finfont \]$finfont\n"; print "
\n"; } } else { ############## affichage de la page FAQ if ($query =~ /.*faq.*/) { print "

\n"; print "
$font\[ Aide/$forumtitre  ] [ $fontlienRetour $forumtitre$finfont ]$finfont
\n"; print "
\n"; print "
"; print "$font\n"; foreach $line (@board) { $renew = $line; &resoohtml; &unword; $line = $renew; $line =~ s/\n/
/g; print "$line"; } print "$finfont\n"; print "

"; print "
\n"; print "
$font\[ Aide/$forumtitre  ] [ $fontlienRetour $forumtitre$finfont ]$finfont
\n"; print "

\n"; } ############## affichage des pages messages else { &get_mesg; print "
$fonttitre $bbssubject $finfonttitre
"; print "

\n"; print "
$font\[ $fontlienRépondre au message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienRetour $forumtitre$finfont \]$finfont\n"; print "
\n"; if ($use_cadre == 1) { print "
"; } print "$font\n"; print "Envoyé par "; if ($bbsemail) { print "$fontbbs $bbsname $finfontbbs le $bbsdate"; if ($use_time) { print " - $bbsheure
\n"; } else { print "
\n"; } } else { print "$fontbbs $bbsname $finfontbbs le $bbsdate"; if ($use_time) { print " - $bbsheure
\n"; } else { print "
\n"; } } print "$finfont"; if ($use_cadre == 1) { print "
\n"; } if ($message_img) { print "
\n"; } print "
$fontbbs"; if (-e "../img/resoo/bbs.gif"){ print "\"\""; } print " \; \; \; \;$bbsbodymess$finfontbbs\n"; print "

\n"; if ($message_url) { print "\n"; } if ($use_cadre == 1) { print "

\n"; } if ($orignum) { open(BOARD,"$mesgdir/$orignum.$ext1") || &error(no_file); @board2 = ; close (BOARD); &get_mesg2; print "$font En réponse à: $bbssubject2 envoyé par "; if ($bbsemail2) { print "$bbsname2 le $bbsdate2\n"; } else { print "$bbsname2 le $bbsdate2\n"; } print "$finfont
\n"; } print "


\n"; print "$fontLes réponses:$finfont\n"; $followup =~ s/^\|//; $followup =~ s/\|$//; $followup =~ s/\n//; if ($followup){ print "
    "; my @followups = split(/\|/,$followup); foreach $followupnum(reverse @followups) { $w=0; &openresp("$followupnum"); } print "
"; } else { print "$font ...pas de réponses$finfont
"; } print "


\n"; print "
$fontstitre Répondre au message $finfontstitre

\n"; &rest_of_form_index; print "

\n"; print "
$font\[ $fontlienRépondre au message$finfont \]"; if ( $show_faq = "1" ) { print " \[ $fontlienVoir l'aide$finfont \]"; } print " \[ $fontlienRetour $forumtitre$finfont \]$finfont
\n"; print "

\n"; } } &pao_bbs_bas; &foot_gen;