From 695a39b28153608eae94660e69ffb314b81316b1 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Mon, 16 Aug 2021 11:10:34 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#1135 --- wire/core/PageFinder.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/wire/core/PageFinder.php b/wire/core/PageFinder.php index 72741cb3..35c53aca 100644 --- a/wire/core/PageFinder.php +++ b/wire/core/PageFinder.php @@ -3317,11 +3317,23 @@ class PageFinder extends Wire { $templateIDs = implode('|', $templateIDs); // determine include=mode - $include = $selectors->getSelectorByField("include"); - $include = $include ? $include->value : 'hidden'; + $include = $selectors->getSelectorByField('include'); + $include = $include ? $include->value : ''; + if(!$include) $include = $this->includeMode ? $this->includeMode : 'hidden'; + + $selectorString = "templates_id=$templateIDs, include=$include, get_total=0"; + + if($include !== 'all') { + $checkAccess = $selectors->getSelectorByField('check_access'); + if($checkAccess && ctype_digit($checkAccess->value)) { + $selectorString .= ", check_access=$checkAccess->value"; + } else if($this->checkAccess === false) { + $selectorString .= ", check_access=0"; + } + } /** @var Selectors $ownerSelectors Build selectors */ - $ownerSelectors = $this->wire(new Selectors("templates_id=$templateIDs, include=$include, get_total=0")); + $ownerSelectors = $this->wire(new Selectors($selectorString)); $ownerSelector = clone $selector; if(count($fields) > 1) {