Amélioration gestion du LDAP

This commit is contained in:
Laurent Destailleur 2006-03-31 19:20:55 +00:00
parent 35e980e25c
commit 248402c4a1
3 changed files with 101 additions and 86 deletions

View File

@ -25,6 +25,7 @@ OtherOptions=Other options
OtherSetup=Other setup OtherSetup=Other setup
Modules=Modules Modules=Modules
ModulesCommon=Common modules ModulesCommon=Common modules
ModulesInterfaces=Interfaces modules
ModulesSpecial=Special modules ModulesSpecial=Special modules
ParameterInDolibarr=Parameter %s ParameterInDolibarr=Parameter %s
LanguageParameter=Language parameter %s LanguageParameter=Language parameter %s
@ -42,6 +43,7 @@ AutoDetectLang=Autodetect (browser language)
Rights=Permissions Rights=Permissions
BoxesDesc=Boxes are screen area that show some informations on some pages. You can choose between showing or not a such box by selecting target page en clicking 'Activate', or by clicking the dustbin to disable it. Only boxes about enabled <a href="modules.php">modules</a> are shown. BoxesDesc=Boxes are screen area that show some informations on some pages. You can choose between showing or not a such box by selecting target page en clicking 'Activate', or by clicking the dustbin to disable it. Only boxes about enabled <a href="modules.php">modules</a> are shown.
ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module.
ModulesInterfaceDesc=Interface Dolibarr modules allows you to add features depending on external softwares, systems or services.
ModulesSpecialDesc=Special modules are very specific or rarely used modules. ModulesSpecialDesc=Special modules are very specific or rarely used modules.
BoxesAvailable=Boxes available BoxesAvailable=Boxes available
BoxesActivated=Boxes activated BoxesActivated=Boxes activated
@ -61,7 +63,7 @@ ModuleFamilyProducts=Products Management
ModuleFamilyHr=Human Ressource Management ModuleFamilyHr=Human Ressource Management
ModuleFamilyProjects=Projects/Collaborative work ModuleFamilyProjects=Projects/Collaborative work
ModuleFamilyOther=Other ModuleFamilyOther=Other
ModuleFamilyTechnic=Technical Modules ModuleFamilyTechnic=Tools or System Modules
ModuleFamilyExperimental=Experimental modules ModuleFamilyExperimental=Experimental modules
ModuleFamilyFinancial=Financial Modules (Accountancy/Treasury) ModuleFamilyFinancial=Financial Modules (Accountancy/Treasury)
Module0Name=Users & groups Module0Name=Users & groups
@ -392,27 +394,32 @@ AddSubscriptionIntoAccount=Add subscriptions into bank or cash account, of bank
AdherentMailRequired=EMail required to create a new member AdherentMailRequired=EMail required to create a new member
##### LDAP setup #### ##### LDAP setup ####
LDAPSetup=LDAP Setup LDAPSetup=LDAP Setup
LDAPFunctionsNotAvailableOnPHP=LDAP functions are not availbale on your PHP
LDAPTypeExample=OpenLdap, Egroupware or Active Directory
LDAPServer=LDAP Server LDAPServer=LDAP Server
LDAPServerPort=LDAP server port LDAPServerPort=LDAP server port
LDAPServerPortExample=Default port : 389 LDAPServerPortExample=Default port : 389
TestConnectLdap=Test connection
#LDAPSuffix=LDAP suffix #LDAPSuffix=LDAP suffix
DNAdmin=Administrator' DN DNAdmin=Administrator DN
LDAPPassword=Password LDAPPassword=administrator password
DNUser=Users' DN DNUser=Dolibarr users' DN
DNGroup=Groups' DN DNGroup=Dolibarr groups' DN
LDAPServerExample=Server adress LDAPServerExample=Server address (ex: localhost, 127.0.0.1, 192.168.0.2)
#LDAPSuffixExample=ex: dc=company,dc=com #LDAPSuffixExample=Complete DN (ex: dc=company,dc=com)
DNAdminExample=Complete DN (ex: cn=adminldap,dc=society,dc=com) DNAdminExample=Complete DN (ex: cn=adminldap,dc=society,dc=com)
LDAPPasswordExample=Admin password LDAPPasswordExample=Admin password
DNUserExample=Complete DN (ex: ou=users,dc=society,dc=com) DNUserExample=Complete DN (ex: ou=users,dc=society,dc=com)
DNGroupExample=Complete DN (ex: ou=groups,dc=society,dc=com) DNGroupExample=Complete DN (ex: ou=groups,dc=society,dc=com)
DNContactActive=Contacts' synchronization? DNContactActive=Contacts' synchronization?
DNContactActiveYes=Activated synchronization DNContactActiveYes=Activated synchronization
DNContactActiveExample=Desactivated synchronization DNContactActiveExample=Activated/Unactivated synchronization
DNContact=Contacts' DN DNContact=Dolibarr contacts' DN
DNContactExample=Complete DN (ex: ou=contacts,dc=society,dc=com) DNContactExample=Complete DN (ex: ou=contacts,dc=society,dc=com)
TypeExample=OpenLdap, Egroupware or Active Directory LDAPTestConnect=Test LDAP connection
LDAPTestOK=Connect to LDAP server successful
LDAPTestKO=Connect to LDAP server failed
LDAPSetupForVersion3=LDAP server configured for version 3
LDAPSetupForVersion2=LDAP server configured for version 2
##### Products ##### ##### Products #####
ProductSetup=Products module setup ProductSetup=Products module setup
NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit)

View File

@ -25,6 +25,7 @@ OtherOptions=Autres options
OtherSetup=Divers OtherSetup=Divers
Modules=Modules Modules=Modules
ModulesCommon=Modules standards ModulesCommon=Modules standards
ModulesInterfaces=Modules interfaces
ModulesSpecial=Modules spéciaux ModulesSpecial=Modules spéciaux
ParameterInDolibarr=Variable %s ParameterInDolibarr=Variable %s
LanguageParameter=Variable langue %s LanguageParameter=Variable langue %s
@ -42,6 +43,7 @@ AutoDetectLang=D
Rights=Permissions Rights=Permissions
BoxesDesc=Les boîtes sont des zones d'information réduites qui s'affichent sur certaines pages. Vous pouvez choisir ou non d'activer une boîte en sélectionnant la page cible et en cliquant sur 'Activer', ou en cliquant sur la poubelle pour la désactiver. Seules les boîtes en rapport avec un <a href="modules.php">module</a> actif sont présentées. BoxesDesc=Les boîtes sont des zones d'information réduites qui s'affichent sur certaines pages. Vous pouvez choisir ou non d'activer une boîte en sélectionnant la page cible et en cliquant sur 'Activer', ou en cliquant sur la poubelle pour la désactiver. Seules les boîtes en rapport avec un <a href="modules.php">module</a> actif sont présentées.
ModulesDesc=Les modules Dolibarr définissent les fonctionnalités disponibles dans l'application. Certains modules nécessitent des droits qu'il vous faudra affecter aux utilisateurs pour qu'ils puissent accéder à leurs fonctionnalités. ModulesDesc=Les modules Dolibarr définissent les fonctionnalités disponibles dans l'application. Certains modules nécessitent des droits qu'il vous faudra affecter aux utilisateurs pour qu'ils puissent accéder à leurs fonctionnalités.
ModulesInterfaceDesc=Les modules d'interfaces sont des modules qui permettent de lier Dolibarr à des systèmes, applications ou services externes.
ModulesSpecialDesc=Les modules spéciaux sont des modules à usage très spécifique ou moins courant que les modules standards. ModulesSpecialDesc=Les modules spéciaux sont des modules à usage très spécifique ou moins courant que les modules standards.
BoxesAvailable=Boîtes disponibles BoxesAvailable=Boîtes disponibles
BoxesActivated=Boîtes activées BoxesActivated=Boîtes activées
@ -61,7 +63,7 @@ ModuleFamilyProducts=Gestion produits
ModuleFamilyHr=Ressources humaines ModuleFamilyHr=Ressources humaines
ModuleFamilyProjects=Projets/Travail collaboratif ModuleFamilyProjects=Projets/Travail collaboratif
ModuleFamilyOther=Autre ModuleFamilyOther=Autre
ModuleFamilyTechnic=Modules techniques, interfaces ModuleFamilyTechnic=Modules outils ou système
ModuleFamilyExperimental=Modules expérimentaux (ne pas utiliser en production) ModuleFamilyExperimental=Modules expérimentaux (ne pas utiliser en production)
ModuleFamilyFinancial=Modules financiers (Compta/trésorerie) ModuleFamilyFinancial=Modules financiers (Compta/trésorerie)
Module0Name=Utilisateurs & groupes Module0Name=Utilisateurs & groupes
@ -75,7 +77,7 @@ Module10Desc=Gestion simple de la comptabilit
Module20Name=Propositions commerciales Module20Name=Propositions commerciales
Module20Desc=Gestion des devis/propositions commerciales Module20Desc=Gestion des devis/propositions commerciales
Module22Name=Mailings Module22Name=Mailings
Module22Desc=Gestion des mailings Module22Desc=Administration et envoi de mailings
Module25Name=Commandes clients Module25Name=Commandes clients
Module25Desc=Gestion des commandes clients Module25Desc=Gestion des commandes clients
Module30Name=Factures Module30Name=Factures
@ -129,7 +131,7 @@ Module330Desc=Gestion des marque-pages
Module400Name=Projets Module400Name=Projets
Module400Desc=Gestion des projets au sein des autres modules Module400Desc=Gestion des projets au sein des autres modules
Module410Name=Webcalendar Module410Name=Webcalendar
Module410Desc=Interfaçage avec le calendrier Webcalendar Module410Desc=Interface avec le calendrier Webcalendar
Module700Name=Dons Module700Name=Dons
Module700Desc=Gestion des dons Module700Desc=Gestion des dons
Module1780Name=Catégories Module1780Name=Catégories
@ -392,16 +394,17 @@ AddSubscriptionIntoAccount=Enregistrer cotisations dans compte bancaire ou caiss
AdherentMailRequired=EMail obligatoire pour créer un nouvel adhérent AdherentMailRequired=EMail obligatoire pour créer un nouvel adhérent
##### LDAP setup ##### ##### LDAP setup #####
LDAPSetup=Configuration du module LDAP LDAPSetup=Configuration du module LDAP
LDAPFunctionsNotAvailableOnPHP=Les fonctions LDAP ne sont pas disponibles sur votre PHP
LDAPTypeExample=OpenLdap, Egroupware ou Active Directory
LDAPServer=Serveur LDAP LDAPServer=Serveur LDAP
LDAPServerPort=Port du serveur LDAP LDAPServerPort=Port du serveur LDAP
LDAPServerPortExample=Port par défaut : 389 LDAPServerPortExample=Port par défaut : 389
TestConnectLdap=Tester la connexion
#LDAPSuffix=Suffix LDAP #LDAPSuffix=Suffix LDAP
DNAdmin=DN de l'administrateur DNAdmin=DN de l'administrateur
LDAPPassword=Mot de passe LDAPPassword=Mot de passe de l'administrateur
DNUser=DN des utilisateurs DNUser=DN des utilisateurs Dolibarr
DNGroup=DN des groupes DNGroup=DN des groupes Dolibarr
LDAPServerExample=Adresse du serveur LDAPServerExample=Adresse du serveur (ex: localhost, 127.0.0.1, 192.168.0.2)
#LDAPSuffixExample=DN complet (ex: dc=societe,dc=com) #LDAPSuffixExample=DN complet (ex: dc=societe,dc=com)
DNAdminExample=DN complet (ex: cn=adminldap,dc=societe,dc=com) DNAdminExample=DN complet (ex: cn=adminldap,dc=societe,dc=com)
LDAPPasswordExample=Mot de passe de l'administrateur LDAPPasswordExample=Mot de passe de l'administrateur
@ -409,10 +412,14 @@ DNUserExample=DN complet (ex: ou=users,dc=societe,dc=com)
DNGroupExample=DN complet (ex: ou=groups,dc=societe,dc=com) DNGroupExample=DN complet (ex: ou=groups,dc=societe,dc=com)
DNContactActive=Synchronisation des contacts ? DNContactActive=Synchronisation des contacts ?
DNContactActiveYes=Synchronisation activée DNContactActiveYes=Synchronisation activée
DNContact=DN des contacts DNContactActiveExample=Synchronisation activée/désactivée
DNContactActiveExample=Synchronisation désactivée DNContact=DN des contacts Dolibarr
DNContactExample=DN complet (ex: ou=contacts,dc=societe,dc=com) DNContactExample=DN complet (ex: ou=contacts,dc=societe,dc=com)
TypeExample=OpenLdap, Egroupware ou Active Directory LDAPTestConnect=Tester la connexion LDAP
LDAPTestOK=Connexion au serveur LDAP réussie
LDAPTestKO=Connexion au serveur LDAP echouée
LDAPSetupForVersion3=Serveur LDAP configuré en version 3
LDAPSetupForVersion2=Serveur LDAP configuré en version 2
##### Products ##### ##### Products #####
ProductSetup=Configuration du module Produits ProductSetup=Configuration du module Produits
NumberOfProductShowInSelect=Nombre de produits max dans les listes déroulantes (0=aucune limite) NumberOfProductShowInSelect=Nombre de produits max dans les listes déroulantes (0=aucune limite)

View File

@ -2,6 +2,7 @@
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005 Regis Houssin <regis.houssin@cap-networks.com> * Copyright (C) 2005 Regis Houssin <regis.houssin@cap-networks.com>
* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -20,103 +21,103 @@
* *
* $Id$ * $Id$
* $Source$ * $Source$
*
*/ */
/*! \file htdocs/lib/ldap.lib.php /**
\file htdocs/lib/ldap.lib.php
\brief Librairie contenant les fonctions pour accèder au serveur ldap. \brief Librairie contenant les fonctions pour accèder au serveur ldap.
\author Rodolphe Quiedeville. \author Rodolphe Quiedeville.
\author Benoit Mortier. \author Benoit Mortier.
\version $Revision$ \version $Revision$
Ensemble des fonctions permettant d'accèder à un serveur ldap. Ensemble des fonctions permettant d'accèder à un serveur LDAP.
*/ */
/*! /**
\brief ouverture d'une connection vers le serveur ldap. \brief Ouverture d'une connection vers le serveur LDAP
\return resource \return resource
*/ */
function dolibarr_ldap_connect() function dolibarr_ldap_connect()
{ {
$ldapconnect = ldap_connect(LDAP_SERVER_HOST,LDAP_SERVER_PORT); global $conf;
$ldapconnect = ldap_connect($conf->global->LDAP_SERVER_HOST,$conf->global->LDAP_SERVER_PORT);
if ($ldapconnect) if ($ldapconnect)
{ {
ldap_set_option($ldapconnect, LDAP_OPT_PROTOCOL_VERSION, LDAP_SERVER_PROTOCOLVERSION); ldap_set_option($ldapconnect, $conf->global->LDAP_OPT_PROTOCOL_VERSION, $conf->global->LDAP_SERVER_PROTOCOLVERSION);
} }
return $ldapconnect; return $ldapconnect;
} }
/*!
/**
\brief bind au serveur ldap. \brief bind au serveur ldap.
\param ds \param ds
\return bool \return bool
*/ */
function dolibarr_ldap_bind($ds) function dolibarr_ldap_bind($ds)
{ {
if (defined("LDAP_ADMIN_PASS") && LDAP_ADMIN_DN && LDAP_ADMIN_PASS) global $conf;
if (defined("LDAP_ADMIN_PASS") && $conf->global->LDAP_ADMIN_DN && $conf->global->LDAP_ADMIN_PASS)
{ {
$ldapbind = ldap_bind($ds, LDAP_ADMIN_DN, LDAP_ADMIN_PASS); $ldapbind = ldap_bind($ds, $conf->global->LDAP_ADMIN_DN, $conf->global->LDAP_ADMIN_PASS);
} }
return $ldapbind; return $ldapbind;
} }
/*! /**
\brief unbind du serveur ldap. \brief unbind du serveur ldap.
\param ds \param ds
\return bool \return bool
*/ */
function dolibarr_ldap_unbind($ds) function dolibarr_ldap_unbind($ds)
{ {
$ldapunbind = ldap_unbind($ds); $ldapunbind = ldap_unbind($ds);
return $ldapunbind; return $ldapunbind;
} }
/*! /**
\brief verification de la version du serveur ldap. \brief verification de la version du serveur ldap.
\param ds \param ds
\return version \return version
*/ */
function dolibarr_ldap_getversion($ds) function dolibarr_ldap_getversion($ds)
{ {
global $conf;
$version = 0; $version = 0;
ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version); ldap_get_option($ds, $conf->global->LDAP_OPT_PROTOCOL_VERSION, $version);
return $version; return $version;
} }
/*! /**
\brief changement de la version du serveur ldap. \brief changement de la version du serveur ldap.
\param ds \param ds
\param version \param version
\return version \return version
*/ */
function dolibarr_ldap_setversion($ds,$version) function dolibarr_ldap_setversion($ds,$version)
{ {
$ldapsetversion = ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version); global $conf;
$ldapsetversion = ldap_set_option($ds, $conf->global->LDAP_OPT_PROTOCOL_VERSION, $version);
return $ldapsetversion; return $ldapsetversion;
} }
/*! /**
\brief permet d'enlever les accents d'une chaine. \brief permet d'enlever les accents d'une chaine.
\param str \param str
\return string \return string
*/ */
function dolibarr_ldap_unacc($str) function dolibarr_ldap_unacc($str)
{ {
$stu = ereg_replace("é","e",$str); $stu = ereg_replace("é","e",$str);