public function LdapUserConf::deleteProvisionedLdapEntries in Lightweight Directory Access Protocol (LDAP) 8.2
Same name and namespace in other branches
- 7.2 ldap_user/LdapUserConf.class.php \LdapUserConf::deleteProvisionedLdapEntries()
given a drupal account, delete ldap entry that was provisioned based on it normally this will be 0 or 1 entry, but the ldap_user_provisioned_ldap_entries field attached to the user entity track each ldap entry provisioned
Parameters
object $account drupal account:
Return value
TRUE or FALSE. FALSE indicates failed or action not enabled in ldap user configuration
File
- ldap_user/
LdapUserConf.class.php, line 866
Class
Code
public function deleteProvisionedLdapEntries($account) {
// determine server that is associated with user
$boolean_result = FALSE;
$language = $account->language ? $account->language : 'und';
if (isset($account->ldap_user_prov_entries[$language][0])) {
foreach ($account->ldap_user_prov_entries[$language] as $i => $field_instance) {
$parts = explode('|', $field_instance['value']);
if (count($parts) == 2) {
list($sid, $dn) = $parts;
$ldap_server = ldap_servers_get_servers($sid, NULL, TRUE);
if (is_object($ldap_server) && $dn) {
$boolean_result = $ldap_server
->delete($dn);
$tokens = array(
'%sid' => $sid,
'%dn' => $dn,
'%username' => $account->name,
'%uid' => $account->uid,
);
if ($boolean_result) {
watchdog('ldap_user', 'LDAP entry on server %sid deleted dn=%dn. username=%username, uid=%uid', $tokens, WATCHDOG_INFO);
}
else {
watchdog('ldap_user', 'LDAP entry on server %sid not deleted because error. username=%username, uid=%uid', $tokens, WATCHDOG_ERROR);
}
}
else {
$boolean_result = FALSE;
}
}
}
}
return $boolean_result;
}