From d47e1513bcdba9f8e4ea96e10098e71d35b649a5 Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@arthur-schiwon.de>
Date: Mon, 29 Oct 2018 13:21:02 +0100
Subject: remove unneeded empty search attribute values, fixes #12086

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
---
 apps/user_ldap/lib/User/Manager.php       | 7 +++++++
 apps/user_ldap/tests/User/ManagerTest.php | 7 ++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

(limited to 'apps')

diff --git a/apps/user_ldap/lib/User/Manager.php b/apps/user_ldap/lib/User/Manager.php
index c48193c7ad9..9f2f3649777 100644
--- a/apps/user_ldap/lib/User/Manager.php
+++ b/apps/user_ldap/lib/User/Manager.php
@@ -197,6 +197,13 @@ class Manager {
 			);
 		}
 
+		// remove possible empty attributes
+		$attributes = array_values(
+			array_filter($attributes, function ($attributeName) {
+				return !empty($attributeName);
+			})
+		);
+
 		return $attributes;
 	}
 
diff --git a/apps/user_ldap/tests/User/ManagerTest.php b/apps/user_ldap/tests/User/ManagerTest.php
index 5399aa95a6a..104a70ff700 100644
--- a/apps/user_ldap/tests/User/ManagerTest.php
+++ b/apps/user_ldap/tests/User/ManagerTest.php
@@ -256,12 +256,17 @@ class ManagerTest extends \Test\TestCase {
 		$manager->setLdapAccess($access);
 
 		$connection = $access->getConnection();
-		$connection->setConfiguration(['ldapEmailAttribute' => 'mail', 'ldapUserAvatarRule' => 'default']);
+		$connection->setConfiguration([
+			'ldapEmailAttribute' => 'mail',
+			'ldapUserAvatarRule' => 'default',
+			'ldapQuotaAttribute' => '',
+		]);
 
 		$attributes = $manager->getAttributes($minimal);
 
 		$this->assertTrue(in_array('dn', $attributes));
 		$this->assertTrue(in_array($access->getConnection()->ldapEmailAttribute, $attributes));
+		$this->assertFalse(in_array('', $attributes));
 		$this->assertSame(!$minimal, in_array('jpegphoto', $attributes));
 		$this->assertSame(!$minimal, in_array('thumbnailphoto', $attributes));
 	}
-- 
cgit v1.2.3