diff --git a/htdocs/admin/adherent.php b/htdocs/admin/adherent.php index 3ea0368d669b89af79e01b5d5d932281fb34ea4b..67561d35948125d20d5ad74e4bcfa96607cee81e 100644 --- a/htdocs/admin/adherent.php +++ b/htdocs/admin/adherent.php @@ -54,27 +54,15 @@ $var=True; // Action mise a jour ou ajout d'une constante if ($_POST["action"] == 'update' || $_POST["action"] == 'add') { - if (isset($_POST["consttype"]) && $_POST["consttype"] != '') + if (! dolibarr_set_const($db, $_POST["constname"],$_POST["constvalue"],$typeconst[$_POST["consttype"]],0,isset($_POST["constnote"])?$_POST["constnote"]:'')) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$_POST["constname"]."';"; - $db->query($sql); - $sql = ''; - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,type,visible,note) VALUES ('".$_POST["constname"]."','".$_POST["constvalue"]."','".$typeconst[$_POST["consttype"]]."',0,'".$_POST["constnote"]."') ;"; - - } + print $db->error(); + } else { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$_POST["constname"]."';"; - $db->query($sql); - $sql =''; - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible,note) VALUES ('".$_POST["constname"]."','".$_POST["constvalue"]."',0,'".$_POST["constnote"]."') ;"; - } - - if ($db->query($sql)) - { - Header("Location: adherent.php"); - } - + Header("Location: adherent.php"); + exit; + } } // Action activation d'un sous module du module adh�rent @@ -94,6 +82,7 @@ if ($_GET["action"] == 'set') if ($result) { Header("Location: adherent.php"); + exit; } else { dolibarr_print_error($db); @@ -270,7 +259,7 @@ $db->close(); print '<br>'; -llxFooter(); +llxFooter('$Date$ - $Revision$'); function form_constantes($tableau){ diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index b89142e98609617aee843937f527d6e54537bcc6..7e19d6c9da3b205e63ee8edff88da926e62d7547 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -3,6 +3,7 @@ * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * 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 * it under the terms of the GNU General Public License as published by @@ -52,91 +53,60 @@ if (!$user->admin) if ($_GET["action"] == 'setvalue' && $user->admin) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SERVER_HOST';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_SERVER_HOST','".$_POST["host"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SERVER_PORT';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_SERVER_PORT','".$_POST["port"]."',0);"; - $db->query($sql); - - //suppression pour compatibilit� divers config ldap - // - //$sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SUFFIX_DN';"; - //$db->query($sql); - - //$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - //('LDAP_SUFFIX_DN','".$_POST["suffix"]."',0);"; - //$db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_ADMIN_DN';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_ADMIN_DN','".$_POST["admin"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_ADMIN_PASS';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_ADMIN_PASS','".$_POST["pass"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_USER_DN';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_USER_DN','".$_POST["user"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_GROUP_DN';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_GROUP_DN','".$_POST["group"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_CONTACT_ACTIVE';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_CONTACT_ACTIVE','".$_POST["activecontact"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_CONTACT_DN';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_CONTACT_DN','".$_POST["contact"]."',0);"; - $db->query($sql); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SERVER_PROTOCOLVERSION';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_SERVER_PROTOCOLVERSION','".$_POST["version"]."',0);"; - $db->query($sql); - - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SERVER_TYPE';"; - $db->query($sql); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES - ('LDAP_SERVER_TYPE','".$_POST["type"]."',0);"; - - if ($db->query($sql)) + if (! dolibarr_set_const($db, 'LDAP_SERVER_TYPE',$_POST["type"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_SERVER_PROTOCOLVERSION',$_POST["version"])) + { + print $db->error(); + } + + if (! dolibarr_set_const($db, 'LDAP_SERVER_HOST',$_POST["host"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_SERVER_PORT',$_POST["port"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_ADMIN_DN',$_POST["admin"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_ADMIN_PASS',$_POST["pass"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_ADMIN_DN',$_POST["admin"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_USER_DN',$_POST["user"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_GROUP_DN',$_POST["group"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_CONTACT_ACTIVE',$_POST["activecontact"])) + { + print $db->error(); + } + if (! dolibarr_set_const($db, 'LDAP_CONTACT_DN',$_POST["contact"])) + { + print $db->error(); + } + if ($db->query($sql)) { - Header("Location: ldap.php"); + Header("Location: ldap.php"); + exit; } } + + /* * Visu */ @@ -145,293 +115,216 @@ llxHeader(); print_titre($langs->trans("LDAPSetup")); -print '<br>'; -print '<table class="noborder" width="100%">'; -print '<tr>'; -print '<td width="50%" valign="top">'; - -print '<table class="border" width="100%">'; -print '<tr class="liste_titre">'; -print '<td>'.$langs->trans("Parameter").'</td>'; -print '<td>'.$langs->trans("Value").'</td><td colspan="2"> </td>'; -print "</tr>\n"; - -if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST) -{ - print '<tr><td>'.$langs->trans("LDAPServer").'</td><td>'.LDAP_SERVER_HOST.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("LDAPServer").'</td><td>'.$langs->trans("LDAPServerExample").'</td></tr>'; -} -if (defined("LDAP_SERVER_PORT") && LDAP_SERVER_PORT) -{ - print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>'.LDAP_SERVER_PORT.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>'.$langs->trans("LDAPServerPortExample").'</td></tr>'; -} - -//suppression pour compatibilit� divers config ldap -// -//if (defined("LDAP_SUFFIX_DN") && LDAP_SUFFIX_DN) -//{ -// print '<tr><td>'.$langs->trans("LDAPSuffix").'</td><td>'.LDAP_SUFFIX_DN.'</td></tr>'; -//} -//else -//{ -// print '<tr><td>'.$langs->trans("LDAPSuffix").'</td><td>'.$langs->trans("LDAPSuffixExample").'</td></tr>'; -//} - -if (defined("LDAP_ADMIN_DN") && LDAP_ADMIN_DN) -{ - print '<tr><td>'.$langs->trans("DNAdmin").'</td><td>'.LDAP_ADMIN_DN.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("DNAdmin").'</td><td>'.$langs->trans("DNAdminExample").'</td></tr>'; -} -if (defined("LDAP_ADMIN_PASS") && LDAP_ADMIN_PASS) -{ - print '<tr><td>'.$langs->trans("LDAPPassword").'</td><td>********</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("LDAPPassword").'</td><td>'.$langs->trans("LDAPPasswordExample").'</td></tr>'; -} -if (defined("LDAP_USER_DN") && LDAP_USER_DN) +// Test si fonction LDAP actives +if (! function_exists("ldap_connect")) { - print '<tr><td>'.$langs->trans("DNUser").'</td><td>'.LDAP_USER_DN.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("DNUser").'</td><td>'.$langs->trans("DNUserExample").'</td></tr>'; -} -if (defined("LDAP_GROUP_DN") && LDAP_GROUP_DN) -{ - print '<tr><td>'.$langs->trans("DNGroup").'</td><td>'.LDAP_GROUP_DN.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("DNGroup").'</td><td>'.$langs->trans("DNGroupExample").'</td></tr>'; -} -if (defined("LDAP_CONTACT_ACTIVE") && LDAP_CONTACT_ACTIVE) -{ - print '<tr><td>'.$langs->trans("DNContactActive").'</td><td>'.$langs->trans("DNContactActiveYes").'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("DNContactActive").'</td><td>'.$langs->trans("DNContactActiveExample").'</td></tr>'; -} -if (defined("LDAP_CONTACT_DN") && LDAP_CONTACT_DN) -{ - print '<tr><td>'.$langs->trans("DNContact").'</td><td>'.LDAP_CONTACT_DN.'</td></tr>'; -} -else -{ - print '<tr><td>'.$langs->trans("DNContact").'</td><td>'.$langs->trans("DNContactExample").'</td></tr>'; -} -if (defined("LDAP_SERVER_TYPE") && LDAP_SERVER_TYPE) -{ - print '<tr><td>'.$langs->trans("Type").'</td><td>'.LDAP_SERVER_TYPE.'</td></tr>'; -} - else -{ - print '<tr><td>'.$langs->trans("Type").'</td><td>'.$langs->trans("TypeExample").'</td></tr>'; + $mesg=$langs->trans("LDAPFunctionsNotAvailableOnPHP"); } -print '<tr><td>'.$langs->trans("Version").'</td><td>'.LDAP_SERVER_PROTOCOLVERSION.'</td></tr>'; +if ($mesg) print '<div class="error">'.$mesg.'</div>'; -print '</table>'; -print '</td><td width="50%">'; - -/* - * Modification - */ print '<form method="post" action="ldap.php?action=setvalue">'; -print '<table class="border" width="100%">'; +print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; print '<td>'.$langs->trans("Parameter").'</td>'; -print '<td>'.$langs->trans("Value").'</td><td colspan="2"> </td>'; +print '<td>'.$langs->trans("Value").'</td>'; +print '<td>'.$langs->trans("Example").'</td>'; print "</tr>\n"; -print '<tr><td>'; + +$var=true; +$html=new Form($db); + +// Type +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("Type").'</td><td>'; +$arraylist=array(); +$arraylist['activedirectory']='Active Directory'; +$arraylist['openldap']='OpenLdap'; +$arraylist['egroupware']='Egroupware'; +$html->select_array('type',$arraylist,$conf->global->LDAP_SERVER_TYPE); +print '</td><td> </td></tr>'; + +// Version +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("Version").'</td><td>'; +$arraylist=array(); +$arraylist['3']='Version 3'; +$arraylist['2']='Version 2'; +$html->select_array('version',$arraylist,$conf->global->LDAP_SERVER_PROTOCOLVERSION); +print '</td><td> </td></tr>'; + +// Serveur +$var=!$var; +print '<tr '.$bc[$var].'><td>'; print $langs->trans("LDAPServer").'</td><td>'; -print '<input size="25" type="text" name="host" value="'.LDAP_SERVER_HOST.'">'; -print '</td></tr>'; -print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>'; -if (defined("LDAP_SERVER_PORT") && LDAP_SERVER_PORT) +print '<input size="25" type="text" name="host" value="'.$conf->global->LDAP_SERVER_HOST.'">'; +print '</td><td>'.$langs->trans("LDAPServerExample").'</td></tr>'; + +// Port +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPServerPort").'</td><td>'; +if ($conf->global->LDAP_SERVER_PORT) { - print '<input size="25" type="text" name="port" value="'.LDAP_SERVER_PORT.'">'; + print '<input size="25" type="text" name="port" value="'.$conf->global->LDAP_SERVER_PORT.'">'; } else { print '<input size="25" type="text" name="port" value="389">'; } -print '</td></tr>'; - -//suppression pour compatibilit� divers config ldap -// -//print '<tr><td>'.$langs->trans("LDAPSuffix").'</td><td>'; -//print '<input size="25" type="text" name="suffix" value="'.LDAP_SUFFIX_DN.'">'; -//print '</td></tr>'; - -print '<tr><td>'.$langs->trans("DNAdmin").'</td><td>'; -print '<input size="25" type="text" name="admin" value="'.LDAP_ADMIN_DN.'">'; -print '</td></tr>'; -print '<tr><td>'.$langs->trans("LDAPPassword").'</td><td>'; -if (defined("LDAP_ADMIN_PASS") && LDAP_ADMIN_PASS) -{ - print '<input size="25" type="password" name="pass" value="'.LDAP_ADMIN_PASS.'">'; -} -else -{ - print '<input size="25" type="text" name="pass" value="'.LDAP_ADMIN_PASS.'">'; -} -print '</td></tr>'; -print '<tr><td>'.$langs->trans("DNUser").'</td><td>'; -print '<input size="25" type="text" name="user" value="'.LDAP_USER_DN.'">'; -print '</td></tr>'; -print '<tr><td>'.$langs->trans("DNGroup").'</td><td>'; -print '<input size="25" type="text" name="group" value="'.LDAP_GROUP_DN.'">'; -print '</td></tr>'; -print '<tr><td>'.$langs->trans("DNContactActive").'</td><td><select name="activecontact">'; -if (defined("LDAP_CONTACT_ACTIVE") && LDAP_CONTACT_ACTIVE == 1) +print '</td><td>'.$langs->trans("LDAPServerPortExample").'</td></tr>'; + +// DNAdmin +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNAdmin").'</td><td>'; +print '<input size="25" type="text" name="admin" value="'.$conf->global->LDAP_ADMIN_DN.'">'; +print '</td><td> </td></tr>'; + +// Pass +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPPassword").'</td><td>'; +if ($conf->global->LDAP_ADMIN_PASS) { - print '<option value="1" selected="true">'.$langs->trans("Yes"); + print '<input size="25" type="password" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">'; } else { - print '<option value="0" selected="true">'.$langs->trans("No"); -} -print '<option value="LDAP_CONTACT_ACTIVE">--------'; -print '<option value="0">'.$langs->trans("No"); -print '<option value="1">'.$langs->trans("Yes"); -print '</select>'; -print '</td></tr>'; -print '<tr><td>'.$langs->trans("DNContact").'</td><td>'; -print '<input size="25" type="text" name="contact" value="'.LDAP_CONTACT_DN.'">'; -print '</td></tr>'; - -print '<tr><td>'.$langs->trans("Type").'</td><td><select name="type">'; -if (defined("LDAP_SERVER_TYPE") && LDAP_SERVER_TYPE == activedirectory) -{ - print '<option value="activedirectory" selected="true">Active Directory'; + print '<input size="25" type="text" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">'; } -else -{ - if (defined("LDAP_SERVER_TYPE") && LDAP_SERVER_TYPE == egroupware) - { - print '<option value="egroupware" selected="true">Egroupware'; - } - else - { - print '<option value="openldap" selected="true">OpenLdap'; - } -} -print '<option value="LDAP_SERVER_TYPE">------------------------'; -print '<option value="openldap">OpenLdap'; -print '<option value="egroupware">Egroupware'; -print '<option value="activedirectory">Active Directory'; -print '</select>'; -print '</td></tr>'; +print '</td><td> </td></tr>'; -print '<tr><td>'.$langs->trans("Version").'</td><td><select name="version">'; -if (defined("LDAP_SERVER_PROTOCOLVERSION") && LDAP_SERVER_PROTOCOLVERSION == 3) -{ - print '<option value="3" selected="true">Version 3'; -} -else -{ - print '<option value="2" selected="true">Version 2'; -} -print '<option value="LDAP_SERVER_PROTOCOLVERSION">------------------------'; -print '<option value="3">Version 3'; -print '<option value="2">Version 2'; -print '</select>'; -print '</td></tr>'; +print '<tr class="liste_titre">'; +print '<td colspan="3">'.$langs->trans("LDAPSynchronizeUsersAndGroup").'</td>'; +print "</tr>\n"; -print '<tr><td colspan="2" align="center"><input type="submit" value="'.$langs->trans("Modify").'"></td></tr>'; -print '</table></form>'; +// Synchro contact active +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNUserGroupActive").'</td><td>'; +$arraylist=array(); +$arraylist['0']=$langs->trans("Yes"); +$html->select_array('activecontact',$arraylist,$conf->global->LDAP_USERGROUP_ACTIVE); +print '</td><td>'.$langs->trans("NotYetAvailable").'</td></tr>'; -print '</td></tr></table>'; +// DN Pour les utilisateurs +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNUser").'</td><td>'; +print '<input size="25" type="text" name="user" value="'.$conf->global->LDAP_USER_DN.'">'; +print '</td><td>'.$langs->trans("DNUserExample").'</td></tr>'; -/* - * test de la connexion - */ - - -if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST) { - print '<a class="tabAction" href="ldap.php?action=test">'.$langs->trans("TestConnectLdap").'</a><br><br>'; -} +// DN pour les groupes +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNGroup").'</td><td>'; +print '<input size="25" type="text" name="group" value="'.$conf->global->LDAP_GROUP_DN.'">'; +print '</td><td>'.$langs->trans("DNGroupExample").'</td></tr>'; -if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST && LDAP_ADMIN_DN && LDAP_ADMIN_PASS && $_GET["action"] == 'test') -{ - $ds = dolibarr_ldap_connect(); - - if ($ds) - { - print img_picto('','info'); - print "connexion au serveur ldap r�ussie<br>"; - } - else - { - print img_picto('','alerte'); - - print "connexion au serveur ldap �chou�e"; - print "<br>"; - print ldap_error($ds); - print "<br>"; - } - if ((dolibarr_ldap_getversion($ds) == 3)) - { - print img_picto('','info'); - print "Serveur ldap configur� en version 3<br>"; - } - else - { - print img_picto('','info'); - print "Serveur ldap configur� en version 2<br>"; - } - - $bind = @dolibarr_ldap_bind($ds); - - if ($bind) - { - print img_picto('','info'); - print "connexion au dn $dn r�ussi<br>"; - } - else - { - print img_picto('','alerte'); +print '<tr class="liste_titre">'; +print '<td colspan="3">'.$langs->trans("LDAPSynchronizeContacts").'</td>'; +print "</tr>\n"; - print "connexion au dn $dn rat� : "; - print ldap_error($ds); - print "<br>"; - } - - $unbind = @dolibarr_ldap_unbind($ds); - - if ($bind) - { - print img_picto('','info'); - print "d�connection du dn $dn r�ussi<br>"; - } - else - { - print img_picto('','alerte'); +// Synchro contact active +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNContactActive").'</td><td>'; +$arraylist=array(); +$arraylist['0']=$langs->trans("No"); +$arraylist['1']=$langs->trans("Yes"); +$html->select_array('activecontact',$arraylist,$conf->global->LDAP_CONTACT_ACTIVE); +print '</td><td>'.$langs->trans("DNContactActiveExample").'</td></tr>'; - print "d�connection du dn $dn rat�"; - print "<br>"; - } +// DN Pour les contacts +$var=!$var; +print '<tr '.$bc[$var].'><td>'.$langs->trans("DNContact").'</td><td>'; +print '<input size="25" type="text" name="contact" value="'.$conf->global->LDAP_CONTACT_DN.'">'; +print '</td><td>'.$langs->trans("DNContactExample").'</td></tr>'; + + +print '<tr><td colspan="3" align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>'; +print '</table>'; + +print '</form>'; + + + +/* + * Test de la connexion + */ +if (function_exists("ldap_connect")) +{ + if ($conf->global->LDAP_SERVER_HOST) + { + print '<a class="tabAction" href="ldap.php?action=test">'.$langs->trans("TestConnectLdap").'</a><br><br>'; + } + + + if ($conf->global->LDAP_SERVER_HOST && $conf->global->LDAP_ADMIN_DN && $conf->global->LDAP_ADMIN_PASS && $_GET["action"] == 'test') + { + // Test ldap_connect + $ds = dolibarr_ldap_connect(); + + if ($ds) + { + print img_picto('','info'); + print $langs->trans("LDAPTestOK").'<br>'; + } + else + { + print img_picto('','alerte'); + print $langs->trans("LDAPTestKO").'<br>'; + print "<br>"; + print ldap_error($ds); + print "<br>"; + } + + // Test ldap_getversion + if ((dolibarr_ldap_getversion($ds) == 3)) + { + print img_picto('','info'); + print $langs->trans("LDAPSetupForVersion3").'<br>'; + } + else + { + print img_picto('','info'); + print $langs->trans("LDAPSetupForVersion2").'<br>'; + } + + // Test ldap_bind + $bind = @dolibarr_ldap_bind($ds); + if ($bind) + { + print img_picto('','info'); + print "Connexion au dn $dn r�ussi<br>"; + } + else + { + print img_picto('','alerte'); + + print "Connexion au dn $dn rat� : "; + print ldap_error($ds); + print "<br>"; + } + + // Test ldap_unbind + $unbind = @dolibarr_ldap_unbind($ds); + if ($bind) + { + print img_picto('','info'); + print "D�connection du dn $dn r�ussi<br>"; + } + else + { + print img_picto('','alerte'); + + print "D�connection du dn $dn rat�"; + print "<br>"; + } + } } $db->close(); -llxFooter(); +llxFooter('$Date$ - $Revision$'); + ?> diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index c3a1e9d3280bed8be0e4f1ec5a493271715a6dd3..12362da0b28e152039a91927485e2bcdc8f2fb3b 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org> - * Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004 �ric Seigne <eric.seigne@ryxeo.com> * * This program is free software; you can redistribute it and/or modify @@ -30,9 +30,13 @@ require("./pre.inc.php"); +$mode=isset($_GET["mode"])?$_GET["mode"]:0; +$mesg=isset($_GET["mesg"])?urldecode($_GET["mode"]):""; + if (!$user->admin) accessforbidden(); + /* * Actions */ @@ -42,7 +46,7 @@ if ($_GET["action"] == 'set' && $user->admin) $result=Activate($_GET["value"]); $mesg=''; if ($result) $mesg=$result; - Header("Location: modules.php?spe=".$_GET["spe"]."&mesg=".urlencode($mesg)); + Header("Location: modules.php?mode=".$mode."&mesg=".urlencode($mesg)); exit; } @@ -51,7 +55,7 @@ if ($_GET["action"] == 'reset' && $user->admin) $result=UnActivate($_GET["value"]); $mesg=''; if ($result) $mesg=$result; - Header("Location: modules.php?spe=".$_GET["spe"]."&mesg=".urlencode($mesg)); + Header("Location: modules.php?mode=".$mode."&mesg=".urlencode($mesg)); exit; } @@ -143,33 +147,31 @@ llxHeader("",""); $h = 0; -$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?spe=0"; +$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=0"; $head[$h][1] = $langs->trans("ModulesCommon"); -if (!$_GET["spe"]) $hselected=$h; +if ($mode==0) $hselected=$h; +$h++; + +$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=1"; +$head[$h][1] = $langs->trans("ModulesInterfaces"); +if ($mode==1) $hselected=$h; $h++; -$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?spe=1"; +$head[$h][0] = DOL_URL_ROOT."/admin/modules.php?mode=2"; $head[$h][1] = $langs->trans("ModulesSpecial"); -if ($_GET["spe"]) $hselected=$h; +if ($mode==2) $hselected=$h; $h++; dolibarr_fiche_head($head, $hselected, $langs->trans("Modules")); -if (!$_GET["spe"]) -{ - print $langs->trans("ModulesDesc")."<br>\n"; -} -else -{ - print $langs->trans("ModulesSpecialDesc")."<br>\n"; -} +if ($mode==0) print $langs->trans("ModulesDesc")."<br>\n"; +if ($mode==1) print $langs->trans("ModulesInterfaceDesc")."<br>\n"; +if ($mode==2) print $langs->trans("ModulesSpecialDesc")."<br>\n"; -if ($_GET["mesg"]) -{ - $mesg=urldecode($_GET["mesg"]); - print '<div class="error">'.$mesg.'</div>'; -} + + +if ($mesg) print '<div class="error">'.$mesg.'</div>'; print "<br>\n"; print "<table class=\"noborder\" width=\"100%\">\n"; @@ -258,7 +260,7 @@ foreach ($orders as $key => $value) $atleastoneforfamily=0; } - if ((!$objMod->special && !$_GET["spe"] ) or ($objMod->special && $_GET["spe"])) + if ($objMod->special == $mode) { $atleastoneforfamily=1; $var=!$var; @@ -302,7 +304,7 @@ foreach ($orders as $key => $value) { // Module actif if ($family == 'base') print $langs->trans("Required"); - else print "<a href=\"modules.php?id=".$objMod->numero."&action=reset&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Disable") . "</a></td>\n"; + else print "<a href=\"modules.php?id=".$objMod->numero."&action=reset&value=" . $modName . "&mode=" . $mode . "\">" . $langs->trans("Disable") . "</a></td>\n"; if ($objMod->config_page_url) { @@ -345,7 +347,7 @@ foreach ($orders as $key => $value) } // Module non actif - print "<a href=\"modules.php?id=".$objMod->numero."&action=set&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Activate") . "</a></td>\n <td> </td>\n"; + print "<a href=\"modules.php?id=".$objMod->numero."&action=set&value=" . $modName . "&mode=" . $mode . "\">" . $langs->trans("Activate") . "</a></td>\n <td> </td>\n"; } print "</tr>\n"; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 52da9e80127eaa4dd47fa415f99287f9630aea4c..2723ed2d1cbccb825f3c9bce6ce3f3aee5ca2a83 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -392,9 +392,11 @@ MembersSetup=Members module setup MemberMainOptions=Main options AddSubscriptionIntoAccount=Add subscriptions into bank or cash account, of bank module AdherentMailRequired=EMail required to create a new member -##### LDAP setup #### +##### LDAP setup ##### LDAPSetup=LDAP Setup LDAPFunctionsNotAvailableOnPHP=LDAP functions are not availbale on your PHP +LDAPSynchronizeUsersAndGroup=Synchronize Dolibarr users and groups to LDAP +LDAPSynchronizeContacts=Synchronize Dolibarr contacts to LDAP LDAPTypeExample=OpenLdap, Egroupware or Active Directory LDAPServer=LDAP Server LDAPServerPort=LDAP server port @@ -408,9 +410,10 @@ LDAPServerExample=Server address (ex: localhost, 127.0.0.1, 192.168.0.2) #LDAPSuffixExample=Complete DN (ex: dc=company,dc=com) DNAdminExample=Complete DN (ex: cn=adminldap,dc=society,dc=com) LDAPPasswordExample=Admin password +DBUserGroupActive=Users and groups synchronization DNUserExample=Complete DN (ex: ou=users,dc=society,dc=com) DNGroupExample=Complete DN (ex: ou=groups,dc=society,dc=com) -DNContactActive=Contacts' synchronization? +DNContactActive=Contacts' synchronization DNContactActiveYes=Activated synchronization DNContactActiveExample=Activated/Unactivated synchronization DNContact=Dolibarr contacts' DN diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index da53538ce1551822a4c10fd728b2361bd11d1625..d62ea72838734e5037786c34017d9d9c860d5ab8 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -395,6 +395,8 @@ AdherentMailRequired=EMail obligatoire pour cr ##### LDAP setup ##### LDAPSetup=Configuration du module LDAP LDAPFunctionsNotAvailableOnPHP=Les fonctions LDAP ne sont pas disponibles sur votre PHP +LDAPSynchronizeUsersAndGroup=Synchronisation des utilisateurs et groupes Dolibarr vers LDAP +LDAPSynchronizeContacts=Synchronisation des contacts Dolibarr vers LDAP LDAPTypeExample=OpenLdap, Egroupware ou Active Directory LDAPServer=Serveur LDAP LDAPServerPort=Port du serveur LDAP @@ -408,9 +410,10 @@ LDAPServerExample=Adresse du serveur (ex: localhost, 127.0.0.1, 192.168.0.2) #LDAPSuffixExample=DN complet (ex: dc=societe,dc=com) DNAdminExample=DN complet (ex: cn=adminldap,dc=societe,dc=com) LDAPPasswordExample=Mot de passe de l'administrateur +DBUserGroupActive=Synchronisation des utilisateurs et groupes DNUserExample=DN complet (ex: ou=users,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 DNContactActiveExample=Synchronisation activ�e/d�sactiv�e DNContact=DN des contacts Dolibarr