You are here

function simple_ldap_active_group_user_delete in Simple LDAP 7.2

Same name and namespace in other branches
  1. 7 contrib/simple_ldap_active_group/simple_ldap_active_group.module \simple_ldap_active_group_user_delete()

Implements hook_user_delete().

@throw SimpleLdapException

File

contrib/simple_ldap_active_group/simple_ldap_active_group.module, line 80
Main simple_ldap_active_group module file.

Code

function simple_ldap_active_group_user_delete($account) {

  // Delete an LDAP entry, overriding the search filter imposed by
  // simple_ldap_user.
  if (variable_get('simple_ldap_active_group_delete_filtered', FALSE)) {
    $user_basedn = variable_get('simple_ldap_user_basedn');
    $user_scope = variable_get('simple_ldap_user_scope');
    $user_attribute_name = variable_get('simple_ldap_user_attribute_name');
    $user_filter = '(&(' . $user_attribute_name . '=' . $account->name . ')' . simple_ldap_active_group_filter() . ')';

    // Search for the LDAP user.
    $server = SimpleLdapServer::singleton();
    $ldap_user = $server
      ->search($user_basedn, $user_filter, $user_scope);

    // Delete the LDAP user.
    if ($ldap_user['count'] > 0) {
      $server
        ->delete($ldap_user[0]['dn']);
    }
  }
}