From a5ca7bb5b25f4400263b10d84ab1c436a228b18b Mon Sep 17 00:00:00 2001 From: Julio Date: Wed, 18 Aug 2021 10:21:53 +0200 Subject: [PATCH] Fix load_search.php get value from extrafieldsaved --- public/main/search/load_search.php | 29 +++++++++++++++++++++++++--- src/CoreBundle/Entity/ExtraField.php | 5 +---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/public/main/search/load_search.php b/public/main/search/load_search.php index 98362fc59f..c73c79959e 100644 --- a/public/main/search/load_search.php +++ b/public/main/search/load_search.php @@ -28,7 +28,7 @@ if ($allowToSee === false) { $userId = api_get_user_id(); $userInfo = api_get_user_info(); -$userToLoad = isset($_GET['user_id']) ? $_GET['user_id'] : 0; +$userToLoad = isset($_GET['user_id']) ? (int) $_GET['user_id'] : 0; $userToLoadInfo = []; if ($userToLoad) { @@ -93,6 +93,11 @@ if (!empty($userInfo)) { break; } + // Allow access for admins. + if (empty($users) && api_is_platform_admin()) { + $users[] = $userToLoadInfo; + } + if (!empty($users)) { $userList = []; foreach ($users as $user) { @@ -130,6 +135,14 @@ if (!empty($items)) { } } +if (isset($defaults['extra_access_start_date']) && isset($defaults['extra_access_start_date'][0])) { + $defaults['extra_access_start_date'] = $defaults['extra_access_start_date'][0]; +} + +if (isset($defaults['extra_access_end_date']) && isset($defaults['extra_access_end_date'][0])) { + $defaults['extra_access_end_date'] = $defaults['extra_access_end_date'][0]; +} + $extraField = new ExtraField('session'); $extraFieldValue = new ExtraFieldValue('session'); $extraFieldValueUser = new ExtraFieldValue('user'); @@ -736,17 +749,27 @@ if ($form->validate()) { /** @var ExtraFieldSavedSearch $saved */ $saved = $em->getRepository(ExtraFieldSavedSearch::class)->findOneBy($search); + if (empty($value)) { + $value = []; + } + + if (is_string($value)) { + $value = [$value]; + } + if ($saved) { $saved ->setField($extraFieldObj) ->setUser(api_get_user_entity($userToLoad)) - ->setValue($value); + ->setValue($value) + ; } else { $saved = new ExtraFieldSavedSearch(); $saved ->setField($extraFieldObj) ->setUser(api_get_user_entity($userToLoad)) - ->setValue($value); + ->setValue($value) + ; } $em->persist($saved); $em->flush(); diff --git a/src/CoreBundle/Entity/ExtraField.php b/src/CoreBundle/Entity/ExtraField.php index ea29d1e159..b1b4dcc5b8 100644 --- a/src/CoreBundle/Entity/ExtraField.php +++ b/src/CoreBundle/Entity/ExtraField.php @@ -165,10 +165,7 @@ class ExtraField return $this; } - /** - * @return int - */ - public function getFieldType() + public function getFieldType(): int { return $this->fieldType; }