You are here

function _ldap_servers_get_servers in Lightweight Directory Access Protocol (LDAP) 7.2

Same name and namespace in other branches
  1. 8.2 ldap_servers/ldap_servers.module \_ldap_servers_get_servers()
  2. 7 ldap_servers/ldap_servers.inc \_ldap_servers_get_servers()

See ldap_servers_get_servers()

1 call to _ldap_servers_get_servers()
ldap_servers_get_servers in ldap_servers/ldap_servers.module
Return ldap server conf objects.

File

ldap_servers/ldap_servers.module, line 549

Code

function _ldap_servers_get_servers($sid, $type, $flatten, $reset) {
  ldap_servers_module_load_include('php', 'ldap_servers', 'LdapServerAdmin.class');
  static $servers;
  $type = $type ? $type : 'all';
  if ($reset) {
    $servers = [];
  }
  if (!isset($servers['all'])) {
    $servers['all'] = LdapServerAdmin::getLdapServerObjects('all', NULL, 'LdapServer', $reset);
  }
  if (!isset($servers['enabled'])) {
    $servers['enabled'] = [];
    foreach ($servers['all'] as $_sid => $ldap_server) {
      if ($ldap_server->status == 1) {
        $servers['enabled'][$_sid] = $ldap_server;
      }
    }
  }
  if ($sid) {
    if (!isset($servers[$type][$sid])) {
      return FALSE;
    }
    return $flatten ? $servers[$type][$sid] : [
      $sid => $servers[$type][$sid],
    ];
  }
  if (isset($servers[$type])) {
    return $servers[$type];
  }
}