diff options
Diffstat (limited to 'apps/files_external/service/userglobalstoragesservice.php')
-rw-r--r-- | apps/files_external/service/userglobalstoragesservice.php | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/apps/files_external/service/userglobalstoragesservice.php b/apps/files_external/service/userglobalstoragesservice.php index 78520419556..c59652d057f 100644 --- a/apps/files_external/service/userglobalstoragesservice.php +++ b/apps/files_external/service/userglobalstoragesservice.php @@ -76,20 +76,25 @@ class UserGlobalStoragesService extends GlobalStoragesService { $data = parent::readLegacyConfig(); $userId = $this->getUser()->getUID(); + // don't use array_filter() with ARRAY_FILTER_USE_KEY, it's PHP 5.6+ if (isset($data[\OC_Mount_Config::MOUNT_TYPE_USER])) { - $data[\OC_Mount_Config::MOUNT_TYPE_USER] = array_filter( - $data[\OC_Mount_Config::MOUNT_TYPE_USER], function($key) use ($userId) { - return (strtolower($key) === strtolower($userId) || $key === 'all'); - }, ARRAY_FILTER_USE_KEY - ); + $newData = []; + foreach ($data[\OC_Mount_Config::MOUNT_TYPE_USER] as $key => $value) { + if (strtolower($key) === strtolower($userId) || $key === 'all') { + $newData[$key] = $value; + } + } + $data[\OC_Mount_Config::MOUNT_TYPE_USER] = $newData; } if (isset($data[\OC_Mount_Config::MOUNT_TYPE_GROUP])) { - $data[\OC_Mount_Config::MOUNT_TYPE_GROUP] = array_filter( - $data[\OC_Mount_Config::MOUNT_TYPE_GROUP], function($key) use ($userId) { - return ($this->groupManager->isInGroup($userId, $key)); - }, ARRAY_FILTER_USE_KEY - ); + $newData = []; + foreach ($data[\OC_Mount_Config::MOUNT_TYPE_GROUP] as $key => $value) { + if ($this->groupManager->isInGroup($userId, $key)) { + $newData[$key] = $value; + } + } + $data[\OC_Mount_Config::MOUNT_TYPE_GROUP] = $newData; } return $data; |