From 46a8ace31d9d0a155e3ada31c67c0faf792d41c4 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 20 Aug 2021 13:19:25 -0400 Subject: [PATCH] Add exception to warn of unsupported OR condition in PageFinder per processwire/processwire-issues#1428 --- wire/core/PageFinder.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/wire/core/PageFinder.php b/wire/core/PageFinder.php index 538e091f..af2b591d 100644 --- a/wire/core/PageFinder.php +++ b/wire/core/PageFinder.php @@ -459,10 +459,16 @@ class PageFinder extends Wire { foreach($selectors as $key => $selector) { - $fieldName = $selector->field; + /** @var Selector $selector */ + $fieldName = $selector->field; + + if(is_array($fieldName) || is_array($selector->value)) { + throw new PageFinderException("OR-condition not supported in '$selector'"); + } - if($fieldName == 'status') { - $value = $selector->value; + if($fieldName === 'status') { + // @todo add support for array value,i.e. `status=hidden|unpublished` + $value = $selector->value(); if(!ctype_digit("$value")) { // allow use of some predefined labels for Page statuses $statuses = Page::getStatuses();