#!C:\Perl\bin\perl -w
use strict ;
use Encode ;
use Switch ;

# On ajoute le chemin du répertoire dans la variable d'environnement @INC et on liste les fichiers nécessaires à la BàO2
unshift(@INC,"C:\\wamp\\www\\ProjetEncadre");
require( "Xoomle-RSS.pl" ) ;
require( "Xoomle-RSS_bao2.pl" ) ;
require( "Xoomle-Lib.pl" ) ;
require( "Xoomle-Lib_bao2.pl" ) ;
require( "Xoomle-XPath.pl" ) ;
require( "Xoomle-XPath_bao2.pl" ) ;
require( "XoomleSearch_affiche.pl" ) ;
require( "parcoursEtNettoie.pl" ) ;

my ($bib, $rep, $repsortie, $requete, $util, $code, $l, $i) ;
my @fich ;
my %dicoRubriques ;
my %dicoItems ;

# my $q = CGI->new; # on crée un nouvel objet CGI
# $bib = $q->param( 'bib' ) ;
# $util = $q->param('nom') ;
# $util = decode( "utf8", $util ) ;
# $rep =$q->param('dir') ;
# $repsortie = $q->param('rep') ;
# $requete = $q->param('req') ; 
# $requete = decode("utf8", $requete) ;
# $code = "utf8" ;
# undef $q ;
#-----------------------------------------------------------
# Pour lancer le script en ligne de commande, on utilise plus les paramètres transmis par le formulaire mais les arguments de la commande.
print $#ARGV, "\n" ;
if( $#ARGV != 4 ) { die "Usage : .".$0." bibliotheque[rss=BaO1 rss2=BaO2 lib=LibXML-BaO1 lib2=libXML-BaO2 path=XPath-BaO1 path2=XPath-BaO2] utilisateur[votre nom] requete[une expression a chercher] repertoire_entree repertoire_sortie\n" ; }
$bib= shift(@ARGV) ;
$util = shift(@ARGV) ;
$requete = shift(@ARGV) ;
$rep = shift(@ARGV) ;
$repsortie = shift(@ARGV) ;
$code = "utf8" ;

# on s'assure que le nom du répertoire ne se termine pas par un "\"
$rep=~ s/\\$//;

my $output1= $repsortie."\\SORTIE_BL.xml" ;
my $output2= $repsortie."\\SORTIE-TXT_BL.txt";
my $c = ":encoding(".$code.")" ;
open( XOUT, ">", $output1 ) or die "je ne peux pas ouvrir le fichier : ", $!, "\n" ;
binmode( XOUT, $c ) ;
open( TOUT, ">", $output2 ) or die "je ne peux pas ouvrir le fichier : ", $!, "\n" ;
binmode( TOUT, $c ) ;

print XOUT "<?xml version=\"1.0\" encoding=\"", $code, "\" ?>\n";
print XOUT "<?xml-stylesheet href=\"XoomleStyle.css\" type=\"text/css\"?>\n";
print XOUT "<PARCOURS>\n";
print XOUT "<NOM>", $util, "</NOM>\n";
print XOUT "<FILTRAGE filtre=\"", $requete, "\" >\n" ;

#----------------------------------------

&parcoursarborescencefichiers($rep, \@fich) ;
switch( $bib ) {
	# On ajoute les procédures de la BàO2 en ajoutant en paramêtre les tables de hachages qui vont contenir les rubriques et les items
	case "rss" { &lectureIXEMELLE( $requete, \@fich, $repsortie, $c, $rep ) ; }
	case "rss2" { &etiq2IXEMELLE( $requete, \@fich, $repsortie, $c, $rep, \%dicoRubriques, \%dicoItems ) ; }
	case "lib" { &parseIXEMELLE( $requete, \@fich, $repsortie, $c, $rep ) ; }
	case "lib2" { &etiqIXEMELLE( $requete, \@fich, $repsortie, $c, $rep, \%dicoRubriques, \%dicoItems ) ; }
	case "path" { &parcoursIXEMELLE( $requete, \@fich, $repsortie, $c, $rep ) ; }
	case "path2" { &etiq3IXEMELLE( $requete, \@fich, $repsortie, $c, $rep, \%dicoRubriques, \%dicoItems ) ; }
}

#----------------------------------------

print XOUT "</FILTRAGE>\n</PARCOURS>\n";
close(XOUT);
close(TOUT);
