From a47543003191f9d6418adf0bc9fa0cf9ebe5dc2a Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 19 Mar 2021 15:14:25 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#1292 --- wire/core/Page.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/wire/core/Page.php b/wire/core/Page.php index 87b21a51..d20cfd7b 100644 --- a/wire/core/Page.php +++ b/wire/core/Page.php @@ -2057,7 +2057,7 @@ class Page extends WireData implements \Countable, WireMatchable { } else if($userType === 'modified' || strpos($userType, 'modified') === 0) { $userType = 'modified'; } else { - return new NullPage(); + return $this->wire(new NullPage()); } $property = '_' . $userType . 'User'; @@ -2068,16 +2068,20 @@ class Page extends WireData implements \Countable, WireMatchable { $key = $userType . '_users_id'; $uid = (int) $this->settings[$key]; - if(!$uid) return new NullPage(); - - if($uid === (int) $this->wire('user')->id) { + if(!$uid) return $this->wire(new NullPage()); + + $u = $this->wire()->user; + if($u && $uid === $u->id) { // ok use current user $user - $user = $this->wire('user'); + $user = $u; } else { // get user - $user = $this->wire('users')->get($uid); + $users = $this->wire()->users; + if($users) $user = $users->get($uid); } + if(!$user) $user = $this->wire(new NullPage()); + $this->$property = $user; // cache to _createdUser or _modifiedUser return $user;