diff --git a/CHANGELOG.md b/CHANGELOG.md index 57ef12da5..cfc7fb5a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * Fixed broken list in `bin/gpm index` [#3092](https://github.com/getgrav/grav/issues/3092) * Fixed CLI/GPM command failures returning 0 (success) value [#3017](https://github.com/getgrav/grav/issues/3017) * Fixed unimplemented `PageObject::getOriginal()` call [#3098](https://github.com/getgrav/grav/issues/3098) + * Fixed `Argument 1 passed to Grav\Common\User\DataUser\User::filterUsername() must be of the type string` [#1992](https://github.com/getgrav/grav-plugin-admin/issues/1992) # v1.7.0-rc.19 ## 12/02/2020 diff --git a/system/src/Grav/Common/Flex/Types/Users/UserCollection.php b/system/src/Grav/Common/Flex/Types/Users/UserCollection.php index 527d973ff..53faa8a29 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserCollection.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserCollection.php @@ -43,6 +43,8 @@ class UserCollection extends FlexCollection implements UserCollectionInterface */ public function load($username): UserInterface { + $username = (string)$username; + if ($username !== '') { $key = $this->filterUsername($username); $user = $this->get($key); diff --git a/system/src/Grav/Common/Flex/Types/Users/UserIndex.php b/system/src/Grav/Common/Flex/Types/Users/UserIndex.php index d51d7f450..7711b192e 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserIndex.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserIndex.php @@ -79,6 +79,8 @@ class UserIndex extends FlexIndex */ public function load($username): UserInterface { + $username = (string)$username; + if ($username !== '') { $key = static::filterUsername($username, $this->getFlexDirectory()->getStorage()); $user = $this->get($key); diff --git a/system/src/Grav/Common/User/DataUser/User.php b/system/src/Grav/Common/User/DataUser/User.php index 745513dbf..0f328c801 100644 --- a/system/src/Grav/Common/User/DataUser/User.php +++ b/system/src/Grav/Common/User/DataUser/User.php @@ -120,7 +120,7 @@ class User extends Data implements UserInterface } if ($file) { - $username = $this->filterUsername($this->get('username')); + $username = $this->filterUsername((string)$this->get('username')); if (!$file->filename()) { $locator = Grav::instance()['locator']; diff --git a/system/src/Grav/Common/User/DataUser/UserCollection.php b/system/src/Grav/Common/User/DataUser/UserCollection.php index 557e1fb79..2f921d414 100644 --- a/system/src/Grav/Common/User/DataUser/UserCollection.php +++ b/system/src/Grav/Common/User/DataUser/UserCollection.php @@ -48,6 +48,8 @@ class UserCollection implements UserCollectionInterface */ public function load($username): UserInterface { + $username = (string)$username; + $grav = Grav::instance(); /** @var UniformResourceLocator $locator */ $locator = $grav['locator'];