addressbook-query param-filter filters on property value, not parameter value
When doing an addressbook-query with a param-filter element, the returned results are not as expected. The reason is that awl compares the param search value to the property value, not the parameter value.
See the issue in inc/vProperty.php, line 559:
if ( !empty($parameter_value) ) $match = strstr( $this->content, $search );
Should be:
if ( !empty($parameter_value) ) $match = strstr( $parameter_value, $search );
Additionally, the search here ignores the text-match collation and match-type. The default collation is case insensitive, but the used strstr
function is case sensitive, so this is also broken. Why not use the code contained in the TestFilter() function here as well?