$member = new Adherent($db); $result = $member->fetch($obj->rowid); if ($result < 0) { dol_print_error($db, $member->error); exit(-1); } $result = $member->fetch_subscriptions(); if ($result < 0) { dol_print_error($db, $member->error); exit(-1); } print $langs->transnoentities("UpdateMember") . " rowid=" . $member->id . " " . $member->getFullName($langs); $oldobject = $member; $oldinfo = $oldobject->_load_ldap_info(); $olddn = $oldobject->_load_ldap_dn($oldinfo); $info = $member->_load_ldap_info(); $dn = $member->_load_ldap_dn($info); $result = $ldap->add($dn, $info, $user); // Wil fail if already exists $result = $ldap->update($dn, $info, $user, $olddn); if ($result > 0) { print " - " . $langs->transnoentities("OK"); } else { $error++; print " - " . $langs->transnoentities("KO") . ' - ' . $ldap->error; } print "\n"; $i++; } $ldap->unbind(); $ldap->close();
$testlabel = 'testmember'; $key = $conf->global->LDAP_KEY_MEMBERS; $dn = $conf->global->LDAP_MEMBER_DN; $objectclass = $conf->global->LDAP_MEMBER_OBJECT_CLASS; show_ldap_test_button($butlabel, $testlabel, $key, $dn, $objectclass); } if (function_exists("ldap_connect")) { if ($_GET["action"] == 'testmember') { // Creation objet $object = new Adherent($db); $object->initAsSpecimen(); // Test synchro $ldap = new Ldap(); $result = $ldap->connect_bind(); if ($result > 0) { $info = $object->_load_ldap_info(); $dn = $object->_load_ldap_dn($info); $result1 = $ldap->delete($dn); // To be sure to delete existing records $result2 = $ldap->add($dn, $info, $user); // Now the test $result3 = $ldap->delete($dn); // Clean what we did if ($result2 > 0) { print img_picto('', 'info') . ' '; print '<font class="ok">' . $langs->trans("LDAPSynchroOK") . '</font><br>'; } else { print img_picto('', 'error') . ' '; print '<font class="error">' . $langs->trans("LDAPSynchroKOMayBePermissions"); print ': ' . $ldap->error; print '</font><br>';
} $adh = new Adherent($db); $adh->id = $rowid; $result = $adh->fetch($rowid); if (!$result) { dol_print_error($db, "Failed to get adherent: " . $adh->error); exit; } /* * Actions */ if ($action == 'dolibarr2ldap') { $db->begin(); $ldap = new Ldap(); $result = $ldap->connect_bind(); $info = $adh->_load_ldap_info(); $dn = $adh->_load_ldap_dn($info); $olddn = $dn; // We can say that old dn = dn as we force synchro $result = $ldap->update($dn, $info, $user, $olddn); if ($result >= 0) { setEventMessage($langs->trans("MemberSynchronized")); $db->commit(); } else { setEventMessage($ldap->error, 'errors'); $db->rollback(); } } /* * View */