#!/usr/bin/perl
##############################################################################
# Forum v 2.8
# lst mod: send mail
##############################################################################
# Define Variables

$basedir = "/home/stephm69/public_html/kayakdemer/wwwboard";
$homedir ="/home/stephm69/public_html/kayakdemer";
$filter_dir = "/home/stephm69/public_html/filter";
$mailprog = '|/usr/sbin/sendmail -t';
$docsdir = "/home/stephm69/public_html/kayakdemer/docs";
$homeurl = "http://www.kayakdemer.net";
$docsurl = "http://www.kayakdemer.net/docs"; 
$baseurl = "http://www.kayakdemer.net/wwwboard";
$photodir = "$baseurl/photos";
$cgi_url = "http://www.kayakdemer.net/cgi-bin2/wwwboard.pl";
$direct_wwboard_url = "http://www.kayakdemer.net/wwwboard/redirect.pl";
$cgis_url = "http://www.kayakdemer.net/cgi-bin2";
$cgis_dir = "/home/stephm69/public_html/kayakdemer/cgi-bin2";
$template = "message_t.html";
$addmailtp = "addmail.html";
$mesgdir = "messages";
$deleted_msg="deleted.html";
$mailingdir = "mailing";

# Pour ajout événements du calendrier page d'accueil
$events_dir = "calendrier";
$eventsfile = "events.txt";
$details_dir = "details";
$delais = "7";

$stats_dir = "/home/stephm69/public_html/kayakdemer/wwwboard/stats";
$stats_url = "http://www.kayakdemer.net/wwwboard/stats";
$datafile = "data.txt";
$mesgfile_all = "wwwboard_all.php";
$mesgfile = "wwwboard.html";
$mesgfile_t = "wwwboard_t.php";
$soum_file = "soum_message.php";
$faqfile = "faq.html";
$filter_activepg = "fltpg_active.php";
# Changer le message sur la page d'accueil oui=1; non=0
$chgfrontmsg = 0;
$addnouveautes = 1;
$lstmsgtmfile = "lsttime.txt";
$mxtimefile = "maxtime.txt";
$maxtimejsfl = "maxtime.js";

$reg_names = "reg_names.txt";
$nmbmsgsfile = "nombrmsgsparuser.txt";

$frmail = "forum\@kayakdemer.net";
$forumtitle = "du kayak de mer dans le nouveau monde";
$forumurl = "http://www.kayakdemer.net/wwwboard";

$background_im = "http://www.kayakdemer.net/bckgrnd.gif"; 
$ext = "html";
$title = "Le Kayak de Mer dans le Nouveau Monde: Forum";
$site_name = "Le Kayak de Mer dans le Nouveau Monde";
$site_url = "http://www.kayakdemer.net";
$html_help = "http://www.kayakdemer.net/html.html";
$active_period = 22;
$closed = "";
@passwords = ("tempo","loisi");

# Done
###########################################################################
# Configure Options

$show_faq = 1;		# 1 - YES; 0 = NO
$allow_html = 1;	# 1 = YES; 0 = NO
$quote_text = 0;	# 1 = YES; 0 = NO
$subject_line = 0;	# 0 = Quote Subject Editable; 1 = Quote Subject 
			#   UnEditable; 2 = Don't Quote Subject, Editable.
$use_time = 0;		# 1 = YES; 0 = NO

$show_poster_ip = 0;    # 1 = Show the IP of every poster; 0 = Don't
$enforce_max_len = 0;   # 2 = YES, error; 1 = YES, truncate; 0 = NO
%max_len = ('name', 50, 
            'email', 70, 
            'subject', 80, 
            'url', 150, 
            'url_title', 80,
            'img', 150,
            'body', 3000,
            'origsubject', 80,
            'origname', 50,
            'origemail', 70,
            'origdate', 50);
# Done
###########################################################################

# Get maxtime
&getmaxtime;

# Get the Data Number
&get_number;

# Get Form Information
&parse_form;


#$closed="09:00, 16 ocobre 06";

if($closed)
{
  &error("Désolé, le forum est temporairement hors fonction. Il devrait être à nouveau en ligne vers $closed");
}
# Put items into nice variables
&get_variables;
if($fct eq "register")
{
  &enregistrer;
}

if($fct eq "erase_msg")
{
  &checkpsw;  
  &erase_msg;
  &error("Le message #$msgnmbr a été effaçé...<b>$rmvlines</b> lignes enlevés sur la page du forum");
}

if($fct eq "voirdocs")
{
  if($doc)
  {
    &show_doc;
  }
  else
  {
    &show_alldocs;
  }
  exit;
}

if($fct eq "voirdoc_dtls")
{
  &showdoc_dtls;
  exit;
}

if($fct eq "showlink")
{
  &show_link;
  exit;
}

if($addmailto)
{
  &mk_page;
  exit;
}

if($msgnmbr)
{
  &defmsgsandadd;
  &returnhtml;
  exit;
}

if($star != 1)
{
  &check_banned;
}

if($newsub && $registered_only eq "oui")
{
    if(!$reg_usr)
	{
	  &error("Vous devez avoir un nom enregistré pour pouvoir cocher la case  <b><i>Permettre seulement aux utilisateurs enregistrés de répondre à ce message</i></b>");
	}
	else
	{
	  &registered_only;
	}
}

if($fltval && $newsub eq "oui")
{
  &putfltval;
  $newsub = "";
}

&write_ip;

&write_name;
# Write initial stats for message
&write_ini_stats;

# Open the new file and write information to it.
&new_file;

# Open the Main WWWBoard File to add link
&main_page;

# Now Add Thread to Individual Pages
if ($num_followups >= 1) 
{
   &thread_pages;
}

# Return the user HTML
&return_html;

# Increment Number
&increment_num;

if($chgfrontmsg == 1)
{
  &updt_frontmsg;
}

# Put calendar coming events on front page
#&coming_events;

&check_hidden;

if($addnouveautes == 1)
{
  if($fltval)
  {
    $typenouv = "subject";
    &nouveaute;
  }
  else
  {
    &nouveaute;
  }
}

if($mail_list && !$hide)
{
  &sendmails;
}

&chkmailqueue;

#######################
sub chkmailqueue
{
  $prestime = int(time/60)-19631284 ;
  open(MAIN,"$homedir/$mailingdir/queue_check.txt") || die $!;
  flock(MAIN, 2);
    @queued = <MAIN>;
  close(MAIN);
  $mailinqueue = $queued[0];
  if($mailinqueue)
  {
	$command_string = "./subvite.pl";
	system( $command_string );
  }
}
############################
sub getmaxtime
{
  open(NUMBER,"$basedir/$mxtimefile");
    $maxtime = <NUMBER>;
  close(NUMBER);
}

############################
# Get Data Number Subroutine

sub get_number 
{
   open(NUMBER,"$basedir/$datafile");
   $num = <NUMBER>;
   close(NUMBER);
   if ($num == 9999999 || $num !~ /^\d+$/)  
   {
      $num = "1";
   }
   else 
   {
      $num++;
   }
}

#######################
# Parse Form Subroutine

sub parse_form {
   local($name,$value);

   # Get the input
  if($ENV{'CONTENT_LENGTH'})
  {
    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  }
  else
  {
    $buffer = $ENV{'QUERY_STRING'};
  }

  $change = $buffer;
   # Split the name-value pairs
   @pairs = split(/&/, $buffer);

   foreach $pair (@pairs) {
      ($name, $value) = split(/=/, $pair);

      # Un-Webify plus signs and %-encoding
      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      # Remove any NULL characters, Server Side Includes
      $value =~ s/\0//g;
      $value =~ s/<!--(.|\n)*-->//g;
      &place_emoticons;
      if ($allow_html != 1 || $value eq 'subject') {
         $value =~ s/<([^>]|\n)*>//g;
      }
      else {
         unless ($name eq 'body') {
	    $value =~ s/<([^>]|\n)*>//g;
         }
      }

      $FORM{$name} = $value;
   }

   # Make sure that message fields do not exceed allowed value
   if ($enforce_max_len) {
      foreach $name (keys %max_len) {
         if (length($FORM{$name}) > $max_len{$name}) {
            if ($enforce_max_len == 2) { &error('field_size'); }
            else { $FORM{$name} = sprintf("%.$max_len{$name}s",$FORM{$name}); }
         }
      }
   }
}
###############
sub place_emoticons
{
  %emot = (' X( ','angry.gif',' :f ','flirt.gif',' :x ','dead.gif',' :( ','frown.gif',' :h ','cool.gif',' :i ','idea.gif'," \:\) ",'smile.gif',' ;) ','wink.gif',' :l ','hrmpf.gif',' :o ','redface.gif',' :00 ','look.gif',' :p ','tounge.gif',' :q ','quest.gif',' :r ','shame.gif',' :D ','biggrin.gif',' :e ','supergrin.gif',' :)) ','bigsmile.gif');
  foreach $es (keys %emot)
  {
    $fn = $emot{$es};
	$es =~ s/\)/\&clspart\;/g;
	$value =~ s/\)/\&clspart\;/g;
	$es =~ s/\(/\&opnpart\;/g;
	$value =~ s/\(/\&opnpart\;/g;
	$value =~ s/$es/\<img src\=\'http\:\/\/www\.w10\.ca\/emot\/$fn\'\>/g;
	$value =~ s/\&clspart\;/\)/g;
	$value =~ s/\&opnpart\;/\(/g;
  }
}
###############
# Get Variables
sub get_variables 
{
  if ($FORM{'fct'}) 
  {
    $fct = $FORM{'fct'};
  }

  if ($FORM{'psw'}) 
  {
    $adminpass = "$FORM{'psw'}";  
  }
  if($fct eq "updtocome")
  {
	#&coming_events;
    &error("Les événements à venir ont été mis à jour");
  }
   if ($FORM{'doc'}) 
   {
     $doc = $FORM{'doc'};
   }
   if ($FORM{'dir'}) 
   {
     $dir = $FORM{'dir'};
   }
   if ($FORM{'rt'}) 
   {
     $rt = $FORM{'rt'};
   }
   if($fct eq "voirdocs" || $fct eq "voirdoc_dtls")
   {
     return;
   }
   if ($FORM{'addmailto'}) 
   {
     $addmailto = $FORM{'addmailto'};
	 $msgnmbr = $addmailto;
   } 
   if ($FORM{'msgnmbr'}) 
   {
     $msgnmbr = $FORM{'msgnmbr'};
   }

   if ($FORM{'first_message'}) 
   {
     $first_message = $FORM{'first_message'};
   }
   
   if ($FORM{'viewnbr'}) 
   {
     $viewnbr = $FORM{'viewnbr'};
	 &view_all;
     exit;
   }
   if ($FORM{'filter'}) 
   {
     $filter = $FORM{'filter'};
	 &filter;
     &chkmailqueue;
     exit;
   }
   
   if ($FORM{'followup'}) {
      $followup = "1";
      @followup_num = split(/,/,$FORM{'followup'});
      $num_followups = @followups = @followup_num;
	  @lst_msgpop=@followup_num;
      $last_message = pop(@lst_msgpop);
      $origdate = "$FORM{'origdate'}";
      $origname = "$FORM{'origname'}";
      $origsubject = "$FORM{'origsubject'}";
   }
   else {
      $followup = "0";
   }
   if ($FORM{'newsub'} || $followup eq "0") 
   {
     $newsub = "oui";
   }
   if ($FORM{'artgfghv'}) 
  {
    $artgfghv = "$FORM{'artgfghv'}";  
  }
  if ($FORM{'artgfgev'}) 
  {
    $artgfgev = "$FORM{'artgfgev'}";  
  }
  
  if(($newsub || $FORM{'need_code'}) && ($artgfghv ne $artgfgev || !$artgfghv) && $fct ne "erase_msg" && $fct ne "showallfrom" && $fct ne "showlink" && !$addmailto && !$FORM{'mailfct'})
  {
    &error('<center>Entrez le bon code de confirmation pour valider votre message !<br><br><hr width="40%"><i>Le code de confirmation correspond aux quatre chiffres qui se trouvent<br>tout juste au dessus du champ ou vous devez insérer le code</i><br><br><img src="http://www.kayakdemer.net/wwwboard/images/code.gif">');
	exit;
  }
  
   if ($FORM{'answto'})
   {
     $answrto = $FORM{'answto'};
   }
   if($FORM{'motdepasse'} && !$FORM{'nom'})
   {
     &error("Vous devez inscrire votre nom ou pseudonyme");
   }
   if($FORM{'nom'} && !$FORM{'motdepasse'})
   {
     &error("Vous devez inscrire votre mot de passe");
   }
   if($FORM{'motdepasse'})
   {
     $FORM{'name'} = $FORM{'nom'}."*".$FORM{'motdepasse'};
   }

   $nameprst = $FORM{'name'};
   $nameprst =~ s/\s//g;
   if ($FORM{'name'} && $nameprst) 
   {
     if($nameprst =~/\*/)
     {
	   $nametr = "$FORM{'name'}";
	   ($name,$psw)= split(/\*/,$nametr);
	   $star=1;
     }
	 else
	 {
	   $name = "$FORM{'name'}";
	 }
      $name =~ s/"//g;
      $name =~ s/<//g;
      $name =~ s/>//g;
      $name =~ s/\&//g;
	  $name =~ s/\s$//g;
	  $name =~ s/^\s//g;
   }
   elsif(!($msgnmbr) && ($fct ne "register"))
   {
      &error("Vous devez inscrire votre nom ou un pseudonyme");
   }
   if ($FORM{'registered_only'}) 
   {
      $registered_only = "$FORM{'registered_only'}";  
   }
   
   if($fct eq "showallfrom")
   {
     &showallfrom;
	 exit;
   }
   if ($FORM{'email'} =~ /.*\@.*\..*/) 
   {
      $email = "$FORM{'email'}";
   }  
   if($FORM{'email'} && !($email))
   {
     &error("Votre adresse de courriel n\'a pas le bon format");
   }
   &check_registered;
   if ($FORM{'addmail'} eq "on") 
   {
      if(!($email))
	  {
	    &error("Vous devez spécifier une adresse de courriel");
	  }
	  $addmail = "on";
   }
   
   if ($FORM{'mail_list'}) 
   {
      $mail_list = $FORM{'mail_list'};
   }

   if ($FORM{'subject'}) 
   {
      $subject = "$FORM{'subject'}";
      $subject =~ s/\&/\&amp\;/g;
      $subject =~ s/"/\&quot\;/g;
   }
   elsif(!($msgnmbr) && ($fct ne "register")) {
      &error("Vous devez spécifier un sujet");
   }
   
   if ($FORM{'fltval'}) 
   {
     $fltval = $FORM{'fltval'};
   }
   elsif(!($msgnmbr) && !($followup) && ($fct ne "register")) {
      &error("Vous devez sélectionner la catégorie de sujet");
   }
   
   if ($FORM{'url'} =~ /.*\:.*\..*/ && $FORM{'url_title'}) {
      $message_url = "$FORM{'url'}";
      $message_url_title = "$FORM{'url_title'}";
   }

   if ($FORM{'img'} =~ /.*tp:\/\/.*\..*/) {
      $message_img = "$FORM{'img'}";
   }

   if ($FORM{'body'}) 
   {
      $body = "$FORM{'body'}";
      $body =~ s/\cM//g;
      $body =~ s/\n\n/<p>/g;
      $body =~ s/\n/<br>/g;

      $body =~ s/&lt;/</g; 
      $body =~ s/&gt;/>/g; 
      $body =~ s/&quot;/"/g;
   }
   elsif(!($msgnmbr) && ($fct ne "register")) {
      &error("Vous devez inscrire un message");
   }

   if($FORM{'photo1'} ne "none")
   {
     $photo1 = "$FORM{'photo1'}";
   }
   if($FORM{'photo2'} ne "none")
   {
     $photo2 = "$FORM{'photo2'}";
   }
   if($FORM{'photo3'} ne "none")
   {
     $photo3 = "$FORM{'photo3'}";
   }
   
   &insert_photos;
   
   if ($quote_text == 1) 
   {
      $hidden_body = "$body";
      $hidden_body =~ s/</&lt;/g;
      $hidden_body =~ s/>/&gt;/g;
      $hidden_body =~ s/"/&quot;/g;
   }

   ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
   $month = ($mon + 1);
   @months = ("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
   $year += 1900;
   $long_date = sprintf("%02d %s %4d",$mday,$months[$mon],$year);
   $year %= 100;
   if ($use_time == 1) {
      $date = sprintf("%02d:%02d:%02d %02d/%02d/%02d",$hour,$min,$sec,$month,$mday,$year);
   }
   else 
   {
      $date = sprintf("%02d/%02d/%02d",$mday,$month,$year);
   }
   
   $cookies=$ENV{'HTTP_COOKIE'};
   @couples=split(/\; /,$cookies);
   foreach $couple (@couples)
   {
     ($cook_name,$cook_val)=split(/=/,$couple);
	 $cookies{$cook_name}=$cook_val;
   }
   $ft=$cookies{"ft"};
  if(!($ft))
  {
    $ft = "nul";
  }
}      
####################
sub checkpsw
{
  foreach $ps (@passwords)
  {
    if($adminpass eq $ps)
	{
	  $pass =1;
	}
  }
  if(!$pass)
  {
    &error("Mauvais mot de passe");
  }
}
###########
sub insert_photos
{
  if($photo1)
  {
    if($body =~/\[photo1\]/)
    {
      $body =~ s/\[photo1\]/\<img src=\"$photodir\/$photo1\"\>/;
    }
    else
    {
      $body = "$body"."<br><img src=\"$photodir\/$photo1\"\>";
    }
  }
  if($photo2)
  {
    if($body =~/\[photo2\]/)
    {
      $body =~ s/\[photo2\]/\<img src=\"$photodir\/$photo2\"\>/;
    }
    else
    {
      $body = "$body"."<br><img src=\"$photodir\/$photo2\"\>";
    }
  }
  if($photo3)
  {
    if($body =~/\[photo3\]/)
    {
      $body =~ s/\[photo3\]/\<img src=\"$photodir\/$photo3\"\>/;
    }
    else
    {
      $body = "$body"."<br><img src=\"$photodir\/$photo3\"\>";
    }
  }
}
################
sub check_banned
{
  open(MAIN,"$filter_dir/banned_subject_equal.txt") || die $!;
    @banned_subject_equal = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/banned_subject_contain.txt") || die $!;
    @banned_subject_contain = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/banned_url_contain.txt") || die $!;
    @banned_url_contain = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/block_ips.txt") || die $!;
    @banned_ips = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/banned_body_contain.txt") || die $!;
    @banned_body_contain = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/banned_body_equal.txt") || die $!;
    @banned_body_equal = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/banned_followup_contain.txt") || die $!;
    @banned_followup_contain = <MAIN>;
  close(MAIN);
  open(MAIN,"$filter_dir/needregister_followup.txt") || die $!;
    @needregister_followup = <MAIN>;
  close(MAIN);

  $chk_followup = $FORM{'followup'};
  @chk_followups = split(/\,/,$chk_followup);
  $host_addr=$ENV{'REMOTE_ADDR'};
  $chk_body = $body;
  $chk_body =~ tr/A-Z/a-z/;
  $chk_subject = $subject;
  $chk_subject =~ tr/A-Z/a-z/;
  $chk_message_url = $message_url;
  $chk_message_url =~ tr/A-Z/a-z/;
  foreach $bv (@banned_subject_equal)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
    if($chk_subject eq $bv)
    {
       $banned_key=$bv;
       &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }
  foreach $bv (@banned_subject_contain)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
    if($chk_subject =~ /$bv/)
    {
	$banned_key=$bv;
      &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }
  foreach $bv (@banned_url_contain)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
    if($chk_message_url =~ /$bv/)
    {
	$banned_key=$bv;
      &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }
  foreach $bv (@banned_ips)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
    if($host_addr =~ /$bv/)
    {
	$banned_key=$bv;
      &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }
  foreach $bv (@banned_body_contain)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
    if($chk_body =~ /$bv/)
    {
	$banned_key=$bv;
      &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }

   foreach $bv (@banned_body_equal)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
	$bv =~ s/<([^>]|\n)*>//g;
    if($chk_body eq $bv)
    {
	$banned_key=$bv;
      &mail_banded;
	  &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
    }
  }
  foreach $bv (@banned_followup_contain)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
	foreach $cfl (@chk_followups)
	{
      if($cfl == $bv)
      {
	    $banned_key=$bv;
        &mail_banded;
	    &error("Il n\'est pas possible d\'ajouter ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
      }
	}
  }
  foreach $bv (@needregister_followup)
  {
    $bv =~ tr/A-Z/a-z/;
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
	
	foreach $cfl (@chk_followups)
	{
      if($cfl == $bv && !($reg_usr) || ($cfl < 63773 && !($reg_usr)))
      {
	    $banned_key=$bv;
        &mail_banded;
	    &error("Vous devez avoir un nom enregistré pour soumettre une réponse à ce message. <a href='mailto:forum\@kayakdemer.net'>Contactez-nous</a> si vous croyez qu\'il s\'agit d\'une erreur<br><i>No. de référence:</i> <b>$banned_ref</b>");
      }
	}
  }
}
##############
sub check_hidden
{
  open(MAIN,"$filter_dir/hide.txt") || die $!;
    @hide = <MAIN>;
  close(MAIN);
  $chk_followup = $FORM{'followup'};
  @chk_followups = split(/\,/,$chk_followup);
foreach $bv (@hide)
  {
	$bv =~ s/\n//g;
	$bv =~ s/\s\n$//g;
	$bv =~ s/\r//g;
	foreach $cfl (@chk_followups)
	{
      if($cfl == $bv)
	  {
        $addnouveautes = 0;
		$hide = 1;
      }
	}
  }
}
################
sub write_ip
{
  $host_addr=$ENV{'REMOTE_ADDR'};
  open(MAIN,">>$basedir/ips.txt") || die $!;
    print MAIN "$num - $host_addr\; id=$ft\n";
  close(MAIN);
}
#################
sub write_name
{
  open(MAIN,"$basedir/names.txt") || die $!;
    @allnames=<MAIN>;
  close(MAIN);
  open(MAIN,">$basedir/names.txt") || die $!;
  foreach $nml (@allnames)
  {
    ($tx,$nms) = split(/=/,$nml);
	$nms =~ s/\n//g;
	if($tx == $ft)
	{
	  if(!($nms =~ /$name/))
	  {
	    $nms = $nms.";".$name;
	  }
	  $prntnn = 1;
	}
	print MAIN "$tx=$nms\n";
  }
  if(!($prntnn))
  {
    print MAIN "$ft=$name\n";
  }
  close(MAIN);
}
#################
sub putfltval
{
  open(MAIN,">>$basedir/flt_$fltval.txt") || die $!;
    print MAIN "$num\n";
  close(MAIN);
  ++$tster;
  open(MAIN,">>$basedir/fltdebug.txt") || die $!;
    print MAIN "$num|$fltval|$newsub|$tster\n";
  close(MAIN);
}
##############
sub write_ini_stats
{
  open(MAIN,">$stats_dir/$num.js") || die $!;
  flock(MAIN, 2);
    print MAIN "//0\n";
	print MAIN "document.write(\'<font size=\"'+StatSize+'\"><i>$nmbr</i></font>\')\;";
  close(MAIN);
}
############
sub mk_page
{
  open(MAIN,"$basedir/$addmailtp") || die $!;
    @main = <MAIN>;
  close(MAIN);
  print "Content-type: text/html\n\n";
  foreach $tl (@main)
  {
    if($tl =~ /<!--msgnmbr-->/)
	{
	  print "<input type=\"hidden\" value=\"$addmailto\" name=\"msgnmbr\">";
	}
	else
	{
	  print "$tl";
	}
  }
}
###########
sub enregistrer
{
  $nmtoreg = $FORM{'nom'};
  $nmtoreg =~ tr/A-Z/a-z/;
  $nmtoreg =~ s/\s$//g;
  $nmtoreg =~ s/^\s//g;
  $motdepasse = $FORM{'motdepasse'};
  if(!$nmtoreg)
  {
    &error("Vous devez entrer un nom à enregistrer !");
  }
  if(!($motdepasse))
  {
    &error("Vous devez entrer un mot de passe !");
  }
  open(MAIN,"$basedir/$reg_names") || die $!;
    @rnms = <MAIN>;
  close(MAIN);
  if($nmtoreg eq "liste" && $motdepasse eq "admin")
  {
    print "Content-type: text/html\n\n";
  }
  foreach $rninfs (@rnms)
  {
    ($rname,$rpsw,$remail,$sh_email) = split(/\|/,$rninfs);
	if($rname eq $nmtoreg)
	{
	  $takennm=1;
	}
	++$nrnms;
	if($nmtoreg eq "liste" && $motdepasse eq "admin")
    {
      print "$rname - $rpsw - $remail - $sh_email<br>";
    }
  }
  if($takennm && $nmtoreg ne "liste")
  {
    &error("Le nom $nmtoreg est déjà réservé !<br>$nrnms noms ont déjà été reservés");
  }
  if($nmtoreg eq "liste" && $motdepasse eq "admin")
    {
      print "********<br><b>$nrnms noms enregistrés</b>";
	  exit;
    }
  if($nmtoreg eq "nombre")
  {
    &error("$nrnms noms enregistrés");
  }
  ++$nrnms;
  open(MAIN,">>$basedir/$reg_names") || die $!;
  flock(MAIN, 2);
    print MAIN "$nmtoreg|$FORM{'motdepasse'}|$email|$FORM{'showmail'}\n";
  close(MAIN);
  print "Content-type: text/html\n\n";
  print "<blockquote><font size=+1><br>";
  print "Le nom <b>$nmtoreg</b> a été enregistré avec succès !<br>";
  print "Mot de passe: <b>$FORM{'motdepasse'}</b><br>";
  print "Courriel: <b>$email</b><br>";
  if($FORM{'showmail'} eq "oui")
  {
    print "Votre courriel sera lié à votre nom lors d\'ajout de messages<br><br></font>";
  }
  else
  {
    print "Votre courriel ne sera pas lié à votre nom lors d\'ajout de messages<br><i><br>$nrnms noms ont déjà été reservés</i><br><br></font>";
  }
  print "<p>Comment utiliser votre nom enregistré ?</p><p>Lorsque vous ajoutez un message, entrez (sans espaces !) votre <b>nom</b> suivit d\'une étoile (<b>*</b>) suivit de votre <b>mot de passe</b></p>\n";
  print "<p>Exemple:</p><p>Si votre nom enregistré est <b><i>François</i></b> et votre mot de passe est <i><b>pagaie</b></i>, vous devez entrer:</p><blockquote>\n";
  print "<p>Nom:<input type=\"text\" name=\"textfieldName\" value=\"Fran&ccedil\;ois*pagaie\" size=\"24\" border=\"0\"><br></p></blockquote>\n";
  print "<p>Vous n\'avez pas &agrave\; entrer votre courriel qui sera ajout&eacute\; automatiquement si vous avez s&eacute\;lectionn&eacute\; &quot\;Afficher votre courriel&quot\; lors de l\'enregistrement de votre nom.</p>\n";
  print "<p><b>ATTENTION</b>:  Utilisez votre <i>surnom*motdepasse</i> <u><b>UNIQUEMENT</b></u> sur le forum puisque si vous l\'utilisiez ailleurs sur le site, l\'information n\'&eacute\;tant pas trait&eacute\;, tous verraient apparaitre <i>surnom*motdepasse</i> &agrave\; la place de votre nom et conna&icirc\;traient alors votre pr&eacute\;cieux motdepasse !</p>\n";
  exit;
}
###########
sub check_registered
{
  use DBI;
  $dbh = DBI->connect("DBI:mysql:stephm69_kmnmdatas:localhost","stephm69_kmnm","access") || die "Connect failed: $DBI::errstr\n";
  
  $chckname = $name;
  &removebadchar($chckname);
  $chckname = $string;
  $reg_gif="no_reg.gif";
  
  $query = "SELECT * FROM users WHERE user='$chckname'";
  $sth = $dbh->prepare($query);
  $result = $sth->execute;
  if($datas = $sth->fetchrow_hashref)
  {
    $remail = $datas->{email};
  	$rpsw = $datas->{motdepasse};
  	$sh_email = $datas->{showmail};
    if($psw eq $rpsw)
	{
      if($chckname eq "stephane")
	  {
	    $registered = "<a href=\'http://www.kayakdemer.net/forum/voir_profil.php?user=$chckname\'>$name</a><img src=\'$baseurl/reg3.gif\'>";
	    $regiusr_email = $remail;
	    $reg_gif="reg3.gif";
	  }
	  else
	  {
	    $registered = "<a href=\'http://www.kayakdemer.net/forum/voir_profil.php?user=$chckname\'>$name</a><img src=\'$baseurl/reg2.gif\'>";
	    $regiusr_email = $remail;
	    $reg_gif="reg2.gif";
	  }
	  $email =$remail;
	  $reg_usr=1;
	}
	else
	{
	  &error("Le nom <b>$name</b> est réservé et vous n\'avez pas soumis le bon mot de passe");
	}
  }
  if(!($reg_usr))
  {
    $query = "SELECT * FROM old_users WHERE user='$chckname'";
    $sth = $dbh->prepare($query);
    $result = $sth->execute;
    if($datas = $sth->fetchrow_hashref)
    {
      $remail = $datas->{email};
  	  $rpsw = $datas->{motdepasse};
  	  $sh_email = $datas->{showmail};
      if($psw eq $rpsw)
	  {
        if($sh_email eq "oui")
		{
		  $registered = "<a href=\'mailto:$remail\'>$name</a><img src=\'$baseurl/reg.gif\'>";
		  $regiusr_email = $remail;
		}
		else
		{
		  $registered = "$name<img src=\'$baseurl/reg.gif\'>";
		}
	    $regiusr_email = $remail;
	    $reg_gif="reg.gif";
	    $email =$remail;
	    $reg_usr=1;
	  }
	  else
	  {
	    &error("Le nom <b>$name</b> est réservé et vous n\'avez pas soumis le bon mot de passe");
	  }
    }
  }
  if(!($reg_usr) && $star)
  {
    &error("Le surnom <b><i>$chckname</i></b> et le mot de passe <b><i>$psw</b></i> ne sont pas enregistrés ou n\'utilisez pas le caractère * dans votre surnom");
  }
}
############
sub show_alldocs
{
  $prnt = 0;
  $bgcolor ="eeeeee";
  if($dir)
  {
    $fldocsdir = "$docsdir/$dir";
  }
  else
  {
    $fldocsdir = "$docsdir";
  }
  print "Content-type: text/html\n\n";
  print "<html><head><title>ADMIN: Tous les documents</title>\n";
  print "<script><!--\n";
  print "function openWindow(Larg,Haut,url){specs= \'scrollbars,resizable,width=\'+Larg+\',height=\'+Haut+\',screenX=25,screenY=100\'; popupWin = window.open(url, \'big_photo\', specs)}\n";
  print "//--></script>\n";
  print <<"EOF";
  <style media="screen" type="text/css"><!--
a { text-decoration: none }
a:hover { text-decoration: underline }
--></style>
EOF
  print "</head>";
  print "<body><center>\n";
  print "<br>";
  $ln_pict = 0;
  print "<b>Les documents:</b><br><br>";
  opendir DIR, "$fldocsdir" or die "Can't open directory $dir: $!\n";
  while ($file = readdir DIR)
  {
	if($file ne "." && $file ne ".." && !($file =~ "docdir"))
	{
	  print "<a href=\"wwwboard.pl?fct=voirdocs&doc=$file&dir=$dir\">\n";
	  $temp = $file;
	  $temp =~ s#.*/(.*/.*/.*)$#$1#;
	  $abslink = "$fldocsdir/$temp";
	  $filesize = (stat($abslink))[7];
	  if($filesize < 1000000)
	  {
		$filesize = (int($filesize/10))/100;
		$in = "KB";
	  }
	  else
	  {
		$filesize = (int($filesize/10000))/100;
		$in = "MB";
	  }
	  print "$file</a> ($filesize $in)<br>\n";
	  print "\n\n";
	  $prnt = 1;
	}
	elsif($file =~ "docdir")
	{
	  $dirname = $file;
	  $dirname =~ s/docdir_//g;
	  print "<img src=\"$baseurl/folder.gif\"><a href=\"wwwboard.pl?fct=voirdocs&dir=$file\">$dirname</a><br>\n";
	}
  }
  if(!$prnt)
  {
    print "<i>*** Aucun document ***</i>";
  }
  print "<br><br>\n";
#  print "[ <A HREF=\"\#\" onclick=\'parent.window.close()\'>Fermer cette fenêtre</a> ]";
  print "</body></html>\n";
}
############
sub show_doc
{
  $bgcolor ="eeeeee";
  if($dir)
  {
    $fldocsdir = "$docsurl/$dir";
  }
  else
  {
    $fldocsdir = "$docsurl";
  }
  print "Content-type: text/html\n\n";
  print "<html><head><title>Voir un document</title>\n";
  print "</head>";
  print "<frameset rows=\"50\,\*\"\ border=\"0\" framespacing=\"0\" frameborder=\"no\">";
  print "<frame src=\"http://www.kayakdemer.net/cgi-bin2/wwwboard.pl\?fct=voirdoc_dtls&doc=$doc\" name=\"doc_dtls\">\n";
  print "<frame src=\"$fldocsdir/$doc\" name=\"doc\" noresize>\n";
  print "</frameset>\n";
  print "</html>\n";
}
###########
sub showdoc_dtls
{
  $bgcolor ="eeeeee";
  print "Content-type: text/html\n\n";
  print "<html><head><title>Voir un document</title>\n";
  print <<"EOF";
  <style media="screen" type="text/css"><!--
a { text-decoration: none }
a:hover { text-decoration: underline }
--></style>
EOF
  print "</head>";
  print "<body>\n";
  print "<font size=-1>\n";
  print "<i><b>insertion image:</b></i> \&lt\;img src=\'http://www.kayakdemer.net/docs/$doc\' border=\'0\'\&gt\;<br>\n";
  print "<i><b>insertion lien:</b></i> \&lt\;a href=\'http://www.kayakdemer.net/docs/$doc\' target=\'_blank\'\&gt\;$doc\&lt\;/a\&gt\;\n";
  print "</font>";
  print "</body></html>\n";
}
#####################
sub show_link
{
  $bgcolor ="eeeeee";
  print "Content-type: text/html\n\n";
  print "<html><head><title>Lien vers le message $msgnmbr</title>\n";
  print "</head>";
  print "<body>\n";
  print "<font size=+1>Message $msgnmbr</font><br><br>\n";
  print "<font size=-1>\n";
  print "<i><b>Adresse de ce message:</b></i><br> http://www.kayakdemer.net/wwwboard/messages/$msgnmbr.html<br><br>\n";
  print "<i><b>Lien vers ce message:</b></i><br> \&lt\;a href=\'http://www.kayakdemer.net/wwwboard/messages/$msgnmbr.html\' \&gt\;Message $msgnmbr\&lt\;/a\&gt\;<br><br>\n";
  print "<i><b> ou, à l\'intérieur d\'un message du forum:</b></i><br>\n";
  print "\&lt\;a href=\'$msgnmbr.html\' \&gt\;Message $msgnmbr\&lt\;/a\&gt\;<br>\n";
  print "</font>";
  print "</body></html>\n";
}
#####################
# New File Subroutine

sub new_file 
{
  open(MAIN,"$basedir/$template") || die $!;
    @main = <MAIN>;
  close(MAIN);	
  open(NEWFILE,">$basedir/$mesgdir/$num\.$ext") || die $!;
  flock(NEWFILE, 2);
    foreach $main_line (@main) 
	{
      if($main_line =~ /<!--titre-->/)
	  {
	    print NEWFILE "<TITLE>Le Kayak de Mer dans le Nouveau Monde - Forum\: $subject</TITLE>\n";
	  }
	  if ($main_line =~ /<!--debut-->/) 
	  {
        
		print NEWFILE "<blockquote>\n";
		print NEWFILE "<center><font size=3><b>$subject</b></font>\n";
   		print NEWFILE "</center>\n";
   		print NEWFILE "<hr width=75%>\n";
		print NEWFILE "<center>[ <a href=\"#followups\">Réponses</a> ] [ <a href=\"#postfp\">Soumettre une réponse</a> ]<br>[ <a href=\"javascript:onclick=openWindow2(450,275,\'$cgis_url/wwwboard.pl?addmailto=$num\')\;\">M\'abonner à cette discussion</a> ]<br>\n";
		
		print NEWFILE "</center><hr width=75%><p>\n";
		print NEWFILE "Soumis par ";
		if($registered)
		{
		  print NEWFILE "$registered<br>\n";
		}
		else
		{
		  if ($email) 
		  {
      	    print NEWFILE "<a href=\"mailto:$email\">$name</a><br>\n";
   		  }
   		  else 
		  {
      	    print NEWFILE "<b>$name</b><br>\n";
   		  }
		}
        if ($show_poster_ip) 
		{ 
		  print NEWFILE "($ENV{'REMOTE_ADDR'}) "; 
		}
        print NEWFILE "Date: $long_date<br>\n";
   		if ($followup == 1) 
		{
          print NEWFILE "En réponse à: <a href=\"$last_message\.$ext\">$origsubject</a> soumis par <b>";
          if ($origemail) 
		  {
            print NEWFILE "<a href=\"$origemail\">$origname</a></b> Date: $origdate:<br>\n";
      	  }
      	  else 
		  {
            print NEWFILE "$origname </b>Date: $origdate:<br>\n";
      	  }
        }
        if ($message_img) 
		{
          print NEWFILE "<center><img src=\"$message_img\"></center><p>\n";
        }
		print NEWFILE "<TABLE WIDTH=850 BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
		print NEWFILE "<tr><TD></td><td>\n";
		print NEWFILE "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"828\"><tr><td>\n";
		if($followup && $first_message)
		{
          print NEWFILE "<br><div align=\"left\"><a onmouseover=\"changeImages( /*CMP*/'premier_message_off',/*URL*/'images/premier_message_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'premier_message_off',/*URL*/'images/premier_message_off.gif');return true\" href=\"$baseurl/$mesgdir/$first_message.html\"><img src=\"images/premier_message_off.gif\" alt=\"\" name=\"premier_message_off\" height=\"41\" width=\"188\" border=\"0\"></a></div>";		  
		}
		print NEWFILE "</td><td></td><td>\n";
		print NEWFILE "<!--allmsg-->\n";
		print NEWFILE "</td></tr></table>\n";
		print NEWFILE "</td><td></td></tr>\n";
		print NEWFILE <<"EOF";
		  <TR>
		  <TD COLSPAN=3>
		  <IMG SRC="../../slices_images/message-forum_01.gif" WIDTH=850 HEIGHT=29></TD>
	      </TR>
	      <TR>
		  <TD background="../../slices_images/message-forum_02.gif">
		  <IMG SRC="../../slices_images/message-forum_02.gif" WIDTH=10 HEIGHT=49></TD>
		  <TD>
EOF
   		print NEWFILE "<div align=\"center\"><table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"100%\" bgcolor=\"\#ddecb9\"><tr><td>\n";					
   		print NEWFILE "<!--sujet--><b>$subject</b><br>\n";
   		print NEWFILE "<!--date--><font color=555555><i>$long_date</i></font><br>\n";
   		print NEWFILE "<!--body-->$body <IMG src=\"$cgis_url/mess_stats.pl?id=$num\" width=1 height=1>\n";
		print NEWFILE "</td></tr></table></div>\n";
		print NEWFILE <<"EOF";
		  </TD>
		  <TD background="../../slices_images/message-forum_04.gif">
		  <IMG SRC="../../slices_images/message-forum_04.gif" WIDTH=12 HEIGHT=49></TD>
	      </TR>
	      <TR><TD><IMG SRC="../../slices_images/message-forum_05.gif" WIDTH=10 HEIGHT=18></TD>
		  <TD><IMG SRC="../../slices_images/message-forum_06.gif" WIDTH=828 HEIGHT=18></TD>
		  <TD><IMG SRC="../../slices_images/message-forum_07.gif" WIDTH=12 HEIGHT=18></TD>
	      </TR>
		  </TABLE>
		  <div align="right">
		  <table WIDTH="830" border="0" cellspacing="0" cellpadding="2" font size="-2">
		  <tr height="15">
		
		  
EOF
        print NEWFILE "<td align=\"left\" height=\"15\" width=\"400\"><font size=\"-2\"><i>Lu</i>: </font><font id=\"lk\">\n";
		print NEWFILE "<script src=\"$stats_url/$num.js\" type=\"text/javascript\"></script></font></td>\n";
		print NEWFILE "<td align=\"right\" height=\"15\"><font size=\"-2\"><i>Message no</i>: </font></td>\n";
		print NEWFILE "<td align=\"right\" height=\"15\"><font size=\"-2\"><a href=\"javascript:onclick=openWindow2(550,275,\'http://www.kayakdemer.net/cgi-bin2/wwwboard.pl?fct=showlink\&msgnmbr=$num\');\"><font id=\"lk\">$num</font></a></font></td>\n";
	    print NEWFILE "<td width=70 ></td></tr>\n";
		if($registered)
		{
	      print NEWFILE "<tr height=\"15\">\n";
		  print NEWFILE "<td align=\"left\" height=\"15\" width=\"400\"></td>\n";
	      print NEWFILE "<td align=\"right\" height=\"15\"><font size=\"-2\"><i>Soumis par</i> \<font id=\"lk\">$name</font>: </font></td>\n";
		  &get_nmbmesgs($name);
	      print NEWFILE "<td align=\"right\" height=\"15\"><font size=\"-2\"><b><a href=\"http://www.kayakdemer.net/cgi-bin2/wwwboard.pl?fct=showallfrom\&name=$name\&msgnmbr=$num\"><font id=\"lk\">$totalmsg</font></a></b></font></td><td width=70 ></td></tr>\n";
		}
	    print NEWFILE "</table>\n";
		print NEWFILE "<br>\n";
		print NEWFILE "</div>\n";
		print NEWFILE "<br>\n";
   		if ($message_url) 
		{
      	  print NEWFILE "<ul><li><a href=\"$message_url\" target=\"_blank\">$message_url_title</a></ul>\n";
   		}
        print NEWFILE "<br><hr width=75%><p>\n";
   		print NEWFILE "<a name=\"followups\">Réponses:</a><br>\n";
   		print NEWFILE "<ul><!--insert: $num-->\n";
   		print NEWFILE "</ul><!--end: $num-->\n";
   		print NEWFILE "<br><center><hr width=75%><p>\n";
   		print NEWFILE "<a name=\"postfp\">Soumettre une réponse</a><p>\n";
		print NEWFILE <<"EOF";
		<table width="597" border="0" cellspacing="0" cellpadding="3" bgcolor="#bbbbbb">
							<tr>
								<td>
									<table border="0" cellspacing="0" cellpadding="4" bgcolor="#ffffff">
										<tr>
											<td bgcolor="#eeeeee">
											<center><br>
EOF
   		print NEWFILE "<form name=\"boardform\" method=POST action=\"$cgi_url\">\n";
   		print NEWFILE "<input type=hidden name=\"followup\" value=\"";
   		if ($followup == 1) 
		{
          foreach $followup_num (@followup_num) 
		  {
            print NEWFILE "$followup_num,";
          }
        }
   		print NEWFILE "$num\">\n";
   		print NEWFILE "<input type=hidden name=\"origname\" value=\"$name\">\n";
   		if ($email) 
		{
          print NEWFILE "<input type=hidden name=\"origemail\" value=\"$email\">\n";
   		}
    	print NEWFILE "<!--mail_list--><input type=hidden name=\"mail_list\" value=\"$mail_list";
		if($addmail eq "on" && !($mail_list =~ /$email/))
		{
		  print NEWFILE "|$email";
		}
		print NEWFILE "\">\n";
		if(!$followup)
		{
		  $first_message = $num;
		}
		print NEWFILE "<input type=hidden name=\"first_message\" value=\"$first_message\">\n";
		print NEWFILE "<input type=hidden name=\"origsubject\" value=\"$subject\">\n";
   		print NEWFILE "<input type=hidden name=\"origdate\" value=\"$date\">\n";
		if($registered_only)
		{
		  print NEWFILE '*** <i><b>VOUS DEVEZ AVOIR UN <a href="http://www.kayakdemer.net/profils/register_form.php" target="_blank">NOM ENREGISTRÉ</a> <br>POUR POUVOIR RÉPONDRE À CE MESSAGE</b></i> ***<BR><table width: 306  height: 5 border="0" cellspacing="0" cellpadding="5"><tr><td align="center">Nom : </td><td><input type="text" name="nom" size="24" / align="absmiddle"></td></tr><tr><td>Mot de passe :</td><td><input type="password" name="motdepasse" size="24" /></td></tr></table><input type="hidden" name="registered_only" value="oui"/>';
		}
		else
		{
		  print NEWFILE "Nom: <input type=text name=\"name\" size=50><a href=\"javascript:openWindow('http://www.kayakdemer.net/equipement/infos.html#profil_ready')\"><img src=\"http://www.kayakdemer.net/equipement/images/profil_ready.gif\" alt=\"\" height=\"32\" width=\"35\" align=\"absmiddle\" border=\"0\"></a><br><font size=\"1\"><i>Si votre nom est <a href=\"http://www.kayakdemer.net/profils/register_form.php\" target=\"_blank\">enregistr&eacute\;</a> utilisez:</i> <b>surnom*motdepasse</b></font>\n";
		}
   		print NEWFILE "<p>E-Mail: <input type=text name=\"email\" size=50><br>\n";
		print NEWFILE "<input type=\"checkbox\" name=\"addmail\"> Recevoir un courriel lors de réponses<p>\n";
   		if ($subject_line == 1) 
		{
      	  if ($subject_line =~ /^Re:/) 
		  {
            print NEWFILE "<input type=hidden name=\"subject\" value=\"$subject\">\n";
            print NEWFILE "Sujet: <b>$subject</b><p>\n";
      	  }
          else 
		  {
            print NEWFILE "<input type=hidden name=\"subject\" value=\"Re: $subject\">\n";
            print NEWFILE "Sujet: <b>Re: $subject</b><p>\n";
          }
        } 
        elsif ($subject_line == 2) 
		{
          print NEWFILE "Sujet: <input type=text name=\"subject\" size=50><p>\n";
        }
        else 
		{
          if ($subject =~ /^Re:/) 
		  {
            print NEWFILE "Sujet: <input type=text name=\"subject\"value=\"$subject\" size=50><p>\n";
          }
          else 
		  {
            print NEWFILE "Sujet: <input type=text name=\"subject\" value=\"Re: $subject\" size=50><p>\n";
          }
        }
		
		print NEWFILE <<"EOF";
	<br>
<a onmouseover="changeImages('add_photo_off','../images/add_photo_on.gif');return true" onmouseout="changeImages('add_photo_off','../images/add_photo_off.gif');return true" href="javascript:openWindow3('http://www.kayakdemer.net/wwwboard/add_photo.html',750,500)"><img src="../images/add_photo_off.gif" alt="" name="add_photo_off" height="32" width="194" border="0"></a><br>
									<input type="hidden" name="photo1" value="none" border="0"><input type="hidden" name="photo2" value="none" border="0"><input type="hidden" name="photo3" value="none" border="0">
<br><a href="javascript:showphotos()"><SPAN ID="special_link">Photos jointes</SPAN></a>:&nbsp;<img src="http://www.kayakdemer.net/wwwboard/images/0.gif" alt="" height="14" width="11" align="absmiddle" border="0" name="nmbr_photos">
<br><br>Commentaires:
<script src="http://www.kayakdemer.net/wwwboard/editor_script.js"></script>
EOF
   		print NEWFILE "<textarea name=\"body\" COLS=65 ROWS=10 wrap=\"virtual\" onblur=\"storeRange()\;\">\n";
   		if ($quote_text == 1) 
		{
          @chunks_of_body = split(/\&lt\;p\&gt\;/,$hidden_body);
          foreach $chunk_of_body (@chunks_of_body) 
		  {
            @lines_of_body = split(/\&lt\;br\&gt\;/,$chunk_of_body);
            foreach $line_of_body (@lines_of_body) 
			{
              print NEWFILE ": $line_of_body\n";
            }
            print NEWFILE "\n";
          }
        }
   		print NEWFILE "</textarea><br>\n";
		print NEWFILE <<"EOF";
<script src="http://www.kayakdemer.net/wwwboard/emot_script.js"></script>
EOF
   		print NEWFILE "<p>\n";
   		print NEWFILE "URL lien optionnel : <input type=text name=\"url\" size=50><br>\n";
   		print NEWFILE "Titre du lien: <input type=text name=\"url_title\" size=48><br>\n";
   		print NEWFILE "URL image optionnel: <input type=text name=\"img\" size=49><p>\n";
		print NEWFILE <<"EOF";

<!-- ******* ANTI-SPAM CODE START ************ -->

<input type=hidden name="need_code" value="yes">
<table bgcolor="#99ccff">		
<tr><td  class="sub_menu">

Code antispam
</td><td class="basic_text">

<div ID="artgf"></div>
</td></tr>

<tr><td  class="sub_menu">
Entrez le code 
</td><td>
<input type="hidden" id="artgfghv" name="artgfghv">
<input type="text"  id="artgfgev" name="artgfgev" value="" size="6">
<script language="javascript">
<!--

var artgfn = Math.round(Math.random()*9000+1000);
var artgfg = artgfn.toString();
document.getElementById("artgf").innerHTML = artgfg.toString();

var obj = document.getElementById("artgfghv");
obj.value=artgfg;

//-->
</script>
</td></tr>	
</table>
<br><br>
<!-- ******* ANTI-SPAM CODE END ************ -->
EOF
   		print NEWFILE "<input type=submit value=\"Soumettre\"> <input type=reset value=\"Effacer\" onclick=\"reset_photos()\">\n";
		print NEWFILE <<"EOF";
			  		  		  			  </center>
										  </td>
										</tr>
									</table>
								</td>
							</tr>
						</table>
EOF
   		print NEWFILE "<p><hr width=75%>\n";
        print NEWFILE "<center>[ <a href=\"#followups\">Réponses</a> ] [ <a href=\"#postfp\">Soumettre une réponse</a> ] </center>\n";
		print NEWFILE "</blockquote>\n";
      }
      else
      {
        print NEWFILE "$main_line";
      }
    }
  close(NEWFILE);
}
#######################
sub get_nmbmesgs
{
  $nametocheck = $_[0];
  removebadchar($nametocheck);
  $nametocheck = $string;
  $nmbrmsgs = 0;
  open(MAIN2,"$basedir/$nmbmsgsfile") || die $!;
    @allusrsnmbmsgs = <MAIN2>;
  close(MAIN2);
  foreach $usrnmbr (@allusrsnmbmsgs)
  {
    ($usrx,$nmbrx) = split(/\|/,$usrnmbr);
	$usrx =~ tr/A-Z/a-z/;
	$nmbrx =~ s/\n//g;
	$nmbrx =~ s/\s\n$//g;
	$nmbrx =~ s/\r//g;
	if($usrx eq $nametocheck)
	{
	  $totalmsg = $nmbrx;
	}
  }
  if(!($totalmsg))
  {
    open(MAIN3,"$basedir/$mesgfile_all") || die $!;
      @main3 = <MAIN3>;
    close(MAIN3);
	foreach $mainline (@main3)
	{
	  removebadchar($mainline);
	  $mainline_low = $string;
	  if(($mainline_low =~ /\>$nametocheck\</) && $mainline_low =~ /\/reg/)
	  {
	    ++$totalmsg;
	  }
	}
  }
  ++$totalmsg;
  open(MAIN4,">$basedir/$nmbmsgsfile") || die $!;
  flock(MAIN4, 2);
    foreach $usrnm (@allusrsnmbmsgs)
    {
      ($usrx,$nmbrx) = split(/\|/,$usrnm);
	  $nmbrx =~ s/\n//g;
	  $nmbrx =~ s/\s\n$//g;
	  $nmbrx =~ s/\r//g;
	  if($usrx eq $nametocheck)
	  {
	    print MAIN4 "$usrx|$totalmsg\n";
		$nameadded = 1;
	  }
	  elsif($usrx)
	  {
	    print MAIN4 "$usrx|$nmbrx\n";
	  }
    }
	if(!($nameadded))
	{
	  print MAIN4 "$nametocheck|$totalmsg\n";
	}
  close(MAIN4);
}
###############################
# Main WWWBoard Page Subroutine
sub main_page 
{
   open(MAIN,"$basedir/$mesgfile_all") || die $!;
     @main = <MAIN>;
   close(MAIN);
   ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time-5*3600);
   $month = ($mon + 1);  
   $hr = int(($hour/24)*10)/10;
   $tempsub=($year-101)*365+($mon+1)*30+$mday+$hr;
   open(MAIN,">$basedir/$mesgfile_all") || die $!;
   flock(MAIN, 2);
   if($registered_only)
	{
	   $incl_reg_incon = "<img src='http://www.kayakdemer.net/wwwboard/images/registred_only.png' align='absmiddle'> "; 
	}
   if ($followup == 0) {
      foreach $main_line (@main) {
         if ($main_line =~ /<!--begin-->/) {
            print MAIN "<!--begin-->\n";
	        print MAIN "<ul><!--top: $num--><li>".$incl_reg_incon."<a href=\"$baseurl/$mesgdir/$num\.$ext\"><b>$subject</b></a> - <b>$name</b><img src=\'$baseurl/$reg_gif\'> <i>$long_date</i>\n";
		    print MAIN "<SCRIPT><!--\n";
            print MAIN "nouveau($tempsub)\n";
            print MAIN "//--></SCRIPT>\n";
            print MAIN "(<!--responses: $num-->R:0 L:<? shownmbr($num) ?>)\n";
            print MAIN "<!--insert: $num-->\n";
            print MAIN "</ul><!--end: $num-->\n";
         }
         else {
            print MAIN "$main_line";
         }
      }
   }
   else {
      foreach $main_line (@main) {
	 $work = 0;
         if ($main_line =~ /<!--insert: $last_message-->/) {
            print MAIN "<ul><!--top: $num--><li><a href=\"$baseurl/$mesgdir/$num\.$ext\"><i>$subject</i></a> - <b>$name</b><img src=\'$baseurl/$reg_gif\'> <i>$long_date</i>\n";
			print MAIN "<SCRIPT><!--\n";
            print MAIN "nouveau($tempsub)\n";
            print MAIN "//--></SCRIPT>\n";
            print MAIN "(<!--responses: $num-->R:0 L:<? shownmbr($num) ?>)\n";
            print MAIN "<!--insert: $num-->\n";
            print MAIN "</ul><!--end: $num-->\n";
			print MAIN "<!--insert: $last_message-->\n";

         }
         elsif ($main_line =~ /\(<!--responses: (.*)-->R:(.*)/) 
		 {
           $response_num = $1;
           $num_responses = $2;
           $num_responses++;
           foreach $followup_num (@followup_num) 
		   {
             if ($followup_num == $response_num) 
			 {
               print MAIN "(<!--responses: $followup_num-->R:$num_responses L:<? shownmbr($followup_num) ?>)\n";
		       $work = 1;
             }
           }
           if ($work != 1) 
		   {
             print MAIN "$main_line";
           }
         }
		 elsif ($main_line =~ /\(<!--responses: (.*)-->(.*)\)/) 
		 {
           $response_num = $1;
           $num_responses = $2;
           $num_responses++;
           foreach $followup_num (@followup_num) 
		   {
             if ($followup_num == $response_num) 
			 {
               print MAIN "(<!--responses: $followup_num-->$num_responses)\n";
		       $work = 1;
             }
           }
           if ($work != 1) 
		   {
             print MAIN "$main_line";
           }
         }
         else 
		 {
           print MAIN "$main_line";
         }
      }
   }
   close(MAIN);
}
############################################
# Add Followup Threading to Individual Pages
sub thread_pages {

   foreach $followup_num (@followup_num) 
   {
      open(FOLLOWUP,"$basedir/$mesgdir/$followup_num\.$ext");
      @followup_lines = <FOLLOWUP>;
      close(FOLLOWUP);

      open(FOLLOWUP,">$basedir/$mesgdir/$followup_num\.$ext");
	  flock(FOLLOWUP, 2);
      foreach $followup_line (@followup_lines) {
         $work = 0;
		 if ($followup_line =~ /<!--insert: $last_message-->/) {
            print FOLLOWUP "<ul><!--top: $num--><li><a href=\"$num\.$ext\">$subject</a> <b>$name</b><img src=\'$baseurl/$reg_gif\'> <i>$date</i>\n";
            print FOLLOWUP "(<!--responses: $num-->0)\n";
            print FOLLOWUP "<!--insert: $num-->\n";
            print FOLLOWUP "</ul><!--end: $num-->\n";
			print FOLLOWUP "<!--insert: $last_message-->\n";
         }
         elsif ($followup_line =~ /\(<!--responses: (.*)-->(.*)\)/) 
		 {
            $response_num = $1;
            $num_responses = $2;
            $num_responses++;
            foreach $followup_num (@followup_num) {
               if ($followup_num == $response_num) {
                  print FOLLOWUP "(<!--responses: $followup_num-->$num_responses)\n";
                  $work = 1;
               }
            }
            if ($work != 1) {
               print FOLLOWUP "$followup_line";
            }
         }
		 elsif($followup_line =~ /<!--allmsg-->/)
		 {
   		   print FOLLOWUP "<div align=\"right\"><a onmouseover=\"changeImages( /*CMP*/'toutes_reponses_off',/*URL*/'images/toutes_reponses_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'toutes_reponses_off',/*URL*/'images/toutes_reponses_off.gif');return true\" href=\"$cgi_url\?viewnbr=$followup_num\"><img src=\"images/toutes_reponses_off.gif\" alt=\"\" name=\"toutes_reponses_off\" height=\"41\" width=\"214\" border=\"0\"></a></div>\n";
		 }
         else {
            print FOLLOWUP "$followup_line";
         }
      }
      close(FOLLOWUP);
   }
}

############################

sub return_html 
{
   
   open(MAIN,"$basedir/$template");
     @template = <MAIN>;
   close(MAIN);
   print "Content-type: text/html\n\n";
   foreach $tl (@template)
   {
     if ($tl =~ /<!--debut-->/) 
	 {
	   print "<blockquote><br><br><br>";
	   print "Le message suivant a été ajouté au forum:<p><hr width=75%><p>\n";
   	   print "<b>Nom:</b> $name<img src=\'$baseurl/$reg_gif\'><br>\n";
   	   print "<b>E-Mail:</b> $email<br>\n";
   	   if($addmail eq "on")
   	   {
         print "<b>Recevoir un message lors de réponses:</b> oui<br>\n";
   	   }
   	   print "<b>Sujet:</b> $subject<br>\n";
   	   print "<b>Message:</b><p>\n";
   	   print "$body<p>\n";
   	   if ($message_url) 
	   {
         print "<b>Lien:</b> <a href=\"$message_url\">$message_url_title</a><br>\n";
   	   }
   	   if ($message_img) 
	   {
         print "<b>Image:</b> <img src=\"$message_img\"><br>\n";
   	   }
   	   print "<b>Ajouté en date:</b> $long_date<p>\n";
   	   if($chgfrontmsg == 1)
   	   {
         print "<i>*** Votre message pourrait ne pas être affiché imédiatement sur la page d\'accueil ***</i>\n";
   	   }	 
   	   print "<hr width=75%>\n";
   	   print "<center>[ <a href=\"$baseurl/$mesgdir/$num\.$ext\">Aller à votre message</a> ] [ <a href=\"$direct_wwboard_url\">Retour au forum</a> ]</center>\n";
	 }
	 else
	 {
	   print $tl;
	 }
   }
}

#################################

sub increment_num {
   open(NUM,">$basedir/$datafile") || die $!;
   flock(NUM, 2);
   print NUM "$num";
   close(NUM);
}

#############################

sub error {
   $error = $_[0];

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

   if ($error eq 'no_name') {
      print "<html><head><title>$title ERROR: No Name</title></head>\n";
      print "<body><center><h1>ERROR: No Name</h1></center>\n";
      print "You forgot to fill in the 'Name' field in your posting.  Correct it below and re-submit.  The necessary fields are: Name, Subject and Message.<p><hr size=7 width=75%><p>\n";
      &rest_of_form;
   }
   elsif ($error eq 'no_subject') {
      print "<html><head><title>$title ERROR: No Subject</title></head>\n";
      print "<body><center><h1>ERROR: No Subject</h1></center>\n";
      print "You forgot to fill in the 'Subject' field in your posting.  Correct it below and re-submit.  The necessary fields are: Name, Subject and Message.<p><hr size=7 width=75%><p>\n";
      &rest_of_form;
   }
   elsif ($error eq 'no_body') {
      print "<html><head><title>$title ERROR: No Message</title></head>\n";
      print "<body><center><h1>ERROR: No Message</h1></center>\n";
      print "You forgot to fill in the 'Message' field in your posting.  Correct it below and re-submit.  The necessary fields are: Name, Subject and Message.<p><hr size=7 width=75%><p>\n";
      &rest_of_form;
   }
   elsif ($error eq 'field_size') {
      printf "<html><head><title>$title ERROR: Field too Long</title></head>\n";
      print "<body><center><h1>ERROR: Field too Long</h1></center>\n";
      print "One of the form fields in the message submission was too long.  The following are the limits on the size of each field (in characters):<p><ul>\n";
      print "<li>Name: $max_len{'name'}\n";
      print "<li>E-Mail: $max_len{'email'}\n";
      print "<li>Subject: $max_len{'subject'}\n";
      print "<li>Body: $max_len{'body'}\n";
      print "<li>URL: $max_len{'url'}\n";
      print "<li>URL Title: $max_len{'url_title'}\n";
      print "<li>Image URL: $max_len{'img'}\n";
      print "</ul>Please modify the form data and resubmit.<p><hr size=7 width=75%><p>\n";
      &rest_of_form;
   }
   else 
   {
     print "<html><head><title>ERREUR</title></head>\n";
     print "<body><center><h1>ERREUR:</h1>\n";
     print "<br></center><blockquote>$error</blockquote><br><br>\n";
     print "<center><a href=\"javascript\:history.go\(-1\)\">[ Retour au formulaire ]</a></center><br><p><hr width=75%>\n";
     print "</body></html>";
   }
   exit;
}

###############################

sub rest_of_form {

   print "<form name=\"boardform\" method=POST action=\"$cgi_url\">\n";

   if ($followup == 1) {
      print "<input type=hidden name=\"origsubject\" value=\"$FORM{'origsubject'}\">\n";
      print "<input type=hidden name=\"origname\" value=\"$FORM{'origname'}\">\n";
      print "<input type=hidden name=\"origemail\" value=\"$FORM{'origemail'}\">\n";
      print "<input type=hidden name=\"origdate\" value=\"$FORM{'origdate'}\">\n";
      print "<input type=hidden name=\"followup\" value=\"$FORM{'followup'}\">\n";
   }
   print "Name: <input type=text name=\"name\" value=\"$FORM{'name'}\" size=50><br>\n";
   print "E-Mail: <input type=text name=\"email\" value=\"$FORM{'email'}\" size=50><p>\n";
   if ($subject_line == 1) {
      print "<input type=hidden name=\"subject\" value=\"$FORM{'subject'}\">\n";
      print "Subject: <b>$FORM{'subject'}</b><p>\n";
   } 
   else {
      print "Subject: <input type=text name=\"subject\" value=\"$FORM{'subject'}\" size=50><p>\n";
   }
   print "Message:<br>\n";
   print "(<i>Vous pouvez <a href=\"../html.html\">inclure du HTML</a></i>)<br>\n";
   print "<textarea COLS=50 ROWS=10 name=\"body\">\n";
   $FORM{'body'} =~ s/</&lt;/g;
   $FORM{'body'} =~ s/>/&gt;/g;
   $FORM{'body'} =~ s/"/&quot;/g;
   print "$FORM{'body'}\n";
   print "</textarea><p>\n";
   print <<"EOF";
<a href="javascript:addsmile(' X( ')"><img src="http://www.w10.ca/emot/angry.gif" width="15" height="15" border="0"></a> 
<a href="javascript:addsmile(' :f ')"><img src="http://www.w10.ca/emot/flirt.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :x ')"><img src="http://www.w10.ca/emot/dead.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :( ')"><img src="http://www.w10.ca/emot/frown.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :h ')"><img src="http://www.w10.ca/emot/cool.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :i ')"><img src="http://www.w10.ca/emot/idea.gif" width="20" height="15" border=0></a> 
<a href="javascript:addsmile(' :) ')"><img src="http://www.w10.ca/emot/smile.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' ;) ')"><img src="http://www.w10.ca/emot/wink.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :l ')"><img src="http://www.w10.ca/emot/hrmpf.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :o ')"><img src="http://www.w10.ca/emot/redface.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :00 ')"><img src="http://www.w10.ca/emot/look.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :p ')"><img src="http://www.w10.ca/emot/tounge.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :q ')"><img src="http://www.w10.ca/emot/quest.gif" width="20" height="15" border=0></a> 
<a href="javascript:addsmile(' :r ')"><img src="http://www.w10.ca/emot/shame.gif" width="15" height="15" border=0></a> 
<a href="javascript:addsmile(' :D ')"><img src="http://www.w10.ca/emot/biggrin.gif" width="15" height="15" border=0></a>
<a href="javascript:addsmile(' :e ')"><img src="http://www.w10.ca/emot/supergrin.gif" width="15" height="15" border=0></a>
EOF
   print "<p>Optional Link URL: <input type=text name=\"url\" value=\"$FORM{'url'}\" size=45><br>\n";
   print "Link Title: <input type=text name=\"url_title\" value=\"$FORM{'url_title'}\" size=50><br>\n";
   print "Optional Image URL: <input type=text name=\"img\" value=\"$FORM{'img'}\" size=45><p>\n";
   print "<input type=submit value=\"Post Message\"> <input type=reset>\n";
   print "</form>\n";
   print "<br><hr size=7 width=75%>\n";
   if ($show_faq == 1) {
      print "<center>[ <a href=\"#followups\">Follow Ups</a> ] [ <a href=\"#postfp\">Post Followup</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ] [ <a href=\"$baseurl/$faqfile\">FAQ</a> ]</center>\n";
   }
   else {
      print "<center>[ <a href=\"#followups\">Follow Ups</a> ] [ <a href=\"#postfp\">Post Followup</a> ] [ <a href=\"$baseurl/$mesgfile\">$title</a> ]</center>\n";
   }
   print "</body></html>\n";
}

######################################
sub updt_frontmsg
{
  open(LSTMSGDT,"$basedir/$lstmsgtmfile");
    $lstmsgdt = <LSTMSGDT>;
  close(LSTMSGDT);
  open(MXTIME,">$basedir/$maxtimejsfl");
  flock(MXTIME, 2);
    print MXTIME "var maxtime = $maxtime";
  close(MXTIME);
  if(($tempsub - $lstmsgdt) >= $maxtime)
  {
    system ("perl", "$cgis_dir/chgforum.pl", "");
  }
}

###################
sub showallfrom
{
  open(MAIN,"$basedir/$template") || die $!;
    @template = <MAIN>;
  close(MAIN);
  open(MAIN3,"$basedir/$mesgfile_all") || die $!;
    @mainfilelines = <MAIN3>;
  close(MAIN3);
  print "Content-type: text/html\n\n";
  foreach $tl (@template)
  {
    if($tl =~ /<!--debut-->/)
    {
      print "<blockquote>\n\n";
	  print "<a onmouseover=\"changeImages( /*CMP*/'retour_message_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/retour_message_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'retour_message_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/retour_message_off.gif');return true\" href=\"$baseurl/$mesgdir/$msgnmbr.html\"><img src=\"http://www.kayakdemer.net/wwwboard/images/retour_message_off.gif\" name=\"retour_message_off\" height=\"27\" width=\"188\" border=\"0\"></a>\n";
	  print "<br><br><center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>Messages soumis par $name</i></b></font></td></tr></table></center><br>\n";
	  foreach $mainline (@mainfilelines)
	  {
	    &removebadchar($mainline);
		$mainline_nocap = $string;
		&removebadchar($name);
		$name_nocap = $string;
	    if(($mainline_nocap =~ /\>$name_nocap\</) && $mainline =~ /\/reg/)
	    {
	      $mainline =~ s/<ul>//g;
		  $mainline =~ s/<li>//g;
		  print "$mainline";
		  print "<br>\n";
	    }
	  }
	}
	else
    {
      print "$tl";
    }
  }
}
##################
sub removebadchar
{
	    $string = $_[0];
		$string  =~ tr/A-Z/a-z/;
		$string  =~ s/[À|à|Ã|ã|Â|â]/a/g;
		$string  =~ s/[É|é|È|è|ê|Ê|ë|Ë]/e/g;
		$string  =~ s/[Ç|ç]/c/g;
		$string  =~ s/[Î|î|Ï|ï]/i/g;
		$string  =~ s/[Ö|ö|Ô|ô]/o/g;
		$string  =~ s/[Û|û|Ü|ü|ù|Ù]/u/g;
}
##################
sub view_all
{
  open(MSG,"$basedir/$mesgdir/$viewnbr.html");
    @msgtoshow = <MSG>;
  close(MSG);
  open(MAIN,"$basedir/$template") || die $!;
    @template = <MAIN>;
  close(MAIN);	
  $level = 0;
  print "Content-type: text/html\n\n";
  foreach $tl (@template)
  {
    if($tl =~ /<!--style-->/)
	{
	  print '<style type="text/css"><!--'."\n";
	  print "#id1 { margin-left: 20px; }\n";
	  print "#id2 { margin-left: 40px; }\n";
	  print "#id3 { margin-left: 60px; }\n";
	  print "#id4 { margin-left: 80px; }\n";
	  print "#id5 { margin-left: 100px; }\n";
	  print "#id6 { margin-left: 120px; }\n";
	  print "#id7 { margin-left: 140px; }\n";
	  print "#id8 { margin-left: 160px; }\n";
	  print "#id9 { margin-left: 180px; }\n";
	  print "#id10 { margin-left: 200px; }\n";
	  print "#id11 { margin-left: 220px; }\n";
	  print "#id12 { margin-left: 240px; }\n";
	  print "#id13 { margin-left: 260px; }\n";
	  print "#id14 { margin-left: 280px; }\n";
	  print "#id15 { margin-left: 300px; }\n";
	  print "#id16 { margin-left: 320px; }\n";
	  print "#id17 { margin-left: 340px; }\n";
	  print "#id18 { margin-left: 360px; }\n";
	  print "#id19 { margin-left: 380px; }\n";
	  print "#id20 { margin-left: 400px; }\n";
	  print "--></style>\n";
	}
	if($tl =~ /<!--debut-->/)
    {
	  ++$level;
	  print "<div id=\"id1\"><a onmouseover=\"changeImages( /*CMP*/'retour_message_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/retour_message_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'retour_message_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/retour_message_off.gif');return true\" href=\"$baseurl/$mesgdir/$viewnbr.html\"><img src=\"http://www.kayakdemer.net/wwwboard/images/retour_message_off.gif\" name=\"retour_message_off\" height=\"27\" width=\"188\" border=\"0\"></a></div>\n";
	  foreach $ml (@msgtoshow)
	  {
	    if($ml =~ /Soumis par/)
		{
		  $auteur = $ml;
		  $auteur =~ s/<br>//g;
		  $auteur =~ s/Date.*$//g;
		}
		if($ml =~ /<!--sujet-->/)
		{
		  print "<div id=\"id".$level."\">";
		  print "<table  border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"500\">\n";
	  	  print "<tr><td bgcolor=\"\#ffffcc\">\n<a href=\"$baseurl/$mesgdir/$viewnbr.html\">";
	  	  print "$ml\n";
	  	  print "</a>";
		}
		if($ml =~ /<!--date-->/)
		{
		  print "$auteur - $ml\n";
		  print "</td></tr>\n";
		}
		if($ml =~ /<!--body-->/)
		{
		  print '<tr><td bgcolor="#eeeeee">'.$ml.'</td></tr>'."\n";
		  print "<tr><td align=\"right\">";
#		  print "<a onmouseover=\"changeImages( /*CMP*/'repondre_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/repondre_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'repondre_off',/*URL*/'http://www.kayakdemer.net/wwwboard/images/repondre_off.gif');return true\" href=\"$baseurl/$mesgdir/$viewnbr.html\#postfp\"><img src=\"http://www.kayakdemer.net/wwwboard/images/repondre_off.gif\" name=\"repondre_off\" height=\"26\" width=\"134\" border=\"0\"></a>";
		  print "</td></tr></table>\n";
		  print "</div>\n";
		}
		if($ml =~ /<!--top:/ && !($ml =~ /<ul>/))
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-9;
		  $msgnmbr = substr($ml, 9, $nmbrlt);
		  $bq=1;
		  if($level < 20)
	      {
		    ++$level;
  		  }
		  &showmsg;

		  
		}
		if($ml =~ /<!--top:/ && $ml =~ /<ul>/)
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-13;
		  $msgnmbr = substr($ml, 13, $nmbrlt);
		  $bq=1;

		  &showmsg;

		}
		if($ml =~ /<!--end:/)
		{
		  if($level >1)
		  {
		    --$level;
		  }
		}
	  }
    }
    else
    {
      print "$tl";
    }
  }
}
#########
sub showmsg
{
  my @thmsg;
  my $thrmsgln;
  $td = 0;
  if($bq)
  {
    if($level < 20)
	{
	  ++$level;
	}
	
	$bq="";
  }
  open(MSG,"$basedir/$mesgdir/$msgnmbr.html");
    @thmsg = <MSG>;
  close(MSG);
  foreach $thrmsgln (@thmsg)
  {
    
	if($thrmsgln =~ /Soumis par/)
	{
	  
	  $auteur = "$thrmsgln";
	  $auteur =~ s/<br>//g;
	  $auteur =~ s/Date.*$//g;
	}
	if($thrmsgln =~ /<!--sujet-->/)
	{
  	   print "<div id=\"id".$level."\">";
	  print "<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"500\">\n";
	  print "<tr><td bgcolor=\"\#ffffcc\">\n<a href=\"$baseurl/$mesgdir/$msgnmbr.html\">";
	  print "$thrmsgln\n";
	  print "</a>";
	}
	if($thrmsgln =~ /<!--date-->/)
	{
	  print "$auteur - $thrmsgln\n";
	  print "</td></tr>\n";
	}
	if($thrmsgln =~ /<!--body-->/)
	{
	  print "<tr><td  bgcolor=\"#eeeeee\">$thrmsgln</td></tr>\n";
	  print "<tr><td align=\"right\">";
#	  
	  print "<a onmouseover=\"changeImages( /*CMP*/'repondre_off$msgnmbr',/*URL*/'http://www.kayakdemer.net/wwwboard/images/repondre_on.gif');return true\" onmouseout=\"changeImages( /*CMP*/'repondre_off$msgnmbr',/*URL*/'http://www.kayakdemer.net/wwwboard/images/repondre_off.gif');return true\" href=\"$baseurl/$mesgdir/$msgnmbr.html\#postfp\"><img src=\"http://www.kayakdemer.net/wwwboard/images/repondre_off.gif\" name=\"repondre_off$msgnmbr\" height=\"26\" width=\"134\" border=\"0\"></a>";
	  print "</td></tr></table>\n";
	  print "</div>\n";
	}
  }
}

###########
sub filter
{
  &filter_stats;
  if($filter eq "active")
  {
	&filter_active;
	&chkmailqueue;
	exit;
  }
  if($filter eq "recents")
  {
    &filter_recents;
	&chkmailqueue;
	exit;
  }
  if($filter eq "tout")
  {
    &filter_tout;
	&chkmailqueue;
	exit;
  }
  
  %filters = ("equipement","Équipement",
  		   	  "technique","Technique/Sécurité/Cours...",
			  "evenement","Sorties/Événement/Rencontres...",
			  "destinations","Destinations",
			  "construction","Construction",
			  "autre","Autre",
			  "milieu","Milieu, environnement, météo, faune, flore"); 
			  
  
  if($filter eq "parsujet")
  {
	&filter_parsujet;
	&chkmailqueue;
	exit;
  }		  
  $prnt=0;
  open(MSG,"$basedir/$mesgfile_all");
    @board = <MSG>;
  close(MSG);
  open(MSG,"$basedir/$mesgfile_t");
    @board_t = <MSG>;
  close(MSG);
  open(MSG,"$basedir/flt_$filter.txt");
    @vals = <MSG>;
  close(MSG);
  $filter_pg = "fltpg_"."$filter".".php";
  open(ACTIVEPG,">$basedir/$filter_pg");
  flock(ACTIVEPG, 2);
  foreach $tl (@board_t)
  {
    if($tl =~ /<!--begin-->/)
	{
	  $fltr_nm = $filters{$filter};
	  $close_li = 1;
	  print ACTIVEPG "<center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>$fltr_nm</i></b></font></td></tr></table></center><br>\n";
	  foreach $bl (@board)
	  {
		
		if($bl =~ /<!--top:/ && !($prnt))
		{  
		 
		  if(!($bl =~ /<ul>/))
			  {
			    $offset = 9;
				}
				else
				{
				  $offset = 13;
			  }
		  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  $msgnmbr = substr($bl, $offset, $nmbrlt);
		  foreach $fv (@vals)
		  {
		    if($fv == $msgnmbr)
			{
			  $ntr = 0;
			  $calc_nr = 0;
 			  
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  $prnt=1;
			  $prntnbr=$msgnmbr;
			  $lstmsgnmbr = $msgnmbr;
			  if(!($close_li))
			  {
			    if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  		}
			  }
			  $nmbr_lect_tot = 0;
			  $close_li =0;
			  $max_nouveau = 0;
 			  if($offset == 9)
			  {
  			    print ACTIVEPG "<ul> $bl";
			  }
			  else
			  {
  			    print ACTIVEPG "$bl";
			  }			  
			}
		  }
		}
		if($bl =~ /<!--top:/ && $prnt)
		{  
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  if($msgnmbr<$prntnbr)
			  {
			    if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  		}
				$prnt=0;
				$close_li =1;
			  }
		}
		if($bl =~ /<!--responses/ && !($calc_nr))
		{  
			  if($bl =~ /R:/)
			  {
			  $index_r = index ($bl,'R:')+2;
			  $nmbrltnl = length ($bl)-(length ($bl)-index ($bl,'L:'))-$index_r;
		  	  $nmbrl = substr($bl, $index_r, $nmbrltnl);
			  $ntr = $ntr + $nmbrl;
			  $calc_nr = 1; 
			  }
			  else
			  {
			    $index_r = index ($bl,')');
				$strt = index ($bl,'-->')+3;
			    $nmbrltnl = (index ($bl,')') - $strt);
		  	    $nmbrl = substr($bl, $strt, $nmbrltnl);
			    $ntr = $ntr + $nmbrl;
			    $calc_nr = 1;
			  }
		}
		if($bl =~ /<!--responses/ && $bl =~ /shownmbr/)
		{
          
		  open(MSG,"$stats_dir/$msgnmbr.js");
    	    @nmbr_lect_lns = <MSG>;
  		  close(MSG);
		  $nmbr_lect = $nmbr_lect_lns[0];
		  $nmbr_lect =~ s/\/\///g;
		  $nmbr_lect =~ s/\n//g;
		  $nmbr_lect_tot = $nmbr_lect_tot + $nmbr_lect;
		}
		if($bl =~ /nouveau/)
		{
          $strt_nv = index ($bl,'(')+1;
		  $nmbrltnl_nv = (index ($bl,')') - $strt_nv);
		  $nmbrl_nv = substr($bl, $strt_nv, $nmbrltnl_nv);
		  if($nmbrl_nv > $max_nouveau)
		  {
		    $max_nouveau = $nmbrl_nv;
		  }
		}
		if($bl =~ /<!--end: \Q$prntnbr\E-->/ && $prnt)
		{
		  $prnt=0;
		  if($nmbr_lect_tot)
		  {
		    print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
		  else
		  {
		    print ACTIVEPG "(R:<b>$ntr</b>)  \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
          if(!($bl =~ /<ul>/))
		  {
  		    print ACTIVEPG "</ul>\n";
		  }
		  $close_li =1;
		}
		if($prnt)
		{
#		  print ACTIVEPG "$bl";
		}
	  }
	}
	else
	{
	  print ACTIVEPG "$tl";
	}
  }

    close(ACTIVEPG);
    print "Location: $baseurl/$filter_pg\n\n";
}
##################
sub filter_stats
{
  open(STATS,"$basedir/filters_stats.txt");
    @stats = <STATS>;
  close(STATS);
  open(STATS,">$basedir/filters_stats.txt");
    foreach $fsl (@stats)
	{
	  $fn = "";
	  ($fn,$stats) = split(/\|/,$fsl);
	  $stats =~ s/\n//g;
	  if($fn eq $filter)
	  {
	    ++$stats;
	  }
	  if($fn)
	  {
	    print STATS "$fn|$stats\n";
	  }
	}
  close(STATS);
  
}
############################
sub filter_tout
{
  $prnt=0;
  open(MSG,"$basedir/$mesgfile_all");
    @board = <MSG>;
  close(MSG);
  open(MSG,"$basedir/$mesgfile_t");
    @board_t = <MSG>;
  close(MSG);

  $filter_pg = "fltpg_"."$filter".".php";
  open(ACTIVEPG,">$basedir/$filter_pg");
  flock(ACTIVEPG, 2);
  foreach $tl (@board_t)
  {
    if($tl =~ /<!--begin-->/)
	{
	  $fltr_nm = $filters{$filter};
	  $close_li = 1;
	  print ACTIVEPG "<center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>Tout</i></b></font></td></tr></table></center><br>\n";
	 # print ACTIVEPG "<table>";
	  foreach $bl (@board)
	  {
		
		if($bl =~ /<!--top:/ && !($prnt))
		{  
			  $ntr = 0;
			  $calc_nr = 0;
			  
			  if(!($bl =~ /<ul>/))
			  {
  			    $offset = 9;
			  }
			  else
			  {
			    $offset = 13;
			  }
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  $prnt=1;
			  $prntnbr=$msgnmbr;
			  $lstmsgnmbr = $msgnmbr;
			  if(!($close_li))
			  {
				if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  		}
			  }
			  $nmbr_lect_tot = 0;
			  $close_li =0;
			  $max_nouveau = 0;
			  if($offset == 9)
			  {
			    print ACTIVEPG "<ul> $bl";
			  }
			  else
			  {
			    print ACTIVEPG "$bl";
			  }
		}
		if($bl =~ /<!--top:/)
		{  
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  if($msgnmbr<$prntnbr)
			  {
			    if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  		}
				
				$prnt=0;
				$close_li =1;
			  }
		}
		if($bl =~ /<!--responses/ && !($calc_nr))
		{  
			  if($bl =~ /R:/)
			  {
			  $index_r = index ($bl,'R:')+2;
			  $nmbrltnl = length ($bl)-(length ($bl)-index ($bl,'L:'))-$index_r;
		  	  $nmbrl = substr($bl, $index_r, $nmbrltnl);
			  $ntr = $ntr + $nmbrl;
			  $calc_nr = 1; 
			  }
			  else
			  {
			    $index_r = index ($bl,')');
				$strt = index ($bl,'-->')+3;
			    $nmbrltnl = (index ($bl,')') - $strt);
		  	    $nmbrl = substr($bl, $strt, $nmbrltnl);
			    $ntr = $ntr + $nmbrl;
			    $calc_nr = 1;
			  }
		}
		if($bl =~ /<!--responses/ && $bl =~ /shownmbr/)
		{
          
		  open(MSG,"$stats_dir/$msgnmbr.js");
    	    @nmbr_lect_lns = <MSG>;
  		  close(MSG);
		  $nmbr_lect = $nmbr_lect_lns[0];
		  $nmbr_lect =~ s/\/\///g;
		  $nmbr_lect =~ s/\n//g;
		  $nmbr_lect_tot = $nmbr_lect_tot + $nmbr_lect;
		}
		if($bl =~ /nouveau/)
		{
          $strt_nv = index ($bl,'(')+1;
		  $nmbrltnl_nv = (index ($bl,')') - $strt_nv);
		  $nmbrl_nv = substr($bl, $strt_nv, $nmbrltnl_nv);
		  if($nmbrl_nv > $max_nouveau)
		  {
		    $max_nouveau = $nmbrl_nv;
		  }
		}
		if($bl =~ /<!--end: \Q$prntnbr\E-->/ && $prnt)
		{
		  $prnt=0;
		  if($nmbr_lect_tot)
		  {
		    print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
		  else
		  {
		    print ACTIVEPG "(R:<b>$ntr</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
		  if(!($bl =~ /<ul>/))
          {
            print ACTIVEPG "</ul>\n";
          }
		  $close_li =1;
		}
		if($prnt)
		{
#		  print ACTIVEPG "$bl";
		}
	  }
	}
	else
	{
	  print ACTIVEPG "$tl";
	}
  }
  close(ACTIVEPG);
  print "Location: $baseurl/$filter_pg\n\n";
}
############################
sub filter_parsujet
{
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time-5*3600);
  $month = ($mon + 1);  
  $hr = int(($hour/24)*10)/10;
  $tempsub=($year-101)*365+($mon+1)*30+$mday+$hr;
  $flpsujet=15;
  open(MSG,"$basedir/$mesgfile_t");
    @board_t = <MSG>;
  close(MSG);
  open(MSG,"$basedir/$mesgfile_all");
    @board = <MSG>;
  close(MSG);
  $filter_pg = "fltpg_"."$filter".".php";
  
  open(ACTIVEPG,">$basedir/$filter_pg");
  flock(ACTIVEPG, 2);
  foreach $tl (@board_t)
  {
    if($tl =~ /<!--begin-->/)
	{
      print ACTIVEPG "<center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>Par sujet</i></b></font></td></tr></table></center><br>\n";
  
      foreach $sn (keys %filters)
      {
	    print ACTIVEPG "<blockquote><table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\" bgcolor=\"888888\"><tr><td><font color=\"white\"><b>\n";
		$sfn = $filters{$sn};
		print ACTIVEPG "$sfn\n";
		print ACTIVEPG "</b></font></td></tr></table></blockquote>";
		$filter = $sn;
		$tot_msgshown = 0;
		$ep =0;
		&showfltmsgs;
		print ACTIVEPG "<br>";
      }
	}  
	else
	{
	  print ACTIVEPG "$tl";
	}
  }
  close(ACTIVEPG);
  
  print "Location: $baseurl/$filter_pg\n\n";
}
#############################
sub showfltmsgs
{
  $prnt=0;
  
  open(MSG,"$basedir/flt_$filter.txt");
    @vals = <MSG>;
  close(MSG);

	  $fltr_nm = $filters{$filter};
	  $close_li = 1;
	  
	  foreach $bl (@board)
	  {
		
		if(!($ep))
		{
		if($bl =~ /<!--top:/ && !($prnt))
		{  
		 
		  if(!($bl =~ /<ul>/))
			  {
			    $offset = 9;
				}
				else
				{
				  $offset = 13;
			  }
		  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  $msgnmbr = substr($bl, $offset, $nmbrlt);
		  foreach $fv (@vals)
		  {
		    if($fv == $msgnmbr)
			{
			  $ntr = 0;
			  $calc_nr = 0;
 			  
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  $prnt=1;
			  $prntnbr=$msgnmbr;
			  $lstmsgnmbr = $msgnmbr;
			  if(!($close_li))
			  {
			    if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n</ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n</ul>\n";
		  		}
			  }
			  $nmbr_lect_tot = 0;
			  $close_li =0;
			  $max_nouveau = 0;
 			  if($offset == 9)
			  {
  			    print ACTIVEPG "<ul> $bl";
			  }
			  else
			  {
  			    print ACTIVEPG "$bl";
			  }		
			  ++$tot_msgshown;	  
			}
		  }
		}
		if($bl =~ /<!--top:/ && $prnt)
		{  
			  $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-$offset;
		  	  $msgnmbr = substr($bl, $offset, $nmbrlt);
			  if($msgnmbr<$prntnbr)
			  {
			    if($nmbr_lect_tot)
		  		{
		   		  print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n </ul>\n";
		  	    }
		  		else
		  		{
		    	  print ACTIVEPG "(R:<b>$ntr</b>) \n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n</ul>\n";
		  		}
				if($tot_msgshown == $flpsujet)
			  {
			    $ep =1;
			  }
				$prnt=0;
				$close_li =1;
			  }
		}
		if($bl =~ /<!--responses/ && !($calc_nr))
		{  
			  if($bl =~ /R:/)
			  {
			  $index_r = index ($bl,'R:')+2;
			  $nmbrltnl = length ($bl)-(length ($bl)-index ($bl,'L:'))-$index_r;
		  	  $nmbrl = substr($bl, $index_r, $nmbrltnl);
			  $ntr = $ntr + $nmbrl;
			  $calc_nr = 1; 
			  }
			  else
			  {
			    $index_r = index ($bl,')');
				$strt = index ($bl,'-->')+3;
			    $nmbrltnl = (index ($bl,')') - $strt);
		  	    $nmbrl = substr($bl, $strt, $nmbrltnl);
			    $ntr = $ntr + $nmbrl;
			    $calc_nr = 1;
			  }
		}
		if($bl =~ /<!--responses/ && $bl =~ /shownmbr/)
		{
          
		  open(MSG,"$stats_dir/$msgnmbr.js");
    	    @nmbr_lect_lns = <MSG>;
  		  close(MSG);
		  $nmbr_lect = $nmbr_lect_lns[0];
		  $nmbr_lect =~ s/\/\///g;
		  $nmbr_lect =~ s/\n//g;
		  $nmbr_lect_tot = $nmbr_lect_tot + $nmbr_lect;
		}
		if($bl =~ /nouveau/)
		{
          $strt_nv = index ($bl,'(')+1;
		  $nmbrltnl_nv = (index ($bl,')') - $strt_nv);
		  $nmbrl_nv = substr($bl, $strt_nv, $nmbrltnl_nv);
		  if($nmbrl_nv > $max_nouveau)
		  {
		    $max_nouveau = $nmbrl_nv;
		  }
		}
		if($bl =~ /<!--end: \Q$prntnbr\E-->/ && $prnt)
		{
		  $prnt=0;
		  if($nmbr_lect_tot)
		  {
		    print ACTIVEPG "(R:<b>$ntr</b> L:<b>$nmbr_lect_tot</b>)\n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
		  else
		  {
		    print ACTIVEPG "(R:<b>$ntr</b>) ";
			print ACTIVEPG "\n<SCRIPT><!--\n nouveau($max_nouveau)\n//--></SCRIPT>\n $bl";
		  }
          if(!($bl =~ /<ul>/))
		  {
  		    print ACTIVEPG "</ul>\n";
		  }
		  $close_li =1;
		  if($tot_msgshown >= $flpsujet && ($tempsub - $max_nouveau) > 22)
			  {
			    $ep =1;
			  }
		}
		if($prnt)
		{
#		  print ACTIVEPG "$bl";
		}
		}
	  }
}
############################
sub filter_active
{
  $load=0;
  $active=0;
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time-5*3600);
  $month = ($mon + 1);  
  $hr = int(($hour/24)*10)/10;
  $tempsub=($year-101)*365+($mon+1)*30+$mday+$hr;
  @loaded = @blank;
  open(MSG,"$basedir/$mesgfile_all");
    @board = <MSG>;
  close(MSG);
  open(MSG,"$basedir/$mesgfile_t");
    @board_t = <MSG>;
  close(MSG);
  open(ACTIVEPG,">$basedir/$filter_activepg");
  flock(ACTIVEPG, 2);
    foreach $tl (@board_t)
    {
      if($tl =~ /<!--begin-->/)
	  {
	    print ACTIVEPG "<center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>Discussions actives</i></b></font></td></tr></table></center><br>\n";
	    foreach $bl (@board)
	    {
		  if($bl =~ /<!--top:/ && !($load))
		  {  
		    $nmbrlt = length ($bl)-(length ($bl)-index ($bl,'-->'))-13;
		    $msgnmbr = substr($bl, 13, $nmbrlt);
		    $load=1;
		    $loadnbr=$msgnmbr;
		  }	
		  if($bl =~ /nouveau\(/)
		  {
		    $newlt = length ($bl)-(length ($bl)-index ($bl,')'))-8;
		    $newnmbr = substr($bl, 8, $newlt);
			if(($tempsub - $newnmbr) < $active_period)
			{
			  $active=1;
			  $diff=($tempsub - $newnmbr);
			}
		  }
		  if($load)
		  {
		    push(@loaded,$bl);
		  }
		  if($bl =~ /<!--end: \Q$loadnbr\E-->/ && $load)
		  {
		    $load=0;
		    if($active)
		    {
#		      print "$msgnmbr - $diff | $active_period<br>";
			  foreach $ll (@loaded)
			  {
			    print ACTIVEPG "$ll";
			  }
		    }
		    $active=0;
		    @loaded = @blank;
		  }
	    }
	  }
	  else
	  {
	    print ACTIVEPG $tl;
	  }
    }
  close(ACTIVEPG);
  print "Location: $baseurl/$filter_activepg\n\n";
#   print "<br>active: $loadnbr";
}
###########
sub filter_recents
{
  if(!($msgnmbr))
  {
    $msgnmbr = 250;
  }
  open(MSG,"$basedir/$mesgfile_t");
    @board_t = <MSG>;
  close(MSG);
  open(LMN,"$basedir/$datafile");
    $lastmsgnmbr = <LMN>;
  close(LMN);
  if($msgnmbr < $lastmsgnmbr)
  {
    $firstmsgnmbr = $lastmsgnmbr - $msgnmbr;
  }
  else
  {
    $firstmsgnmbr = 15;
  }
  $filter_pg = "fltpg_"."$filter".".php";
  open(ACTIVEPG,">$basedir/$filter_pg");
  flock(ACTIVEPG, 2);
  foreach $tl (@board_t)
  {
    if($tl =~ /<!--begin-->/)
	{
	  print ACTIVEPG "<center><table cellpadding=\"3\"><tr><td bgcolor=\"\#ffffcc\"><font size=+1>Filtre: <b><i>$msgnmbr derniers messages</i></b></font></td></tr></table></center><br>\n";
	  print ACTIVEPG "<blockquote>\n";
	  for($i=$lastmsgnmbr;$i>$firstmsgnmbr;--$i)
	  {
	    $auteur = "";
		open(MSG,"$basedir/$mesgdir/$i.html");
    	  @msglns = <MSG>;
        close(MSG);
		foreach $ml (@msglns)
		{
		  if($ml =~ /Soumis par/)
		  {
		    $auteur = $ml;
			$auteur =~ s/Soumis par//g;
			$auteur =~ s/<br>//g;
			$auteur =~ s/\<a href\=([^>])*>//g;
			$auteur =~ s/\<\/a>//g;
			$auteur =~ s/\n//g;
			$auteur = "<b>$auteur</b>";
		  }
		  if($ml =~ /<!--sujet-->/)
		  {
		    $ml =~ s/<br>//g;
			$ml =~ s/<b>//g;
			$ml =~ s/<\/b>//g;
			$ml =~ s/\n//g;
			print ACTIVEPG "<a href=\'http://www.kayakdemer.net/wwwboard/messages/$i.html\'>$ml</a>";
		  }
		  if($ml =~ /<!--date-->/)
		  {
			print ACTIVEPG " - $auteur $ml\n";
		  }
		}
	  }
	  print ACTIVEPG "</blockquote>\n";
	}
	else
	{
	  print ACTIVEPG "$tl";
	}
  }
  close(ACTIVEPG);
  print "Location: $baseurl/$filter_pg\n\n";
}
###########
sub erase_msg
{
  open(MSG,"$basedir/$deleted_msg");
    @thmsg = <MSG>;
  close(MSG);
  open(MAIN,">$basedir/$mesgdir/$msgnmbr.html") || die $!;
  flock(MAIN, 2);
    foreach $msg_ln (@thmsg)
	{
	  print MAIN "$msg_ln";
	}
  close(MAIN);
  @nouv_files = ("nouveautes_for.txt","nouveautes_for_sub.txt");
  foreach $nouv_file (@nouv_files)
  {
   open(NEWS,"$homedir/$nouv_file");
    @nouveautes = <NEWS>;
  close(NEWS);
  open(NEWS,">$homedir/$nouv_file");
  flock(NEWS, 2);
    foreach $new_dtls (@nouveautes)
	{
	  if(!($new_dtls =~ /\/$msgnmbr\.html/))
	  {
	    print NEWS "$new_dtls";
	  }
	}
  close(NEWS);
  }
  
  open(BCKNMBR,"$basedir/mainbcpnmbr.txt");
    $bcknmbr = <BCKNMBR>;
  close(BCKNMBR);
  $bcknm="backupforum_"."$bcknmbr".".html";
  rename("$basedir/$mesgfile_all", "$basedir/$bcknm") || die "Cannot rename file.txt: $!";
  open(MAIN,"$basedir/$bcknm");
    @allmainlines = <MAIN>;
  close(MAIN);
  $prnt = "on";
  open(MAIN,">$basedir/$mesgfile_all") || die $!;
  flock(MAIN, 2);
    foreach $msg_ln (@allmainlines)
	{
	  if($msg_ln =~ /<!--top: $msgnmbr-->/)
	  {
	    $prnt = "off";
	  }
	  if($prnt eq "on")
	  {
	    print MAIN "$msg_ln";
	  }
	  else
	  {
	    ++$rmvlines;
	  }
	  if($msg_ln =~ /<!--end: $msgnmbr-->/)
	  {
	    $prnt = "on";
	  }
	}
  close(MAIN);
  ++$bcknmbr;
  open(BCKNMBR,">$basedir/mainbcpnmbr.txt");
  flock(BCKNMBR, 2);
    print BCKNMBR "$bcknmbr";
  close(BCKNMBR);
}
###########
sub sendmails 
{
  $vg = 0;
  $mail_listtmp = $mail_list;
  if($mail_listtmp =~ /$email/ && $email)
  {
	$mail_listtmp =~ s/\|$email//g ;
  }
  if($mail_listtmp =~ /$regiusr_email/ && $regiusr_email)
  {
	$mail_listtmp =~ s/\|$regiusr_email//g ;
  }
  (@all_mails) = split(/\|/,$mail_listtmp);
  foreach $ml (@all_mails)
  {
    $mlt = $ml;
	$mlt =~ s/\s//g;
	if($mlt)
	{
	  if($vg == 1)
	  {
	    $all_mails .= "\,";
	  }
	  $all_mails .= "$mlt";
	  $vg = 1;
	}  
  }
  $all_mails =~ s/\s//g;
  if($registered)
  {
    $reg_sgn = "(r)";
  }
  if($all_mails)
  {
    open (MAIL, "$mailprog");
	  print MAIL "To: $all_mails\n";
	  print MAIL "From: $frmail\n";
	  print MAIL "Subject: $subject\n\n";
	  print MAIL "Un nouveau message de $name $reg_sgn a été ajouté sur le forum $forumtitle et fait suite à un sujet à lequel vous êtes abonné(e).\n";
	  print MAIL "Cliquez le lien suivant pour vous y rendre:\n";
	  print MAIL "$forumurl/$mesgdir/$num.html";
    close(MAIL);
  }
}
###########
sub mail_banded
{
  
  open(MAIN,"$basedir/banned_refnbr.txt") || die $!;
    $banned_ref = <MAIN>;
  close(MAIN);
  open(MSG,">>$basedir/banned.txt");
    print MSG "$banned_ref => ti:$subject key:$banned_key\n";
  close(MSG);
  $banned_refnew = $banned_ref + 1;
  open(MAIN,">$basedir/banned_refnbr.txt") || die $!;
  flock(MAIN, 2);
    print MAIN "$banned_refnew";
  close(MAIN);
#    open (MAIL, "$mailprog");
#	  print MAIL "To: $frmail\n";
#	  print MAIL "From: $frmail\n";
#	  print MAIL "Subject: Message bloqué - $subject\n\n";
#	  print MAIL "Le message suivant a été bloqué\n";
#	  print MAIL "Soumis par: $name - $email\n";
#	  print MAIL "IP: $host_addr\n";
#	  print MAIL "Banned key=$banned_key\n";
#	  print MAIL "Sujet: $subject\n";
#	  print MAIL "Url :$message_url_title - $message_url\n";
#	  print MAIL "Message:\n $body\n";
#    close(MAIL);
}
###############
sub defmsgsandadd
{
  open(DEBUG,">$basedir/debug.txt") || die $!;
  flock(DEBUG, 2);
  if($FORM{'towhat'} eq "this")
  {
    $msgnmbr_x = $msgnmbr;
	&addmailtolist;
  }
  elsif($FORM{'towhat'} eq "fromthis")
  {
    $msgnmbr_x = $msgnmbr;
	&addmailtolist;
	open(MAIN,"$basedir/$mesgdir/$msgnmbr.html") || die $!;
      @msglines = <MAIN>;
    close(MAIN);
	foreach $ml (@msglines)
	{
	  if($ml =~ /<!--top:/)
	  {
	    $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-9;
		$msgnmbr = substr($ml, 9, $nmbrlt);
		$msgnmbr_x = $msgnmbr;
		
		&addmailtolist;
	  }
	}
  }
  elsif($FORM{'towhat'} eq "all")
  {
    $tslvmsg = $msgnmbr;
	
	&findtopmsg;
    $msgnmbr_x = $topmsg;

	&addmailtolist;	
    open(MAIN,"$basedir/$mesgdir/$topmsg.html") || die $!;
      @msglines = <MAIN>;
    close(MAIN);
	foreach $ml (@msglines)
	{
	  if($ml =~ /<!--top:/)
	  {
	    if($ml =~ /<!--top:/ && !($ml =~ /<ul>/))
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-9;
		  $msgnmbr = substr($ml, 9, $nmbrlt);
		}
		if($ml =~ /<!--top:/ && $ml =~ /<ul>/)
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-13;
		  $msgnmbr = substr($ml, 13, $nmbrlt);
		}
		$msgnmbr_x = $msgnmbr;
	
		&addmailtolist;
	  }
	}	
  }
  else
  {
	$mst = 1;
	&addmailtolist;
	
	open(MAIN,"$basedir/$mesgfile_all") || die $!;
      @msglines = <MAIN>;
    close(MAIN);
	foreach $ml (@msglines)
	{
	  if($ml =~ /<!--top:/)
	  {
	    if($ml =~ /<!--top:/ && !($ml =~ /<ul>/))
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-9;
		  $msgnmbr = substr($ml, 9, $nmbrlt);
		}
		if($ml =~ /<!--top:/ && $ml =~ /<ul>/)
		{
		  $nmbrlt = length ($ml)-(length ($ml)-index ($ml,'-->'))-13;
		  $msgnmbr = substr($ml, 13, $nmbrlt);
		}

		$msgnmbr_x = $msgnmbr;
		$msgnmbr_x =~s/\s$//g;
		$msgnmbr_x =~s/\n//g;
		print DEBUG "$msgnmbr_x | ";
		&addmailtolist;
		print DEBUG "done $msgnmbr_x \n";
	  }
	}
	close(DEBUG);
  }
}
##########
sub findtopmsg
{
  open(MAIN,"$basedir/$mesgdir/$tslvmsg.html") || die $!;
    @msglines = <MAIN>;
  close(MAIN);
  foreach $mxl (@msglines)
  {
    if($mxl =~ /En réponse à: <a href=/)
	{
	  $mother_st = index($mxl,'<a href="')+9;
	  $mother_lt = length ($mxl)- ($mother_st + 1) - (length ($mxl)-index ($mxl,'.html">')-1);	  
	  $tslvmsg = substr($mxl, $mother_st, $mother_lt);
	  &findtopmsg;
	}
	else
	{
	  $topmsg = $tslvmsg;
	}
  }
}
###############
sub addmailtolist
{
  if($mst == 1)
  { 
    $msgtoopen = "$soum_file";
	$mst = 0;
  }
  else
  {
    $msgtoopen = "$mesgdir/$msgnmbr_x.html";
  }
  open(MAIN,"$basedir/$msgtoopen") || die $!;
    @main = <MAIN>;
  close(MAIN);
  open(MAIN,">$basedir/$msgtoopen") || die $!;
  flock(MAIN, 2);
  foreach $tl (@main)
  {
    if($tl =~ /<!--mail_list-->/)
	{
	  $list_st = index($tl,'value="')+7;
	  $list_lt = length ($tl)- ($list_st + 1) - (length ($tl)-index ($tl,'">')-1);	  
	  $mail_list = substr($tl, $list_st, $list_lt);
	  $mail_list =~ s/\|\|/\|/g;
	  if($FORM{'mailfct'} eq "add")
	  {
	    if(!($mail_list =~ /$email/))
		{
		  ++$addfr;
		  print MAIN "<!--mail_list--><input type=hidden name=\"mail_list\" value=\"$mail_list\|$email\">\n";
		}
		else
		{
		  ++$alrdprsnt;
		  print MAIN "<!--mail_list--><input type=hidden name=\"mail_list\" value=\"$mail_list\">\n";
		}
	  }
	  else
	  {
	    if($mail_list =~ /$email/)
		{
		  ++$rmvfr;
		  $mail_list =~ s/\|$email//g ;
		  print MAIN "<!--mail_list--><input type=hidden name=\"mail_list\" value=\"$mail_list\">\n";
		}
		else
		{
		  print MAIN "<!--mail_list--><input type=hidden name=\"mail_list\" value=\"$mail_list\">\n";
		}
	  }
	}
	else
	{
	  print MAIN "$tl";
	}
  }
  close(MAIN);
}

##################
sub returnhtml
{
  print "Content-type: text/html\n\n";
  if($FORM{'mailfct'} eq "add")
  {
    if($addfr)
	{
	  print "<center><blockquote><br>Vous êtes maintenant abonné à cette discussion<br>(<font size=-1><i>Ajouté à $addfr message(s)\n";
	  if($alrdprsnt)
	  {
	    print ", déjà présent sur $alrdprsnt messages";
	  }
	  print "</i></font>)<br><br>\n";
	}
	else
	{
	  if($alrdprsnt)
	  {
	    print "<center><blockquote><br>Vous êtes déjà abonné à cette discussion<br>(<font size=-1><i>Présent sur $alrdprsnt message(s)</i></font>)<br><br>\n";
	  }
	  else
	  {
	    print "<center><blockquote><br>Désolé, votre courriel n\'a pu être ajouté à ce fil de discussion<br><br>\n";
	  }
	}
  }
  else
  {
    if($rmvfr)
	{
	  print "<center><blockquote><br>Votre courriel a été retiré de cette discussion<br>(<font size=-1><i>Retiré de $rmvfr message(s)</i></font>)<br><br>\n";
	}
	else
	{
      print "<center><blockquote><br>Votre adresse de courriel n\'est pas inscrite à cette discussion<br><br>\n";
	}
  }
  print "[ <a href=\"javascript\:onclick=window\.close()\">Fermer la fenêtre</a> ]";
}
###############
sub coming_events
{
  ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = gmtime(time-4*3600);
  @months = ("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
  &updatecalendar;
  @addsoon = ("index.html","index_t.html","index_tv.html");
  open(AEVENT,"$homedir/$events_dir/$eventsfile") || die $! ;
    @events = <AEVENT>;
  close (AEVENT);
    $yearl = 1900 + $year;
	$monthl = $month+1;
	$month_td = $month+1;
	$mdayl = $mday+$delais;
	$mday_td = $mday;
	if($mdayl>30)
	{
   	  $mdayl=$mdayl-30;
	  $monthl = $monthl+1;
	}
	if($monthl>12)
	{
	  $monthl = 1;
	  $yearl = $yearl +1;
	}
	if ($monthl < 10)
	{
	  $monthl = "0".$monthl;
	}
	if ($month_td < 10)
	{
	  $month_td = "0".$month_td;
	}
	if ($mdayl < 10)
	{
 	  $mdayl = "0".$mdayl;
	}
	if ($mday_td < 10)
	{
 	  $mday_td = "0".$mday_td;
	}
	$today_cal = $yearl.$monthl.$mdayl;
	$today_d = $yearl.$month_td.$mday_td;
	foreach $i (sort pardate @events)
	{
	  ($date_f_ev,$date_ev,$titre_ev,$lieu_ev,$no_ev,$formt) = split(/\|/,$i);
      $annee_f_ev=substr($date_f_ev, 0, 4);
	  $mois_f_ev=substr($date_f_ev, 4, 2);
      $jour_f_ev=substr($date_f_ev, 6, 2);
	  $evntdt = $i;
	  chomp($i);  
	  if ($annee_f_ev.$mois_f_ev.$jour_f_ev <= $today_cal && $annee_f_ev.$mois_f_ev.$jour_f_ev>=$today_d)
	  {
	    push(@tocome,$evntdt);
		$soon = 1;
	  }
	}

	if($soon)
	{
	  foreach $ftoadd (@addsoon)
	  {
  	    open(MAIN,"$homedir/$ftoadd") || die $!;
    	  @main = <MAIN>;
  		close(MAIN);	    
		open(MAIN,">$homedir/$ftoadd") || die $!;	
		flock(MAIN, 2);
		  foreach $mainln (@main)
		  {
		    if($mainln =~ /<!--events-->/)
			{
			  print MAIN "<!--events-->";
			  print MAIN "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>";
			  print MAIN "<TR><TD COLSPAN=2><IMG SRC=\"images/tres_bientot_bientot01.gif\" HEIGHT=26></TD></TR>";
			  print MAIN "<TR><TD valign=\"top\" width=\"59\"><IMG SRC=\"images/tres_bientot_bientot02.gif\" WIDTH=59 HEIGHT=129></TD><TD valign=\"top\">";
			  print MAIN "<table width=\"418\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
	  		  foreach $evnt_soon (@tocome)
			  {
			    ($date_f_ev,$date_ev,$titre_ev,$lieu_ev,$no_ev,$formt) = split(/\|/,$evnt_soon);
				$mois_ev=substr($date_ev, 4, 2);
				$mois_ev = $mois_ev -1;
      			$jour_ev=substr($date_ev, 6, 2);
				
				print MAIN "<tr><td valign=\"top\"><font size=1>$jour_ev&nbsp;@months[$mois_ev]&nbsp;-</font></td><td><font size=1><b><a href=\"$homeurl/$events_dir/$details_dir/$no_ev.html\">$titre_ev</a></b> - <i>$lieu_ev</i></font></td></tr>";
			  }
			  print MAIN "</table>";
			  print MAIN "</TD></TR></TABLE>\n";
			}
			else
			{
			  print MAIN "$mainln";
			}
		  }    
	  }
	}
	else
	{
	  foreach $ftoadd (@addsoon)
	  {
  	    open(MAIN,"$homedir/$ftoadd") || die $!;
    	  @main = <MAIN>;
  		close(MAIN);	  
		open(MAIN,">$homedir/$ftoadd") || die $!;	
		flock(MAIN, 2);
		  foreach $mainln (@main)
		  {
		    if($mainln =~ /<!--events-->/)
			{
			  print MAIN "<!--events-->";
			  print MAIN "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>";
			  print MAIN "<TR><TD COLSPAN=2><IMG SRC=\"images/tres_bientot_bientot01.gif\" WIDTH=354 HEIGHT=26></TD></TR>";
			  print MAIN "<TR><TD valign=\"top\" width=\"59\"><IMG SRC=\"images/tres_bientot_bientot02.gif\" WIDTH=59 HEIGHT=129></TD><TD valign=\"top\">";
			  print MAIN "<blockquote><font size=1><br><i>Rien de prévu !</i><br><a href=\'http://www.kayakdemer.net/calendrier/soum_evenement.html\'>Ajoutez un événement</a></font></blockquote>";
			  print MAIN "</TD></TR></TABLE>\n";
			}
			else
			{
			  print MAIN "$mainln";
			}
		  }
		close (MAIN);    
	  }
	}
#&error("soon=$soon");
}
#############################
sub updatecalendar 
{
  
  open(EVENT,"$homedir/$events_dir/$eventsfile") || die $! ;
    @events = <EVENT>;
  close (EVENT);
  open(EVENT,">$homedir/$events_dir/$eventsfile");
  flock(EVENT, 2);
    $yearl = 1900 + $year;
	$monthl = $month;
	if ($month < 10)
	{
	  $monthl = "0".$month;
	}
	$mdayl = $mday-2;
	if($mdayl<0)
	{
   	  $mdayl=1
	}
	if ($mdayl < 10)
	{
 	  $mdayl = "0".$mdayl;
	}
	$today = $yearl.$monthl.$mdayl;
	foreach $i (sort pardate @events)
	{
	  ($date_f_ev,$date_ev,$titre_ev,$no_ev,$formt) = split(/\|/,$i);
      $annee_f_ev=substr($date_f_ev, 0, 4);
	  $mois_f_ev=substr($date_f_ev, 4, 2);
      $jour_f_ev=substr($date_f_ev, 6, 2);
	  chomp($i);
	  if ($annee_f_ev.$mois_f_ev.$jour_f_ev >= $today)
	  {
	    print EVENT "$i\n";
	  }
	}
  close (EVENT);
}
###################################
sub pardate {
    @a = split(/\|/,$a);
    @b = split(/\|/,$b);
    $a[1] <=> $b[1];
}

#################################
sub registered_only
{
  $fichier = "needregister_followup";
  $workdir = "/home/stephm69/public_html/filter";
  $filename = $fichier.".txt";
  open(MAIN,"$workdir/$filename") || die $!;
      @main = <MAIN>;
   close(MAIN);
  open(MAIN,"/home/stephm69/public_html/filter/bckup/bcp_nmbr.txt") || die $!;
      $val = <MAIN>;
   close(MAIN);
   $nval = $val + 1;
   open(MAIN,">/home/stephm69/public_html/filter/bckup/bcp_nmbr.txt") || die $!;
      print MAIN $nval;
   close(MAIN);
   $bck_name = $filename.".bck".$val;
   open(MAIN,">/home/stephm69/public_html/filter/bckup/$bck_name") || die $!;
     foreach $main_line (@main) 
	 {
	   print MAIN $main_line;
	 }
   close(MAIN); 
   open(MAIN,">$workdir/$filename") || die $!;
	  foreach $main_line (@main) 
	 {
	   print MAIN $main_line;
	 }
	 print MAIN "\n".$num;
   close(MAIN);
}

#################################################################################################
# AJOUT AUX NOUVEAUTÉS SUR LA PAGE D'ACCUEIL
#################################################################################################

sub nouveaute 
{
  $basedir_n = "/home/stephm69/public_html/kayakdemer";
  if(!($typenouv))
  {
    $datafilen = "nouveautes_for.txt";
	$nombre_n = "nombre_n_for.txt";
	$beg_txt = "<!--begin_ajout_forum-->";
	$description_n="<a href=\"$baseurl/$mesgdir/$num\.$ext\">$subject</a> - <b>$name</b><img src=\'$baseurl/$reg_gif\'>";
  }
  else
  {
    $datafilen = "nouveautes_for_sub.txt";
	$nombre_n = "nombre_n_for_sub.txt";
	$beg_txt = "<!--begin_ajout_forum_sub-->";
	if($registered_only)
	{
	   $incl_reg_incon = "<img src='http://www.kayakdemer.net/wwwboard/images/registred_only.png' align='absmiddle'> "; 
	}
	$description_n="<b>".$incl_reg_incon."<a href=\"$baseurl/$mesgdir/$num\.$ext\">$subject</a></b> - <b>$name</b><img src=\'$baseurl/$reg_gif\'>";
  }
  

#########
# Adapter pour chaque section

  $section_n="Forum";
  $url_n="$baseurl/wwwboard.html";
  

#######
  $mesgfile_temp = "index.html";
  $mesgfile = "index.html";
  #&addtoaccueil;
  
  $mesgfile_temp = "index_tv.html";
  $mesgfile = "index_tv.html";
  #&addtoaccueil;

# Ajout à la page TEMPLATE pour ptites vites
  $mesgfile_temp = "index_t.html";
  $mesgfile = "index_t.html";
  #&addtoaccueil;
  
  $mesgfile_temp = "index_tn.html";
  $mesgfile = "index_tn.html";
  #&addtoaccueil;
  
  &addtolist_n;
}
###########################
sub addtolist_n 
{
  open(EVENT,"$basedir_n/$datafilen") || die $! ;
    @nouveautes = <EVENT>;
  close (EVENT);
  open(NBR,"$basedir_n/$nombre_n") || die $! ;
#  open(NBR,"$basedir_n/nombre_n.txt") || die $! ;
    $nbr_n = <NBR>;
  close (NBR);
  open(EVENT,">$basedir_n/$datafilen");
  flock(EVENT, 2);
    print EVENT "$section_n\|$url_n\|$description_n\|$long_date\n";
	$nt=1;
	foreach $i (@nouveautes)
	{
 	  chomp($i);
	  if ($nt<$nbr_n)
	  {
	    print EVENT "$i\n";
		$nt++;
	  }
	}
  close (EVENT);
}
############################
sub addtoaccueil 
{
  open(MAIN,"$basedir_n/$mesgfile_temp") || die $!;
    @main = <MAIN>;
  close(MAIN);
  open(EVENT,"$basedir_n/$datafilen") || die $! ;
    @nouveautes = <EVENT>;
  close (EVENT);
  open(MAIN,">$basedir_n/$mesgfile") || die $!;
  flock(MAIN, 2);
    foreach $main_line (@main) 
	{
      if ($main_line =~ /$beg_txt/) 
#	   if ($main_line =~ /<!--begin_ajout-->/)
	  {
        print MAIN "$beg_txt";
#		print MAIN "<!--begin_ajout-->\n";
    	print MAIN "<li>";
#    	print MAIN "<font size=\"2\" face=\"VERDANA,ARIAL,SANS-SERIF\">";
#    	print MAIN "<b><a href=\"$url_n\">$section_n</a></b> ";
#  		print MAIN "<img src=\"fl_dr.gif\" align=\"top\"> ";
	   	print MAIN "$description_n - ";
	   	print MAIN "<i>$long_date</i><br>";
#	   	print MAIN "</font>";
#	   	print MAIN "<br>";
		foreach $event (@nouveautes) 
		{
		  ($section_ev,$url_ev,$description_ev,$date_ev) = split(/\|/,$event);
		  print MAIN "<li>";
#    	  print MAIN "<font size=\"2\" face=\"VERDANA,ARIAL,SANS-SERIF\">";
#    	  print MAIN "<b><a href=\"$url_ev\">$section_ev</a></b> ";
#  		  print MAIN "<img src=\"fl_dr.gif\" align=\"top\"> ";   	
	   	  print MAIN "$description_ev - ";
		  $date_ev =~ s/\n//g;
		  $date_ev =~ s/\r//g;
	   	  print MAIN "<i>$date_ev</i>";
#	   	  print MAIN "</font>";
#	   	  print MAIN "<br>";
		}	
		print MAIN "\n";   	
      }
      else 
	  {
        print MAIN "$main_line";
      }
    }
  close(MAIN);
}