#!c:/Perl/bin/perl.exe use CGI::Carp qw(fatalsToBrowser); # #----------------------------------------------------------------------------> #---------------------------- gestion.pl ---------------------------------> #----------------------------------------------------------------------------> # Author name: Didier Preud'homme # Creation date: 05/02/2008 # Dernière modification : 30/03/2010 # #----------------------------------------------------------------------------> # Description : formulaire de téléchargement #----------------------------------------------------------------------------> print "Content-Type: text/html\n\n"; @cgiPairs = split("&",$ENV{'QUERY_STRING'}); ########################################################################## print < WWW.LOGICAMP.COM - check.pl
(:)

(:)

    
Home | Clients | Stat | Plan | Tarif | Prix | Contact


(:)

Afin de télécharger notre logiciel (163M), nous vous demendons de bien vouloir compléter le formulaire ci-dessous.

FINHTML ############################################################################################## print <
FINHTML1 print <
Veuillez indiquer votre identité
 * Champs obligatoires

Civilité
Nom *
Prénom *
Nom du camping *
Adresse *
Code postal *
Ville *
Pays *
Téléphone *
Fax
E-mail *
Remarques





(:)

(:)

(:)

(:)

(:)

Copyright(c) 2006 - www.logicamp.com logicamp@skynet.be
FINHTML2 ################################################################################ # Cette fonction retourne la ligne tarifaire de jour d'un chalet de type Type ################################################################################ sub GetTarifChaJour{ my($soustype) = @_; $file = "$RefCamping/tchajour.txt"; # Name the file open(INFO, "$file") || die("Could not open file!"); @lines = ; close INFO; for ($i=0; $i<@lines;$i++){ if ($lines[$i] =~ /$soustype/){ return ($lines[$i]); } } return "not found"; } ################################################################################ # Cette fonction retourne la ligne tarifaire de jour d'une caravane de type Type ################################################################################ sub GetTarifCarJour{ my($soustype) = @_; $file = "$RefCamping/tcarjour.txt"; # Name the file open(INFO, "$file") || die("Could not open file!"); @lines = ; close INFO; for ($i=0; $i<@lines;$i++){ if ($lines[$i] =~ /$soustype/){ return ($lines[$i]); } } return "not found"; } ############################################################################### # Cette fonction récupère une donnée dans le fichier ResFile à partir du nom ############################################################################### sub GetElemByName{ my ($name) = @_; $file = "$RefCamping/$RefCamping.log"; open(INFO, "$file") || die("Could not open file!"); @lines = ; close INFO; for ($i=0; $i<@lines;$i++){ if (&gsplit($lines[$i]) eq $name ){ return &psplit($lines[$i]); } } return "not found"; } ############################################################################### # Cette fonction récupère une donnée dans le fichier ResFile à partir de l'id ############################################################################### sub GetElemById{ my ($id) = @_; $file = "$RefCamping/$RefCamping.log"; open(INFO, "$file") || die("Could not open file!"); @lines = ; close INFO; for ($i=0; $i=$id;$i++){ return &psplit($lines[$i]); } } ################################ # Cette fonction retourne l'id d'un élément ################################ sub GetId{ my ($name) = @_; $file = "CB1.log"; open(INFO, "$file") || die("Could not open file!"); @lines = ; close INFO; for ($i=0; $i<@lines;$i++){ if (&gsplit($lines[$i]) eq $name ){ return $i; } } return "not found"; } ########################################################################## # Cette fct retourne le nombre de jour entre deux dates # @mydate = &datef3(10,9,85,13,9,85) -> 3} ########################################################################## sub duree{ my ($d1, $d2, $d3, $d4, $d5, $d6) = @_; return nbj2000($d4,$d5,$d6)-nbj2000($d1,$d2,$d3); } ########################################################################## # &nbj (day,month,year) retoune le nombre de jours depuis le 1er janvier # &nbj('10','9','2007'); ########################################################################## sub nbj{ $day = $_[0]; $month = $_[1]; $year = $_[2]; return &duree(1,1,$year,$day,$month,$year) + 1; } ########################################################################## # &nbj2000 (day,month,year) retoune le nombre de jours depuis le 1/1/2000 # &nbj2000 ('10','9','2007'); ########################################################################## sub nbj2000{ $day = $_[0]; $month = $_[1]; $year = $_[2]; $count = 0; &febday; @nbdays = (31,$feb_days,31,30,31,30,31,31,30,31,30,31); for ($z=0; $z<($month-1); $z++){ $count = $count + $nbdays[$z]; } $count = $count + $day; for ($z=2000 ; $z<$year; $z++){ $count = $count + &nbjy($z); } #print ($count); $nbj2000 = $count; } ########################################################################## # Cette fct split une paire de donnée "nom=Asterix" et retourne la 2ème valeur # print &psplit($n); ########################################################################## sub psplit{ my ($n) = @_; @personal = split(/=/, $n); return &parse($personal[1]); } sub gsplit{ my ($n) = @_; @personal = split(/=/, $n); return &parse($personal[0]); } ########################################################################## # Cette fct retourne 0 si l'emplacement $n est occupe # print &isdispo($n,@lines); ########################################################################## sub isdispo{ my ($n, $lines) = @_; @lines = @$lines; $cpt=1; print ("$n "); for ($k=0; $k<@lines; $k++){ @an = split (/&/,$lines[$k]); $emp = $an[0]; @dl1=&datef1($an[1]); @fl1=&datef1($an[2]); if ($emp == $n){ if( &DBD(\@dd,\@dl1,\@fl1) == 1 || &FBD(\@dd,\@dl1,\@fl1) == 1 ){ $cpt = 0; } } } return $cpt; } ########################################################################## # Cette fct retourne 1 si d1 est compris entre [d2,d3[ DLBD - DRBD # print &DBD(@d1,@d2,@d3); ########################################################################## sub DBD{ my ($d1, $d2, $d3) = @_; @d1 = @$d1; @d2 = @$d2; @d3 = @$d3; $nbj1 = &nbj2000($d1[0],$d1[1],$d1[2]); $nbj2 = &nbj2000($d2[0],$d2[1],$d2[2]); $nbj3 = &nbj2000($d3[0],$d3[1],$d3[2]); if ($nbj1 >= $nbj2 and $nbj1 < $nbj3) { return 1; }else{ return 0; } } ########################################################################## # Cette fct retourne 1 si d1 est compris entre ]d2,d3] FLBD - FRBD # print &FBD(@d1,@d2,@d3); ########################################################################## sub FBD{ my ($d1, $d2, $d3) = @_; @d1 = @$d1; @d2 = @$d2; @d3 = @$d3; $nbj1 = nbj2000($d1[0],$d1[1],$d1[2]); $nbj2 = nbj2000($d2[0],$d2[1],$d2[2]); $nbj3 = nbj2000($d3[0],$d3[1],$d3[2]); if ($nbj1 > $nbj2 and $nbj1 <= $nbj3) { return 1; }else{ return 0; } } ########################################################################## # Cette fct retourne un sting sans caractère spécial # $nom = &parse($nom) ########################################################################## sub parse{ my ($string) = @_; $string =~ s/%20/ /; return $string; } ########################################################################## # Cette fct retourne un tableau contenant la date # @mydate = &datef1('10/9/85') -> @mydate = {"10","9","85"} ########################################################################## sub datef1{ @personal = split(/\//,$_[0]); return @personal; } ########################################################################## # Cette fct retourne un tableau contenant la date # @mydate = &datef2(10,9,85) -> @mydate = {"10","9","85"} ########################################################################## sub datef2{ @personal = ($_[0],$_[1],$_[2]); return @personal; } ########################################################################## # Cette fct retourne un String contenant la date # @mydate = &datef2(10,9,85) -> "10/9/85"} ########################################################################## sub datef3{ @personal = ($_[0],$_[1],$_[2]); return "$_0/$_1/$_2"; } ########################################################################## # &nbj2000 (day,month,year) retoune le nombre de jours depuis le 1/1/2000 # &nbj2000 ('10','9','2007'); ########################################################################## sub nbj2000{ $day = $_[0]; $month = $_[1]; $year = $_[2]; $count = 0; &febday; @nbdays = (31,$feb_days,31,30,31,30,31,31,30,31,30,31); for ($z=0; $z<($month-1); $z++){ $count = $count + $nbdays[$z]; } $count = $count + $day; for ($z=2000 ; $z<$year; $z++){ $count = $count + &nbjy($z); } #print ($count); $nbj2000 = $count; } ######################################################################## sub febday{ $yeardiv = ($year / 4); $yearint = int($yeardiv); $yeardiv1 = ($year / 100); $yearint1 = int($yeardiv1); if ($yeardiv eq $yearint && $yeardiv1 ne $yearint1) { $feb_days = "29"; } else { $feb_days = "28"; } } ######################################################################## # &nbjy(2005); ######################################################################## sub nbjy{ $yeardiv = ($_[0] / 4); $yearint = int($yeardiv); $yeardiv1 = ($year / 100); $yearint1 = int($yeardiv1); if ($yeardiv eq $yearint && $yeardiv1 ne $yearint1) { $nbjy = "366"; } else { $nbjy = "365"; } } ######################################################################## exit;