From 1e96eafb50f06c76874111070cf97c6211be792f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come.bernigaud@opensides.be> Date: Tue, 1 Mar 2016 05:44:08 +0100 Subject: [PATCH] Fixes #4544 List the entries which have duplicated uid numbers in the setup --- setup/class_setupStep_Migrate.inc | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/setup/class_setupStep_Migrate.inc b/setup/class_setupStep_Migrate.inc index 399ec92e3..de24e6cc1 100644 --- a/setup/class_setupStep_Migrate.inc +++ b/setup/class_setupStep_Migrate.inc @@ -264,7 +264,7 @@ class Step_Migrate extends setupStep 'outsideGroups' => new StepMigrateCheck($this, 'outsideGroups', _('Checking for groups outside the groups tree')), 'orgUnits' => new StepMigrateCheck($this, 'orgUnits', _('Checking for invisible departments')), 'uidNumber' => new StepMigrateCheck($this, 'uidNumber', _('Checking for duplicated UID numbers')), - 'gidNumber' => new StepMigrateCheck($this, 'gidNumber', _('Checking for duplicate GID numbers')), + 'gidNumber' => new StepMigrateCheck($this, 'gidNumber', _('Checking for duplicated GID numbers')), ); $this->checks = $checks; @@ -1362,15 +1362,20 @@ class Step_Migrate extends setupStep foreach ($tmp as $entries) { if (count($entries) > 1) { foreach ($entries as $entry) { - $this->check_uidNumbers[base64_encode($entry['dn'])] = $entry; + $this->check_uidNumbers[$entry['dn']] = $entry; } } } if ($this->check_uidNumbers) { + $list = '<ul>'; + foreach ($this->check_uidNumbers as $dn => $entry) { + $list .= '<li>'.$dn.' ('.$entry['uidNumber'][0].')</li>'; + } + $list .= '</ul>'; throw new CheckFailedException( "<div style='color:#F0A500'>"._("Warning")."</div>", - sprintf(_('Found %s duplicate values for attribute "uidNumber".'), count($this->check_uidNumbers)) + sprintf(_('Found %s duplicate values for attribute "uidNumber":%s'), count($this->check_uidNumbers), $list) ); } else { return ''; @@ -1401,15 +1406,20 @@ class Step_Migrate extends setupStep foreach ($tmp as $entries) { if (count($entries) > 1) { foreach ($entries as $entry) { - $this->check_gidNumbers[base64_encode($entry['dn'])] = $entry; + $this->check_gidNumbers[$entry['dn']] = $entry; } } } if ($this->check_gidNumbers) { + $list = '<ul>'; + foreach ($this->check_gidNumbers as $dn => $entry) { + $list .= '<li>'.$dn.' ('.$entry['gidNumber'][0].')</li>'; + } + $list .= '</ul>'; throw new CheckFailedException( "<div style='color:#F0A500'>"._("Warning")."</div>", - sprintf(_('Found %s duplicate values for attribute "gidNumber".'), count($this->check_gidNumbers)) + sprintf(_('Found %s duplicate values for attribute "gidNumber":%s'), count($this->check_gidNumbers), $list) ); } else { return ''; -- GitLab