##########################################################
#                #                                       #
#	 ManyPage    #    See habille.pl / Voir habille.pl   #
#                #                                       #
##########################################################
#
# On remplace <(?:PM\.)?KEYWD\.TITLEBACK> (NEXT et UP) par le nom du titre correspondant 
#
# Si la page paralelle n'existe pas, on cherchera dans l'ordre de la bdd
# De langues, la premiere page existante.
#
###############################
#
#  Copyright (C) 2000 Pierre Cordani - Pascal Vuylsteker
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformŽment
# aux dispositions de la Licence Publique GŽnŽrale GNU, telle que publiŽe par la Free Software
# Foundation ; version 2 de la licence, ou encore (ˆ votre choix) toute version ultŽrieure.
#
###################

sub cherche_title
{
 local ($info) = @_;

 @fleche_title_info = ("next","up","back");
 @fleche_title_info_lien = ($Le_lien_next,$Le_lien_up,$Le_lien_back);
 for(local $i_fleche = 0; $i_fleche < 3; $i_fleche++)
  {
   $fleche_title_info_lien[$i_fleche] =~ s/(.*)#.*/$1/si;
  }
# print "==>$Le_lien_back,$Le_lien_next,$Le_lien_up\n";
 local ($i_title) = 0;
 while($fleche_title_info[$i_title] ne '')
  {if($info =~ /<(?:PM\.)?KEYWD\.TITLE$fleche_title_info[$i_title]>/is)
    {
	 local($New_path) = '';
	 if($fleche_title_info_lien[$i_title] =~ /^\/.*/is)
	  {$New_path = "$Source/$fleche_title_info_lien[$i_title]";}
	 else
	  {$New_path = "$path_solo/$fleche_title_info_lien[$i_title]";}
	 $New_path =~ s/\/+/\//isg; 
#	 print "==>$path_solo$fleche_title_info_lien[$i_title]\n";
	 local($path_title,$file_title,$langue_title,$suf_title) = &decoupage_info("$New_path");
	 if($suf_title eq "+")
	  {
	   $title_file = "$path_title$file_title.$langue.html";
	  }
     elsif($langue_title eq "MONO")
	  {
	   $title_file = "$path_title$file_title.html";
	  }
	 else
	  {
	   $title_file = "$path_title$file_title.$langue_title.html";
	  }
#	 print "oui pour $path_title,$file_title,$langue_title,$suf_title\n";
#	 print "oui pour $title_file\n";
     
	 if(!(-e $title_file))
      {
	   # Je suis dans le cas ou la page paralelle n'existe pas
	   local ($i_langue_title) = 0;
	   while($Les_Langues_Suf[$i_langue_title])
	    {
		 if(-e "$path_title$file_title.$Les_Langues_Suf[$i_langue_title].html")
		  {$title_file = "$path_title$file_title.$Les_Langues_Suf[$i_langue_title].html";last}
		 $i_langue_title++;
		}
	   if($Les_Langues_Suf[$i_langue_title] eq '')
	    {
		 if(-e "$path_title$file_title.sgml")
		  {
		   $title_file = "$path_title$file_title.sgml";
		  }
		 else
		  {
		   print "Attention : Le fichier $New_path n'existe pas (ou c'est un lien)\n" if ($fleche_title_info_lien[$i_title] ne '');	
	       $info =~ s/<(?:PM\.)?KEYWD\.TITLE$fleche_title_info[$i_title]>//igs;
	       $title_file = '';
		  }
		}
	  }
#	 print "==>$title_file\n";
     if($title_file ne '')
      {
#	   print "=>$title_file\n";
	   open(TITLE,"$title_file");
	   undef $/;
	   local ($Le_titre_info) = <TITLE>;
	   $/ = $sauve;
	   close (TITLE);
	   if($Le_titre_info =~ /.*<HEAD>.*<TITLE>(.*?)<\/TITLE>.*<\/HEAD>.*/is)
	    {
	     $Le_titre_info = $1;
#		 print "$Le_titre_info\n\n\n";
		 $Le_titre_info =~ s/<\s*(MD?P(_|\.))?FR\s*>/<SAPI.TITLE.FR>/gis;
		 $Le_titre_info =~ s/<\s*(MD?P(_|\.))?EN\s*>/<SAPI.TITLE.EN>/gis;
		 $Le_titre_info =~ s/<\s*\/(MD?P(_|\.))?FR\s*>/<\/SAPI.TITLE.FR>/gis;
		 $Le_titre_info =~ s/<\s*\/(MD?P(_|\.))?EN\s*>/<\/SAPI.TITLE.EN>/gis;
		 $Le_titre_info =~ s/&#146;/&acute;/gis;
		 $Le_titre_info =~ s/'/&acute;/gis;
		 $Le_titre_info =~ s/"/&quot;/gis;
		 $Le_titre_info =~ s/\n*//gis;
		 $Le_titre_info =~ s/\t*//gis;
		 $Le_titre_info =~ s/^ *//gis;
		 $Le_titre_info =~ s/ *$//gis;
#		 print "$Le_titre_info\n";
		 if($Le_titre_info eq '')
		  {print "Le titre de la page $title_file est inexistant\n"}
	     $info =~ s/<(?:PM\.)?KEYWD\.TITLE$fleche_title_info[$i_title]>/$Le_titre_info/igs;
	    }
	   else
	    {
	     $info =~ s/<(?:PM\.)?KEYWD\.TITLE$fleche_title_info[$i_title]>//igs;
        }
	  }
    }
   $i_title++;	
  }
  
  # print "$info\n";
   # Netoyage de possibles 

# Modif PVK 11/01/01 : ces 2 lignes faisait apparaitre les fichiers produits sur une unique ligne !
# ==> mise en commentaire
#   $info =~ s/
#//gs;

 return $info;
}

return 1;
