]> git.mxchange.org Git - core.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Sat, 25 Feb 2023 06:51:20 +0000 (07:51 +0100)
committerRoland Häder <roland@mxchange.org>
Sat, 25 Feb 2023 06:53:10 +0000 (07:53 +0100)
- na, I don't like these multiple-type variables from PHP ...
- it surely later needs rewrite to array-only return values or exceptions in
  case of errors
- also fixed issue here

framework/main/classes/criteria/search/class_SearchCriteria.php

index 155916d94ba469b0b93cb17393ae6a77d826c9c4..d1c8c91c402520cc2486f096800f68524b1f129b 100644 (file)
@@ -169,7 +169,7 @@ class SearchCriteria extends BaseCriteria implements LocalSearchCriteria {
                }
 
                // "Explode" value
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('SEARCH-CRITERIA: Invoking explode(%s,value[]=%s) ...', $separator, gettype($value)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('SEARCH-CRITERIA: Invoking explode("%s",value[]=%s) ...', $separator, gettype($value)));
                $valueArray = explode($separator, $value);
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: valueArray()=%d', count($valueArray)));
 
@@ -199,13 +199,13 @@ class SearchCriteria extends BaseCriteria implements LocalSearchCriteria {
 
                // Is an array returned?
                /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: searchChoice[]=%s', gettype($searchChoice)));
-               if (!is_array($searchChoice)) {
+               if (!is_array($searchChoice) && !is_bool($searchChoice)) {
                        // Should not happen
                        throw new UnexpectedValueException(sprintf('searchChoice[]=%s is unexpected', gettype($searchChoice)), FrameworkInterface::EXCEPTION_UNEXPECTED_VALUE);
                }
 
                // 'choice' check
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: searchChoice(%d)=%s', count($searchChoice), print_r($searchChoice, true)));
+               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: searchChoice[]=%s', gettype($searchChoice)));
                if ((is_array($searchChoice)) && (count($valueArray) == 1)) {
                        // $value is a single-search value, so use in_[]
                        $isMatching = ((($isMatching === true) || (($searchDefault === false) && (!is_null($value)))) && (in_array($value, $searchChoice)));
@@ -237,7 +237,7 @@ class SearchCriteria extends BaseCriteria implements LocalSearchCriteria {
                        /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: isMatching=%d - AFTER!', intval($isMatching)));
                } else {
                        // Choice-match is false
-                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: key=%s[],searchChoice()=%d,value[%s]=%s,isMatching=%d - FALSE-MATCH', $key, count($searchChoice), gettype($value), $value, intval($isMatching)));
+                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugMessage(sprintf('SEARCH-CRITERIA: key=%s[],searchChoice[]=%s,value[%s]=%s,isMatching=%d - FALSE-MATCH', $key, gettype($searchChoice), gettype($value), $value, intval($isMatching)));
                }
 
                // Get 'exclude' search value