diff --git a/doc/82-Changelog.md b/doc/82-Changelog.md index 9b57be58..78323e83 100644 --- a/doc/82-Changelog.md +++ b/doc/82-Changelog.md @@ -28,6 +28,7 @@ next (will be 1.8.0) * FEATURE: New Property Modifier: ListToObject (#2062) * FEATURE: Property Modifier: convert binary UUID to HEX presentation (#2138) * FEATURE: Property Modifier: get Host by Address (#2210) +* FEATURE: Property Modifier: skip duplicates (#2215) * FEATURE: Import Sources now allow to download previewed data as JSON (#2096) * FEATURE: UTF8 validation for failed imports gives better error message (#2143) * FIX: LDAP Import is now able to paginate limited results (#2019) diff --git a/library/Director/PropertyModifier/PropertyModifierSkipDuplicates.php b/library/Director/PropertyModifier/PropertyModifierSkipDuplicates.php new file mode 100644 index 00000000..bf9bd313 --- /dev/null +++ b/library/Director/PropertyModifier/PropertyModifierSkipDuplicates.php @@ -0,0 +1,26 @@ +seen[$value])) { + $this->rejectRow(); + } + + $this->seen[$value] = true; + + return $value; + } +} diff --git a/register-hooks.php b/register-hooks.php index aea3022d..db393827 100644 --- a/register-hooks.php +++ b/register-hooks.php @@ -41,6 +41,7 @@ use Icinga\Module\Director\PropertyModifier\PropertyModifierRegexReplace; use Icinga\Module\Director\PropertyModifier\PropertyModifierRegexSplit; use Icinga\Module\Director\PropertyModifier\PropertyModifierRejectOrSelect; use Icinga\Module\Director\PropertyModifier\PropertyModifierReplace; +use Icinga\Module\Director\PropertyModifier\PropertyModifierSkipDuplicates; use Icinga\Module\Director\PropertyModifier\PropertyModifierSplit; use Icinga\Module\Director\PropertyModifier\PropertyModifierStripDomain; use Icinga\Module\Director\PropertyModifier\PropertyModifierSubstring; @@ -105,6 +106,7 @@ $directorHooks = [ PropertyModifierRegexSplit::class, PropertyModifierRejectOrSelect::class, PropertyModifierReplace::class, + PropertyModifierSkipDuplicates::class, PropertyModifierSplit::class, PropertyModifierStripDomain::class, PropertyModifierSubstring::class,