Browse Source

use additional LDAP filter for search

pull/102/head
Roland Gruber 3 years ago
parent
commit
4158ebb91d
  1. 10
      lam/lib/account.inc

10
lam/lib/account.inc

@ -802,6 +802,16 @@ function searchLDAPByFilter($filter, $attributes, $scopes, $attrsOnly = false) {
$typeManager = new \LAM\TYPES\TypeManager();
$types = $typeManager->getConfiguredTypesForScopes($scopes);
foreach ($types as $type) {
$additionalFilter = $type->getAdditionalLdapFilter();
if (!empty($additionalFilter)) {
if (strpos($additionalFilter, '(') !== 0) {
$additionalFilter = '(' . $additionalFilter . ')';
}
if (strpos($filter, '(') !== 0) {
$filter = '(' . $filter . ')';
}
$filter = '(&' . $additionalFilter . $filter . ')';
}
// search LDAP
$entries = searchLDAPPaged($_SESSION['ldap']->server(), escapeDN($type->getSuffix()),
$filter, $attributes, $readAttributesOnly, $_SESSION['config']->get_searchLimit());

Loading…
Cancel
Save