30require
'../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
32require_once DOL_DOCUMENT_ROOT.
'/adherents/class/adherent.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/adherents/class/adherent_type.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/core/class/ldap.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/lib/ldap.lib.php';
38$langs->loadLangs(array(
'admin',
'errors'));
44$action =
GETPOST(
'action',
'aZ09');
51if ($action ==
'setvalue' && $user->admin) {
62 if (!
dolibarr_set_const($db,
'LDAP_MEMBER_TYPE_FIELD_FULLNAME',
GETPOST(
"fieldfullname"),
'chaine', 0,
'', $conf->entity)) {
65 if (!
dolibarr_set_const($db,
'LDAP_MEMBER_TYPE_FIELD_DESCRIPTION',
GETPOST(
"fielddescription"),
'chaine', 0,
'', $conf->entity)) {
68 if (!
dolibarr_set_const($db,
'LDAP_MEMBER_TYPE_FIELD_GROUPMEMBERS',
GETPOST(
"fieldmembertypemembers"),
'chaine', 0,
'', $conf->entity)) {
78 if (!
dolibarr_set_const($db,
'LDAP_KEY_MEMBERS_TYPES', $valkey,
'chaine', 0,
'', $conf->entity)) {
97llxHeader(
'', $langs->trans(
"LDAPSetup"),
'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP',
'', 0, 0,
'',
'',
'',
'mod-admin page-ldap_members_types');
98$linkback =
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToModuleList").
'</a>';
100print
load_fiche_titre($langs->trans(
"LDAPSetup"), $linkback,
'title_setup');
105if (!function_exists(
"ldap_connect")) {
106 setEventMessages($langs->trans(
"LDAPFunctionsNotAvailableOnPHP"),
null,
'errors');
112print
'<span class="opacitymedium">'.$langs->trans(
"LDAPDescMembersTypes").
'</span><br>';
116print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'?action=setvalue&token='.
newToken().
'">';
117print
'<input type="hidden" name="token" value="'.newToken().
'">';
119$form =
new Form($db);
121print
'<table class="noborder centpercent">';
123print
'<tr class="liste_titre">';
124print
'<td colspan="4">'.$langs->trans(
"LDAPSynchronizeMembersTypes").
'</td>';
128print
'<!-- LDAP_MEMBER_TYPE_DN -->';
129print
'<tr class="oddeven"><td><span class="fieldrequired">'.$langs->trans(
"LDAPMemberTypeDn").
'</span></td><td>';
130print
'<input size="48" type="text" name="membertype" value="' .
getDolGlobalString(
'LDAP_MEMBER_TYPE_DN').
'">';
131print
'</td><td>'.$langs->trans(
"LDAPMemberTypepDnExample").
'</td>';
132print
'<td> </td>';
136print
'<!-- LDAP_MEMBER_TYPE_OBJECT_CLASS -->';
137print
'<tr class="oddeven"><td><span class="fieldrequired">'.$langs->trans(
"LDAPMemberTypeObjectClassList").
'</span></td><td>';
138print
'<input size="48" type="text" name="objectclass" value="' .
getDolGlobalString(
'LDAP_MEMBER_TYPE_OBJECT_CLASS').
'">';
139print
'</td><td>'.$langs->trans(
"LDAPMemberTypeObjectClassListExample").
'</td>';
140print
'<td> </td>';
147print
'<table class="noborder centpercent">';
149print
'<tr class="liste_titre">';
150print
'<td>'.$langs->trans(
"LDAPDolibarrMapping").
'</td>';
151print
'<td colspan="2">'.$langs->trans(
"LDAPLdapMapping").
'</td>';
152print
'<td class="right">'.$langs->trans(
"LDAPNamingAttribute").
'</td>';
158print
'<tr class="oddeven"><td>'.$langs->trans(
"LDAPFieldName").
'</td><td>';
159print
'<input size="25" type="text" name="fieldfullname" value="' .
getDolGlobalString(
'LDAP_MEMBER_TYPE_FIELD_FULLNAME').
'">';
160print
'</td><td>'.$langs->trans(
"LDAPFieldCommonNameExample").
'</td>';
161print
'<td class="right"><input type="radio" name="key" value="LDAP_MEMBER_TYPE_FIELD_FULLNAME"'.(($conf->global->LDAP_KEY_MEMBERS_TYPES && $conf->global->LDAP_KEY_MEMBERS_TYPES == $conf->global->LDAP_MEMBER_TYPE_FIELD_FULLNAME) ?
' checked' :
'').
"></td>";
165print
'<tr class="oddeven"><td>'.$langs->trans(
"LDAPFieldDescription").
'</td><td>';
166print
'<input size="25" type="text" name="fielddescription" value="' .
getDolGlobalString(
'LDAP_MEMBER_TYPE_FIELD_DESCRIPTION').
'">';
167print
'</td><td>'.$langs->trans(
"LDAPFieldDescriptionExample").
'</td>';
168print
'<td class="right"><input type="radio" name="key" value="LDAP_MEMBER_TYPE_FIELD_DESCRIPTION"'.(($conf->global->LDAP_KEY_MEMBERS_TYPES && $conf->global->LDAP_KEY_MEMBER_TYPES == $conf->global->LDAP_MEMBER_TYPE_FIELD_DESCRIPTION) ?
' checked' :
'').
"></td>";
172print
'<tr class="oddeven"><td>'.$langs->trans(
"LDAPFieldGroupMembers").
'</td><td>';
173print
'<input size="25" type="text" name="fieldmembertypemembers" value="' .
getDolGlobalString(
'LDAP_MEMBER_TYPE_FIELD_GROUPMEMBERS').
'">';
174print
'</td><td>'.$langs->trans(
"LDAPFieldGroupMembersExample").
'</td>';
175print
'<td class="right"><input type="radio" name="key" value="LDAP_MEMBER_TYPE_FIELD_GROUPMEMBERS"'.(($conf->global->LDAP_KEY_MEMBERS_TYPES && $conf->global->LDAP_KEY_MEMBERS_TYPES == $conf->global->LDAP_MEMBER_TYPE_FIELD_GROUPMEMBERS) ?
' checked' :
'').
"></td>";
180print
info_admin($langs->trans(
"LDAPDescValues"));
184print $form->buttonsSaveCancel(
"Modify",
'');
192if (
getDolGlobalInt(
'LDAP_MEMBER_TYPE_ACTIVE') === Ldap::SYNCHRO_DOLIBARR_TO_LDAP) {
193 $butlabel = $langs->trans(
"LDAPTestSynchroMemberType");
194 $testlabel =
'testmembertype';
202if (function_exists(
"ldap_connect")) {
203 if ($action ==
'testmembertype') {
210 $result = $ldap->connectBind();
213 $info =
$object->_load_ldap_info();
214 $dn =
$object->_load_ldap_dn($info);
217 if (in_array(
'posixGroup', $info[
'objectclass'])) {
218 $info[
'gidNumber'] = $ldap->getNextGroupGid(
'LDAP_KEY_MEMBERS_TYPES');
221 $result1 = $ldap->delete($dn);
222 $result2 = $ldap->add($dn, $info, $user);
223 $result3 = $ldap->delete($dn);
227 print
'<span class="ok">'.$langs->trans(
"LDAPSynchroOK").
'</span><br>';
230 print
'<span class="error">'.$langs->trans(
"LDAPSynchroKOMayBePermissions");
231 print
': '.$ldap->error;
233 print $langs->trans(
"ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).
'<br>';
237 print
"LDAP input file used for test:<br><br>\n";
238 print nl2br($ldap->dumpContent($dn, $info));
242 print
'<span class="error">'.$langs->trans(
"LDAPSynchroKO");
243 print
': '.$ldap->error;
245 print $langs->trans(
"ErrorLDAPMakeManualTest", $conf->ldap->dir_temp).
'<br>';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage members type.
Class to manage LDAP features.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin='1', $morecss='hideonsmartphone', $textfordropdown='', $picto='')
Show information in HTML for admin users or standard users.
ldap_prepare_head()
Initialize the array of tabs for customer invoice.
show_ldap_test_button($butlabel, $testlabel, $key, $dn, $objectclass)
Show button test LDAP synchro.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.