From eb4154cee0ac986d9adc6f7816c0d71f9cd75312 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 28 Aug 2020 17:06:48 +0200 Subject: [PATCH] ignore duplicate setting sections this prevents some 'Section with the same ID already registered' errors in the log also includes an improvement of the error message to make other cases easier to find Signed-off-by: Robin Appelman --- lib/private/Settings/Manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index ac4f8f9342c9a..b775e364c390f 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -106,7 +106,7 @@ protected function getSections(string $type): array { return $this->sections[$type]; } - foreach ($this->sectionClasses[$type] as $index => $class) { + foreach (array_unique($this->sectionClasses[$type]) as $index => $class) { try { /** @var ISection $section */ $section = \OC::$server->query($class); @@ -123,7 +123,7 @@ protected function getSections(string $type): array { $sectionID = $section->getID(); if (isset($this->sections[$type][$sectionID])) { - $this->log->logException(new \InvalidArgumentException('Section with the same ID already registered'), ['level' => ILogger::INFO]); + $this->log->logException(new \InvalidArgumentException('Section with the same ID already registered: ' . $sectionID . ', class: ' . $class), ['level' => ILogger::INFO]); continue; }