diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index 13d47d5226a..4364608d0d8 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -245,11 +245,10 @@ class Form
* \param selected Langue présélectionnée
* \param htmlname Nom de la zone select
*/
-
function select_lang($selected='',$htmlname='lang_id')
{
global $langs;
-
+
$langs_available=$langs->get_available_languages();
print '';
@@ -274,6 +273,38 @@ class Form
}
+ /**
+ * \brief Retourne la liste déroulante des menus disponibles
+ * \param selected Menu pré-sélectionnée
+ * \param htmlname Nom de la zone select
+ * \param dirmenu Repértoire à scanner
+ */
+ function select_menu($selected='',$htmlname,$dirmenu)
+ {
+ global $langs;
+
+ if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilité
+
+ print '';
+ $handle=opendir($dirmenu);
+ while (($file = readdir($handle))!==false)
+ {
+ if (is_file($dirmenu."/".$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
+ {
+ $filelib=eregi_replace('\.php$','',$file);
+ if ($file == $selected)
+ {
+ print ''.$filelib.' ';
+ }
+ else
+ {
+ print ''.$filelib.' ';
+ }
+ }
+ }
+ print ' ';
+ }
+
/**
* \brief Retourne la liste des types de comptes financiers
* \param selected Type pré-sélectionné
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 21c25721075..24af20a8f65 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -138,7 +138,20 @@ if (isset($user->conf->MAIN_DISABLE_JAVASCRIPT) && $user->conf->MAIN_DISABLE_JAV
$conf->use_javascript=! $user->conf->MAIN_DISABLE_JAVASCRIPT;
}
-
+// Défini gestionnaire de manu à utiliser
+if (! $user->societe_id) // Si utilisateur interne
+{
+ $conf->top_menu=$conf->global->MAIN_MENU_BARRETOP;
+ $conf->left_menu=$conf->global->MAIN_MENU_BARRELEFT;
+ // Pour compatibilité
+ if ($conf->top_menu == 'eldy.php') $conf->top_menu='eldy_frontoffice.php';
+ if ($conf->left_menu == 'eldy.php') $conf->left_menu='eldy_frontoffice.php';
+}
+else // Si utilisateur externe
+{
+ $conf->top_menu=$conf->global->MAIN_MENUFRONT_BARRETOP;
+ $conf->left_menu=$conf->global->MAIN_MENUFRONT_BARRELEFT;
+}
// Si le login n'a pu être récupéré, on est identifié avec un compte qui n'existe pas.
// Tentative de hacking ?
diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php
index 83c666765ac..1c49d90f509 100644
--- a/htdocs/master.inc.php
+++ b/htdocs/master.inc.php
@@ -147,12 +147,13 @@ if ($result)
$db->free($result);
/*
- * Positionne les gestionnaires de menu
+ * Nettoyage variables des gestionnaires de menu
+ * conf->menu_top et conf->menu_left sont définis dans main.inc.php (selon user)
*/
if (! $conf->global->MAIN_MENU_BARRETOP) $conf->global->MAIN_MENU_BARRETOP="default.php";
+if (! $conf->global->MAIN_MENUFRONT_BARRETOP) $conf->global->MAIN_MENUFRONT_BARRETOP="default.php";
if (! $conf->global->MAIN_MENU_BARRELEFT) $conf->global->MAIN_MENU_BARRELEFT="default.php";
-$conf->top_menu=$conf->global->MAIN_MENU_BARRETOP;
-$conf->left_menu=$conf->global->MAIN_MENU_BARRELEFT;
+if (! $conf->global->MAIN_MENUFRONT_BARRELEFT) $conf->global->MAIN_MENUFRONT_BARRELEFT="default.php";
/*
* Positionne le langage global et localisation dans $conf->langage