From: Robin Appelman Date: Fri, 28 Aug 2020 15:06:48 +0000 (+0200) Subject: ignore duplicate setting sections X-Git-Tag: v20.0.0beta3~25^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=eb4154cee0ac986d9adc6f7816c0d71f9cd75312;p=nextcloud-server.git 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 --- diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index ac4f8f9342c..b775e364c39 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -106,7 +106,7 @@ class Manager implements IManager { 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 @@ class Manager implements IManager { $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; }