You are here

public function LdapGroupManager::groupAddMember in Lightweight Directory Access Protocol (LDAP) 8.4

Add a member to a group.

Functionality only called by server test form.

@FIXME symfony/ldap refactoring needed.

Parameters

string $group_dn: LDAP group DN.

string $user: LDAP user DN.

Return value

bool Operation successful.

File

ldap_servers/src/LdapGroupManager.php, line 185

Class

LdapGroupManager
LDAP Group Manager.

Namespace

Drupal\ldap_servers

Code

public function groupAddMember(string $group_dn, string $user) : bool {
  if (!$this
    ->checkAvailability()) {
    return FALSE;
  }
  $result = FALSE;
  if ($this
    ->groupGroupEntryMembershipsConfigured()) {
    $entry = new Entry($group_dn);
    $manager = $this->ldap
      ->getEntryManager();
    try {
      $manager
        ->addAttributeValues($entry, $this->server
        ->get('grp_memb_attr'), [
        $user,
      ]);
      $result = TRUE;
    } catch (LdapException $e) {
      $this->logger
        ->error('LDAP server error updating %dn on @sid exception: %ldap_error', [
        '%dn' => $group_dn,
        '@sid' => $this->server
          ->id(),
        '%ldap_error' => $e
          ->getMessage(),
      ]);
    }
  }
  return $result;
}