protected function validateTextMatches(array $texts, array $filters, $test)
    {
        foreach ($filters as $filter) {
            $success = false;
            foreach ($texts as $haystack) {
                $success = DAV\StringUtil::textMatch($haystack, $filter['value'], $filter['collation'], $filter['match-type']);

                // Breaking on the first match
                if ($success) {
                    break;
                }
            }
            if ($filter['negate-condition']) {
                $success = !$success;
            }

            if ($success && 'anyof' === $test) {
                return true;
            }

            if (!$success && 'allof' == $test) {
                return false;
            }
        }

        // If we got all the way here, it means we haven't been able to
        // determine early if the test failed or not.
        //
        // This implies for 'anyof' that the test failed, and for 'allof' that
        // we succeeded. Sounds weird, but makes sense.
        return 'allof' === $test;
    }
protected function validateTextMatches(array $texts, array $filters, $test)
    {
        foreach ($filters as $filter) {
            $success = false;
            foreach ($texts as $haystack) {
                $success = DAV\StringUtil::textMatch($haystack, $filter['value'], $filter['collation'], $filter['match-type']);

                // Breaking on the first match
                if ($success) {
                    break;
                }
            }
            if ($filter['negate-condition']) {
                $success = !$success;
            }

            if ($success && 'anyof' === $test) {
                return true;
            }

            if (!$success && 'allof' == $test) {
                return false;
            }
        }

        // If we got all the way here, it means we haven't been able to
        // determine early if the test failed or not.
        //
        // This implies for 'anyof' that the test failed, and for 'allof' that
        // we succeeded. Sounds weird, but makes sense.
        return 'allof' === $test;
    }
protected function validateTextMatches ( array $ texts , array $ filters , $ test ) { foreach ( $ filters as $ filter ) { $ success = false ; foreach ( $ texts as $ haystack ) { $ success = DAV \ StringUtil :: textMatch ( $ haystack , $ filter [ 'value' ] , $ filter [ 'collation' ] , $ filter [ 'match-type' ] ) ; // Breaking on the first match if ( $ success ) { break ; } } if ( $ filter [ 'negate-condition' ] ) { $ success = ! $ success ; } if ( $ success && 'anyof' === $ test ) { return true ; } if ( ! $ success && 'allof' == $ test ) { return false ; } } // If we got all the way here, it means we haven't been able to // determine early if the test failed or not. // // This implies for 'anyof' that the test failed, and for 'allof' that // we succeeded. Sounds weird, but makes sense. return 'allof' === $ test ; }
Validates if a text-filter can be applied to a specific property.

@param array  $texts
@param array  $filters
@param string $test

@return bool
Validates if a text - filter can be applied to a specific property .