From afd82b9e005f63468fd1d53be5c6b46e7c0820ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come.chilliet@fusiondirectory.org> Date: Mon, 11 Jan 2021 16:20:48 +0100 Subject: [PATCH] :sparkles: feat(archive) Take archives into account when applying template mask This will avoid a unique template mask like %n|% returning a value already used by an archived object. issue #6119 --- include/class_templateHandling.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/class_templateHandling.inc b/include/class_templateHandling.inc index 1ccf38406..6da06c372 100644 --- a/include/class_templateHandling.inc +++ b/include/class_templateHandling.inc @@ -246,6 +246,13 @@ class templateHandling $ldap->cd($config->current['BASE']); /* Return the first found unique value */ foreach ($generator as $value) { + if (class_available('archivedObject')) { + $filter = archivedObject::buildUniqueSearchFilter($unique, $value); + $ldap->search($filter, ['dn']); + if ($ldap->count() > 0) { + continue; + } + } $filter = '('.ldap_escape_f($unique).'='.ldap_escape_f($value).')'; $ldap->search($filter, ['dn']); if ($ldap->count() == 0) { -- GitLab