diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2020-06-24 23:34:37 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2020-06-24 23:34:37 +0200 |
commit | b8bef4ded07f1b7197437f9914ace4d2763e1b9f (patch) | |
tree | 161789f9af3affb5ace9e366f80c8c5deb59c2fe /apps/user_ldap/lib | |
parent | 7d4682da4008300c01f5745b438811032317e4c1 (diff) | |
download | nextcloud-server-b8bef4ded07f1b7197437f9914ace4d2763e1b9f.tar.gz nextcloud-server-b8bef4ded07f1b7197437f9914ace4d2763e1b9f.zip |
fix strings being passed where arrays where expected
also brought type hints up to internal API level
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/user_ldap/lib')
-rw-r--r-- | apps/user_ldap/lib/Access.php | 25 | ||||
-rw-r--r-- | apps/user_ldap/lib/Group_LDAP.php | 7 |
2 files changed, 7 insertions, 25 deletions
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php index 671f74825ba..b93d92b81dd 100644 --- a/apps/user_ldap/lib/Access.php +++ b/apps/user_ldap/lib/Access.php @@ -847,12 +847,8 @@ class Access extends LDAPUtility { /** * fetches a list of users according to a provided loginName and utilizing * the login filter. - * - * @param string $loginName - * @param array $attributes optional, list of attributes to read - * @return array */ - public function fetchUsersByLoginName($loginName, $attributes = ['dn']) { + public function fetchUsersByLoginName(string $loginName, array $attributes = ['dn']): array { $loginName = $this->escapeFilterPart($loginName); $filter = str_replace('%uid', $loginName, $this->connection->ldapLoginFilter); return $this->fetchListOfUsers($filter, $attributes); @@ -872,15 +868,9 @@ class Access extends LDAPUtility { } /** - * @param string $filter - * @param string|string[] $attr - * @param int $limit - * @param int $offset - * @param bool $forceApplyAttributes - * @return array * @throws \Exception */ - public function fetchListOfUsers($filter, $attr, $limit = null, $offset = null, $forceApplyAttributes = false) { + public function fetchListOfUsers(string $filter, array $attr, int $limit = null, int $offset = null, bool $forceApplyAttributes = false): array { $ldapRecords = $this->searchUsers($filter, $attr, $limit, $offset); $recordsToUpdate = $ldapRecords; if (!$forceApplyAttributes) { @@ -992,18 +982,9 @@ class Access extends LDAPUtility { } /** - * executes an LDAP search, optimized for Users - * - * @param string $filter the LDAP filter for the search - * @param string|string[] $attr optional, when a certain attribute shall be filtered out - * @param integer $limit - * @param integer $offset - * @return array with the search result - * - * Executes an LDAP search * @throws ServerNotAvailableException */ - public function searchUsers($filter, $attr = null, $limit = null, $offset = null) { + public function searchUsers(string $filter, array $attr = null, int $limit = null, int $offset = null): array { $result = []; foreach ($this->connection->ldapBaseUsers as $base) { $result = array_merge($result, $this->search($filter, $base, $attr, $limit, $offset)); diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php index a6cd9669c93..6b62f88123e 100644 --- a/apps/user_ldap/lib/Group_LDAP.php +++ b/apps/user_ldap/lib/Group_LDAP.php @@ -140,6 +140,7 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD //extra work if we don't get back user DNs if (strtolower($this->access->connection->ldapGroupMemberAssocAttr) === 'memberuid') { + $requestAttributes = $this->access->userManager->getAttributes(true); $dns = []; $filterParts = []; $bytes = 0; @@ -153,13 +154,13 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD $filter = $this->access->combineFilterWithOr($filterParts); $bytes = 0; $filterParts = []; - $users = $this->access->fetchListOfUsers($filter, 'dn', count($filterParts)); + $users = $this->access->fetchListOfUsers($filter, $requestAttributes, count($filterParts)); $dns = array_merge($dns, $users); } } if (count($filterParts) > 0) { $filter = $this->access->combineFilterWithOr($filterParts); - $users = $this->access->fetchListOfUsers($filter, 'dn', count($filterParts)); + $users = $this->access->fetchListOfUsers($filter, $requestAttributes, count($filterParts)); $dns = array_merge($dns, $users); } $members = $dns; @@ -989,7 +990,7 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD str_replace('%uid', $member, $this->access->connection->ldapLoginFilter), $this->access->getFilterPartForUserSearch($search) ]); - $ldap_users = $this->access->fetchListOfUsers($filter, 'dn', 1); + $ldap_users = $this->access->fetchListOfUsers($filter, ['dn'], 1); if (count($ldap_users) < 1) { continue; } |