From 93ef72a14a9f6386effe34304882f3b015eecbb0 Mon Sep 17 00:00:00 2001 From: dartcafe Date: Thu, 11 Jun 2020 14:55:55 +0200 Subject: avoid fetching foto fix #912 --- lib/Controller/SystemController.php | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'lib') diff --git a/lib/Controller/SystemController.php b/lib/Controller/SystemController.php index 86051bfb..894a7893 100644 --- a/lib/Controller/SystemController.php +++ b/lib/Controller/SystemController.php @@ -94,6 +94,7 @@ class SystemController extends Controller { /** * Get a list of NC users, groups and contacts * @NoAdminRequired + * @PublicPage * @NoCSRFRequired * @param string $query * @param bool $getGroups - search in groups @@ -105,7 +106,7 @@ class SystemController extends Controller { */ public function getSiteUsersAndGroups($query = '', $getGroups = true, $getUsers = true, $getContacts = true, $getMail = false, $skipGroups = array(), $skipUsers = array()) { $list = array(); - // if (filter_var($query, FILTER_VALIDATE_EMAIL)) { + if ($this->isValidEmail($query)) { $list[] = [ 'id' => '', @@ -124,10 +125,8 @@ class SystemController extends Controller { ]; } - if ($getGroups) { - $groups = $this->groupManager->search($query); - foreach ($groups as $group) { + foreach ($this->groupManager->search($query) as $group) { if (!in_array($group->getGID(), $skipGroups)) { $list[] = [ 'id' => $group->getGID(), @@ -149,8 +148,7 @@ class SystemController extends Controller { } if ($getUsers) { - $users = $this->userManager->searchDisplayName($query); - foreach ($users as $user) { + foreach ($this->userManager->searchDisplayName($query) as $user) { if (!in_array($user->getUID(), $skipUsers)) { $list[] = [ 'id' => $user->getUID(), @@ -170,13 +168,9 @@ class SystemController extends Controller { } } - $contactsManager = \OC::$server->getContactsManager(); - - - if ($getContacts && $contactsManager->isEnabled()) { - $contacts = $contactsManager->search($query, array('FN', 'EMAIL', 'ORG', 'CATEGORIES')); + if ($getContacts && \OC::$server->getContactsManager()->isEnabled()) { - foreach ($contacts as $contact) { + foreach (\OC::$server->getContactsManager()->search($query, array('FN', 'EMAIL', 'ORG', 'CATEGORIES')) as $contact) { if (!array_key_exists('isLocalSystemBook', $contact) && array_key_exists('EMAIL', $contact)) { $emailAdresses = $contact['EMAIL']; @@ -199,9 +193,9 @@ class SystemController extends Controller { 'type' => 'contact', 'icon' => 'icon-mail', 'avatarURL' => '', - 'avatar' => isset($contact['PHOTO']) ? $contact['PHOTO'] : '', + 'avatar' => '', 'lastLogin' => '', - 'cloudId' => '' + 'cloudId' => '', ]; } -- cgit v1.2.3 From ff1b16124ef335074be901f1e1a021640932dbf2 Mon Sep 17 00:00:00 2001 From: dartcafe Date: Thu, 11 Jun 2020 21:00:05 +0200 Subject: minor fixes --- lib/Controller/ShareController.php | 2 +- lib/Controller/SystemController.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/Controller/ShareController.php b/lib/Controller/ShareController.php index 15eee195..99746a78 100644 --- a/lib/Controller/ShareController.php +++ b/lib/Controller/ShareController.php @@ -222,7 +222,7 @@ class ShareController extends Controller { return new DataResponse($publicShare, Http::STATUS_OK); } else { - return new DataResponse(['message'=> 'Wrong share type: ' . $userShare->getType()], Http::STATUS_FORBIDDEN); + return new DataResponse(['message'=> 'Wrong share type: ' . $publicShare->getType()], Http::STATUS_FORBIDDEN); } } catch (DoesNotExistException $e) { diff --git a/lib/Controller/SystemController.php b/lib/Controller/SystemController.php index 894a7893..9c8326cf 100644 --- a/lib/Controller/SystemController.php +++ b/lib/Controller/SystemController.php @@ -85,7 +85,7 @@ class SystemController extends Controller { * Validate string as email address * @NoAdminRequired * @param string $query - * @return Boolval + * @return Boolean */ private function isValidEmail($email) { return (!preg_match('/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/', $email)) ? false : true; @@ -107,7 +107,7 @@ class SystemController extends Controller { public function getSiteUsersAndGroups($query = '', $getGroups = true, $getUsers = true, $getContacts = true, $getMail = false, $skipGroups = array(), $skipUsers = array()) { $list = array(); - if ($this->isValidEmail($query)) { + if ($getMail && $this->isValidEmail($query)) { $list[] = [ 'id' => '', 'user' => '', -- cgit v1.2.3