<?php
/************************************************************************/
/* DUNE by NPDS                                                         */
/* ===========================                                          */
/*                                                                      */
/* Kill the Ereg by JPB on 24-01-2011 and cast MySql engine type        */
/* This version name NPDS Copyright (c) 2001-2013 by Philippe Brunier   */
/*                                                                      */
/* 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.       */
/************************************************************************/
/************************************************************************/
/* Module-Install Version 1.1 - Mai 2005                                */
/* --------------------------                                           */
/* Copyright (c) 2005 Boris L'Ordi-Dépanneur & Hotfirenet               */
/*                                                                      */
/* Version 1.2 - 22 Avril 2009                                          */
/* --------------------------                                           */
/*                                                                      */
/* Modifié par jpb et phr pour le rendre compatible avec Evolution      */
/*                                                                      */
/************************************************************************/
function Access_Error () {
  include("admin/die.php");
}
if (!stristr($_SERVER['PHP_SELF'],"admin.php")) { Access_Error(); }

global $language, $ModInstall, $ModDesinstall;
$result = sql_query("select radminsuper from ".$NPDS_Prefix."authors where aid='$aid'");
list($radminsuper) = sql_fetch_row($result);
if ($radminsuper != 1) {
   Access_Error();
}

// *****************************
// * Fonctions de l'installeur *
// *****************************

function nmig_copyright() {
   $display = "<div style=\"text-align: center;\">\n";
   $display .= "NPDS Module Installer v1.2";
   $display .= "</div>\n";
   return $display;
}

// e1
function nmig_Start($name_module,$txtdeb) {
   include("header.php");
   global $ModInstall, $display;
   $display = "<div style=\"text-align: left;\">\n";
   if (isset($txtdeb) && $txtdeb != "") {
      $display .= aff_langue($txtdeb);
   } else {
      $display .= "<b>".adm_translate("Bonjour et bienvenue dans l'installation automatique du module")." \"".$name_module."\""."</b>\n";
      $display .= "<br /><br />\n";
      $display .= adm_translate("Ce programme d'installation va configurer votre site internet pour utiliser ce module.")."<br /><br />\n";
      $display .= "<i>".adm_translate("Cliquez sur \"Etape suivante\" pour continuer.")."</i><br /><br />\n";
   }
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e2\" class=\"noir\">".adm_translate("Etape suivante")."</a>&nbsp;]<br />\n";
   $display .= "<br />\n";
   $display .= "</div>\n";
   $display .= nmig_copyright();
}

// e2
function nmig_License($licence_file) {
   include("header.php");
   global $ModInstall, $display;
   $myfile = fopen($licence_file,"r");
   $licence_text = fread($myfile, filesize($licence_file));
   fclose($myfile);
   $display = "<br /><div class=\"header\" style=\"text-align: center;\">\n";
   $display .= adm_translate("L'utilisation de NPDS et des modules est soumise à l'acceptation des termes de la licence GNU/GPL :");
   $display .= "</div><br />\n";
   $display .= "<div style=\"text-align: center;\">\n";
   $display .= "<textarea class=\"textbox_standard\" name=\"licence\" cols=\"80\" rows=\"24\" readonly>".htmlentities($licence_text,ENT_QUOTES,cur_charset)."</textarea>";
   $display .= "<br />[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e3\" class=\"noir\">".adm_translate("Oui")."</a>&nbsp; | &nbsp;<a href=\"admin.php?op=modules\" class=\"rouge\">".adm_translate("Non")."</a>&nbsp;]<br />\n";

   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

//e3

function nmig_AlertSql($sql,$tables) {
   include("header.php");
   global $ModInstall, $display, $NPDS_Prefix;
   $type_engine=(int)substr(mysql_get_server_info(), 0, 1);

   $display = "<div style=\"text-align: left;\">\n";
   $display .= adm_translate("Le programme d'installation va maintenant exécuter le script SQL pour configurer la base de données MySql.")."<br />\n";
   $display .= adm_translate("Si vous le souhaitez, vous pouvez exécuter ce script vous même, si vous souhaitez par exemple l'exécuter sur une autre base que celle du site. Dans ce cas, pensez à reparamétrer le fichier de configuration du module.")."<br /><br />\n";
   $display .= adm_translate("Voici le script SQL :")."<br /><br />\n";
   $display .= "</div>\n";
   ob_start();
   for ($i = 0; $i < count($sql); $i++) {
      for ($j = 0; $j < count($tables); $j++) {
         $sql[$i] = preg_replace("#$tables[$j]#i", $NPDS_Prefix.$tables[$j],$sql[$i]);
      }
      if ($type_engine>=5)
         $sql[$i] = preg_replace('#TYPE=MyISAM#i', 'ENGINE=MyISAM', $sql[$i]);
      highlight_string($sql[$i]);
      echo "<br />";
   }
   $display .= ob_get_contents();
   ob_end_clean();
   $display .= "<br />\n";
   $display .= "<div style=\"text-align: center;\">\n";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e4\" class=\"noir\">".adm_translate("Configurer MySql (Recommandé)")."</a>&nbsp; | &nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e5\" class=\"rouge\">".adm_translate("Sauter cette étape")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e4

function nmig_WriteSql($sql,$tables) {
   include("header.php");
   global $ModInstall, $display, $NPDS_Prefix;
   $type_engine=(int)substr(mysql_get_server_info(), 0, 1);

   $display = "<div style=\"text-align: left;\">\n";
   for ($i = 0; $i < count($sql) && !isset($erreur); $i++) {
      for ($j = 0; $j < count($tables); $j++) {
         $sql[$i] = preg_replace("#$tables[$j]#i", $NPDS_Prefix.$tables[$j],$sql[$i]);
      }
      if ($type_engine>=5)
         $sql[$i] = preg_replace('#TYPE=MyISAM#i', 'ENGINE=MyISAM', $sql[$i]);
      sql_query($sql[$i]) or $erreur = sql_error();
   }
   if (isset($erreur)) {
      $display .= adm_translate("Une erreur est survenue lors de l'exécution du script SQL. Mysql a répondu :");
      ob_start();
      highlight_string($erreur);
      $display .= ob_get_contents();
      ob_end_clean();
      $display .= adm_translate("Veuillez l'exécuter manuellement via phpMyAdmin.")."<br /><br />\n";
      $display .= adm_translate("Voici le script SQL :")."<br /><br />\n";
      ob_start();
      for ($i = 0; $i < count($sql); $i++) {
         highlight_string($sql[$i]);
         echo "<br />";
      }
      $display .= ob_get_contents();
      ob_end_clean();
      $display .= "<br />\n";
   } else {
      $display .= adm_translate("La configuration de la base de données MySql a réussie !")."<br />\n";
   }
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "<br />[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e5\" class=\"noir\">".adm_translate("Etape suivante")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e5

function nmig_AlertConfig($list_fich) {
   include("header.php");
   global $ModInstall, $display;
   $display = "<div style=\"text-align: left;\">\n";
   $display .= adm_translate("Le programme d'installation va maintenant modifier le(s) fichier(s) suivant(s) :")."<br /><br />\n";
   for ($i = 0; $i < count($list_fich[0]); $i++) {
      $display .= $list_fich[0][$i]."<br />\n";
   }
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "<br />\n";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e6\" class=\"rouge\">".adm_translate("Modifier le(s) fichier(s)")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e6

function nmig_WriteConfig($list_fich,$try_Chmod) {
   include("header.php");
   global $ModInstall, $display;
   $writeAllFiles = 1;
   $display .= "<div style=\"text-align: left;\">\n";
   $file_created = 0;
   for ($i = 0; $i < count($list_fich[0]); $i++) {
      if (!file_exists($list_fich[0][$i])) {
         $file = fopen($list_fich[0][$i7], "w");
         fclose($file);
         $file_created = 1;
      }
      if ($list_fich[0][$i] == "admin/extend-modules.txt" || $list_fich[0][$i] == "modules/include/body_onload.inc") {
         $file = fopen($list_fich[0][$i], "r");
         $txtconfig = fread($file,filesize($list_fich[0][$i]));
         fclose($file);
         $debut = strpos($list_fich[1][$i],"[nom]") + 5;
         $fin = strpos($list_fich[1][$i],"[/nom]");
         if (preg_match("#".substr($list_fich[1][$i],$debut,$fin-$debut)."#",$txtconfig)) {
            $display .= adm_translate("Les paramètres sont déjà inscrits dans le fichier \"").$list_fich[0][$i]."\".<br />\n";
         } else {
            if ($try_Chmod) {
               chmod($list_fich[0][$i], 666);
            }
            $file = fopen($list_fich[0][$i], "r+");
            fread($file,filesize($list_fich[0][$i]));
            if (fwrite($file, $list_fich[1][$i])) {
               fclose($file);
               $display .= adm_translate("Les paramètres ont été correctement écrits dans le fichier \"").$list_fich[0][$i]."\".<br />\n";
            } else {
               $writeAllFiles = 0;
               $display .= adm_translate("Impossible d'écrire dans le fichier \"").$list_fich[0][$i]."\". ".adm_translate("Veuillez éditer ce fichier manuellement ou réessayez en tentant de faire un chmod automatique sur le(s) fichier(s) concernés.")."<br /><br />\n";
               $display .= adm_translate("Voici le code à taper dans le fichier :")."<br /><br />\n";
               $display .= "</div>\n";
               $display .= "<div class=\"code\">\n";
               ob_start();
               highlight_string($list_fich[1][$i]);
               $display .= ob_get_contents();
               ob_end_clean();
               $display .= "<br />\n";
            }
         }
      } else {
         $file = fopen($list_fich[0][$i], "r");
         $txtconfig = fread($file,filesize($list_fich[0][$i]));
         fclose($file);
         if (!$file_created) {
            $debut = strpos($txtconfig,"?>");
            $txtconfig = substr($txtconfig,0,$debut-1).chr(13).$list_fich[1][$i].chr(13)."?>";
         } else {
            $txtconfig = "<?php \n".$list_fich[1][$i]."\n ?>";
         }
         if ($try_Chmod) {
            chmod($list_fich[0][$i], 666);
         }
         $file = fopen($list_fich[0][$i], "w");
         fread($file,filesize($list_fich[0][$i]));
         if (fwrite($file, $txtconfig)) {
            fclose($file);
            $display .= adm_translate("Les paramètres ont été correctement écrits dans le fichier \"").$list_fich[0][$i]."\".<br />\n";
         } else {
            $writeAllFiles = 0;
            $display .= adm_translate("Impossible d'écrire dans le fichier \"").$list_fich[0][$i]."\". ".adm_translate("Veuillez éditer ce fichier manuellement ou réessayez en tentant de faire un chmod automatique sur le(s) fichier(s) concernés.")."<br />\n";
            $display .= adm_translate("Voici le code à taper dans le fichier :")."<br /><br />\n";
            $display .= "</div>\n";
            $display .= "<div class=\"code\">\n";
            ob_start();
            highlight_string($list_fich[1][$i]);
            $display .= ob_get_contents();
            ob_end_clean();
            $display .= "<br />\n";
         }
      }
   }
   $display .= "</div><br />\n";
   $display .= "<div style=\"text-align: center;\">\n";
   $display .= "[";
   if (!$writeAllFiles) {
      $display .= "&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e6&amp;try_Chmod=1\" class=\"rouge\">".adm_translate("Réessayer avec chmod automatique")."</a>&nbsp;] | [";
   }
   $display .= "&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e7\"";
   if (!$writeAllFiles) {
      $display .= "class=\"noir\">";
   } else {
      $display .= "class=\"rouge\">";
   }
   $display .= adm_translate("Etape suivante")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e7

function nmig_AlertBloc($blocs) {
   include("header.php");
   global $ModInstall, $display;
   $display = "<div style=\"text-align: left;\">\n";
   $display .= adm_translate("Vous pouvez choisir maintenant de créer automatiquement un(des) bloc(s) à droite ou à gauche. Cliquer sur \"Créer le(s) bloc(s) à gauche\" ou \"Créer le(s) bloc(s) à droite\" selon votre choix. (Vous pourrez changer leurs positions par la suite dans le panneau d'administration --> Blocs)")."<br />\n";
   $display .= adm_translate("Si vous préférez créer vous même le(s) bloc(s), cliquez sur 'Sauter cette étape et afficher le code du(des) bloc(s)' pour visualiser le code à taper dans le(s) bloc(s).")."<br /><br />\n";
   $display .= adm_translate("Voici la description du(des) bloc(s) qui sera(seront) créé(s) :")."<br /><br />\n";
   $display .= "</div>\n";
   ob_start();
   echo "<ul>";
   for ($i = 0; $i < count($blocs[0]); $i++) {
      echo "<li>Bloc n&#xB0; ".$i." : ".$blocs[8][$i]."</li>";
   }
   echo "</ul>";
   $display .= ob_get_contents();
   ob_end_clean();
   $display .= "<div style=\"text-align: center;\">\n";
   $display .= "<br />\n";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e8&amp;posbloc=l\" class=\"noir\">".adm_translate("Créer le(s) bloc(s) à gauche")."</a>&nbsp; | &nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e8&amp;posbloc=r\" class=\"noir\">".adm_translate("Créer le(s) bloc(s) à droite")."</a>&nbsp;]<br /><br />";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e8&amp;posbloc=0\" class=\"rouge\">".adm_translate("Sauter cette étape et afficher le code du(des) bloc(s)")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e8

function nmig_WriteBloc($blocs,$posbloc) {
   include("header.php");
   global $ModInstall, $display;
   global $NPDS_Prefix;
   $display = "<div style=\"text-align: left;\">\n";
   if ($posbloc) {
      if ($blocs[2] == "") {
         $blocs[2] = $blocs[3];
      }
      if ($posbloc == "l") {
         $posblocM = "L";
      }
      if ($posbloc == "r") {
         $posblocM = "R";
      }
      for ($i = 0; $i < count($blocs[0]) && !isset($erreur); $i++) {

         sql_query("INSERT INTO ".$NPDS_Prefix.$posbloc."blocks (`id`, `title`, `content`, `member`, `".$posblocM."index`, `cache`, `actif`, `aide`) VALUES ('', '".$blocs[0][$i]."', '".$blocs[1][$i]."', '".$blocs[2][$i]."', '".$blocs[4][$i]."', '".$blocs[5][$i]."', '".$blocs[6][$i]."', '".$blocs[7][$i]."');") or $erreur = sql_error();
      }
      if (isset($erreur)) {
         $display .= adm_translate("Une erreur est survenue lors de la configuration automatique du(des) bloc(s). Mysql a répondu :");
         ob_start();
         highlight_string($erreur);
         $display .= ob_get_contents();
         ob_end_clean();
         $display .= adm_translate("Veuillez configurer manuellement le(s) bloc(s).")."<br /><br />\n";
         $display .= adm_translate("Voici le code du(des) bloc(s) :")."<br /><br />\n";
         ob_start();
         for ($i = 0; $i < count($blocs[0]); $i++) {
            echo "Bloc n&#xB0; ".$i."<br />";
            highlight_string($blocs[1][$i]);
            echo "<br />\n";
         }
         $display .= ob_get_contents();
         ob_end_clean();
      } else {
         $display .= adm_translate("La configuration du(des) bloc(s) a réussi !")."<br />\n";
         $display .= "<br />\n";
      }
   } else {
      $display .= adm_translate("Vous avez choisi de configurer manuellement vos blocs. Voici le contenu de ceux-ci :")."<br /><br />";
      ob_start();
         for($i = 0; $i < count($blocs[0]); $i++) {
            echo "Bloc n&#xB0; ".$i."<br />";
            highlight_string($blocs[1][$i]);
            echo "<br />\n";
         }
      $display .= ob_get_contents();
      ob_end_clean();
   }
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e9\" class=\"noir\">".adm_translate("Etape suivante")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// e9

function nmig_txt($txtfin) {
   include("header.php");
   global $ModInstall, $display;
   $display = "<div style=\"text-align: left;\">\n";
   $display .= "<b>".aff_langue($txtfin)."</b>\n";
   $display .= "<br /><br />\n";
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "<br />[&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModInstall=".$ModInstall."&amp;nmig=e10\" class=\"noir\">".adm_translate("Etape suivante")."</a>&nbsp;]<br />\n";
   $display .= "</div>\n";
   $display .= "<br />\n";
   $display .= nmig_copyright();
}

// e10

function nmig_End($name_module, $end_link) {
   include("header.php");
   global $ModInstall, $display;
   global $NPDS_Prefix;
   sql_query("UPDATE ".$NPDS_Prefix."modules SET minstall='1' WHERE mnom='".$ModInstall."'");
   $display = "<div style=\"text-align: left;\">\n";
   $display .= "<b>".adm_translate("L'installation automatique du module")." \"".$name_module."\" ".adm_translate("est terminée !")."\n";
   $display .= "<br /><br />\n";
   $display .= "</b>\n";
   $display .= "</div><div style=\"text-align: center;\">\n";
   $display .= "[&nbsp;<a href=\"".$end_link."\" class=\"noir\">".adm_translate("Ok")."</a>&nbsp;]<br />\n";
   $display .= "</div><br />\n";
   $display .= nmig_copyright();
}

// ************************
// * Affichage de la page *
// ************************

   if (!isset($try_Chmod)) {
      $try_Chmod = 0;
   }
   if ($ModInstall != "" && $ModDesinstall == "") {
      if ($subop == "install") {
         $result = sql_query("UPDATE ".$NPDS_Prefix."modules SET minstall='1' WHERE mnom= '".$ModInstall."'");
      }
      if (file_exists("modules/".$ModInstall."/install.conf.php")) {
         include("modules/".$ModInstall."/install.conf.php");
      } else {
         include("header.php");
         GraphicAdmin($hlpfile);
         echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"header\">\n";
         echo adm_translate("Gestion, Installation Modules");
         echo "</td></tr></table>\n";
         echo "<div style=\"text-align: center;\">".adm_translate("Fichier de configuration automatique absent. Installation/désinstallation automatique impossible.")."<br /><br />[ <a href=\"JavaScript:history.go(-1)\" class=\"rouge\">".adm_translate("Retour en arrière")."</a> ]</div><br /><br />".nmig_copyright();
         include("footer.php");
         die();
      }
      if (file_exists("modules/".$ModInstall."/licence-".$language.".txt")) {
         $licence_file = "modules/".$ModInstall."/licence-".$language.".txt";
      } else {
         $licence_file = "modules/".$ModInstall."/licence-english.txt";
      }
      switch($nmig) {
         case "e2":
            nmig_License($licence_file);
            break;

         case "e3":
            if (isset($sql[0]) && $sql[0] != "") { nmig_AlertSql($sql,$tables); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e5\";\n//]]>\n</script>"; }
            break;   

         case "e4":
            if (isset($sql[0]) && $sql[0] != "") { nmig_WriteSql($sql,$tables); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e5\";\n//]]>\n</script>"; }
            break;

         case "e5":
            if (isset($list_fich) && count($list_fich[0]) && $list_fich[0][0] != "") { nmig_AlertConfig($list_fich); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e7\";\n//]]>\n</script>"; }
            break;

         case "e6":
            if (isset($list_fich) && count($list_fich[0])) { nmig_WriteConfig($list_fich, $try_Chmod); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e7\";\n//]]>\n</script>"; }
            break;

         case "e7":
            if (isset($blocs) && count($blocs[0]) && $blocs[0][0] != "") { nmig_AlertBloc($blocs); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e9\";\n//]]>\n</script>"; }
            break;

         case "e8":
            if (isset($blocs) && count($blocs[0]) && $blocs[0][0] != "") { nmig_WriteBloc($blocs, $posbloc); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e9\";\n//]]>\n</script>"; }
            break;

         case "e9":
            if (isset($txtfin) && $txtfin != "") { nmig_txt($txtfin); }
            else { echo "<script type=\"text/javascript\">\n//<![CDATA[\nwindow.location = \"admin.php?op=Module-Install&ModInstall=".$ModInstall."&nmig=e10\";\n//]]>\n</script>"; }
            break;

         case "e10":
            if (!isset($end_link) || $end_link == "") { $end_link = "admin.php?op=modules"; }
            nmig_End($name_module, $end_link);
            break;

         default:
            nmig_Start($name_module,$txtdeb);
            break;
      }
   } elseif ($ModInstall == "" && $ModDesinstall != "") {
      if ($subop == "desinst") {
         include("header.php");
         $result = sql_query("UPDATE ".$NPDS_Prefix."modules SET minstall='0' WHERE mnom= '".$ModDesinstall."'");
         redirect_url("admin.php?op=modules");
      }
      include("header.php");
      $display = "<div style=\"text-align: left;\"><br /><b>".adm_translate("Désinstaller le module ").$ModDesinstall.".</b><br /><br />".adm_translate("La désinstallation automatique des modules n'est pas prise en charge à l'heure actuelle.")."<br />".adm_translate("Vous devez désinstaller le module manuellement. Pour cela, référez vous au fichier install.txt de l'archive du module, et faites les opérations inverses de celles décrites dans la section \"Installation manuelle\", et en partant de la fin.")."<br />".adm_translate("Enfin, pour pouvoir réinstaller le module par la suite avec Module-Install, cliquez sur le bouton \"Marquer le module comme désinstallé\".")."<br /><br />\n";
      $display .= "</div><div style=\"text-align: center;\">[&nbsp;<a href=\"JavaScript:history.go(-1)\" class=\"noir\">".adm_translate("Retour en arrière")."</a>&nbsp;] [&nbsp;<a href=\"admin.php?op=Module-Install&amp;ModDesinstall=".$ModDesinstall."&amp;subop=desinst\" class=\"rouge\">".adm_translate("Marquer le module comme désinstallé")."</a>&nbsp;]<br />\n";
      $display .= "</div><br />\n";
      $display .= nmig_copyright();

   }

   GraphicAdmin($hlpfile);
   opentable();
      echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"header\">\n";
      echo adm_translate("Gestion, Installation Modules");
      echo "</td></tr></table>\n";
      echo $display;
   closetable();
   include("footer.php");
?>