From 7e5d58f94ba04515f01d2ba186c219d57ae73bf8 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Fri, 15 Nov 2019 09:04:44 +0200 Subject: [PATCH] Minor bug fixes --- system/src/Grav/Common/Page/Markdown/Excerpts.php | 2 +- system/src/Grav/Common/Twig/TwigExtension.php | 8 ++++---- .../src/Grav/Common/User/DataUser/UserCollection.php | 12 ++++++++++-- system/src/Grav/Common/User/FlexUser/User.php | 4 ++-- .../Grav/Framework/Flex/Pages/FlexPageCollection.php | 2 +- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/system/src/Grav/Common/Page/Markdown/Excerpts.php b/system/src/Grav/Common/Page/Markdown/Excerpts.php index 1bf22314b..90908c5f3 100644 --- a/system/src/Grav/Common/Page/Markdown/Excerpts.php +++ b/system/src/Grav/Common/Page/Markdown/Excerpts.php @@ -43,7 +43,7 @@ class Excerpts $this->config = $config; } - public function getPage(): PageInterface + public function getPage(): ?PageInterface { return $this->page; } diff --git a/system/src/Grav/Common/Twig/TwigExtension.php b/system/src/Grav/Common/Twig/TwigExtension.php index e78790ab3..5c06e4d5f 100644 --- a/system/src/Grav/Common/Twig/TwigExtension.php +++ b/system/src/Grav/Common/Twig/TwigExtension.php @@ -258,14 +258,14 @@ class TwigExtension extends AbstractExtension implements GlobalsInterface */ public function randomizeFilter($original, $offset = 0) { - if (!\is_array($original)) { - return $original; - } - if ($original instanceof \Traversable) { $original = iterator_to_array($original, false); } + if (!\is_array($original)) { + return $original; + } + $sorted = []; $random = array_slice($original, $offset); shuffle($random); diff --git a/system/src/Grav/Common/User/DataUser/UserCollection.php b/system/src/Grav/Common/User/DataUser/UserCollection.php index 28743814e..f26ff4442 100644 --- a/system/src/Grav/Common/User/DataUser/UserCollection.php +++ b/system/src/Grav/Common/User/DataUser/UserCollection.php @@ -81,8 +81,16 @@ class UserCollection implements UserCollectionInterface { $fields = (array)$fields; - $account_dir = Grav::instance()['locator']->findResource('account://'); - $files = $account_dir ? array_diff(scandir($account_dir), ['.', '..']) : []; + $grav = Grav::instance(); + /** @var UniformResourceLocator $locator */ + $locator = $grav['locator']; + + $account_dir = $locator->findResource('account://'); + if (!is_string($account_dir)) { + return $this->load(''); + } + + $files = array_diff(scandir($account_dir) ?: [], ['.', '..']); // Try with username first, you never know! if (in_array('username', $fields, true)) { diff --git a/system/src/Grav/Common/User/FlexUser/User.php b/system/src/Grav/Common/User/FlexUser/User.php index bbb705854..2999d3bbe 100644 --- a/system/src/Grav/Common/User/FlexUser/User.php +++ b/system/src/Grav/Common/User/FlexUser/User.php @@ -362,7 +362,7 @@ class User extends FlexObject implements UserInterface, MediaManipulationInterfa $old = $this->get($name, null, $separator); if ($old !== null) { - $value = $this->getBlueprint()->mergeData($value, $old, $name, $separator); + $value = $this->getBlueprint()->mergeData($value, $old, $name, $separator ?? '.'); } $this->setNestedProperty($name, $value, $separator); @@ -399,7 +399,7 @@ class User extends FlexObject implements UserInterface, MediaManipulationInterfa } // Return joined data. - return $this->getBlueprint()->mergeData($old, $value, $name, $separator); + return $this->getBlueprint()->mergeData($old, $value, $name, $separator ?? '.'); } /** diff --git a/system/src/Grav/Framework/Flex/Pages/FlexPageCollection.php b/system/src/Grav/Framework/Flex/Pages/FlexPageCollection.php index 689d2ac39..a39528e36 100644 --- a/system/src/Grav/Framework/Flex/Pages/FlexPageCollection.php +++ b/system/src/Grav/Framework/Flex/Pages/FlexPageCollection.php @@ -133,7 +133,7 @@ class FlexPageCollection extends FlexCollection } } - return null; + return false; } /**