Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: DAViCal: Dev

Multiple prop-filter not supported (?)

 

 

DAViCal dev RSS feed   Index | Next | Previous | View Threaded


enrico.bassetti at netsplit

Jan 9, 2013, 7:48 AM

Post #1 of 1 (282 views)
Permalink
Multiple prop-filter not supported (?)

Hi all,

I was working on a CardDAV client, and I have a problem with a
"complex" filter like this:

<C:filter test="anyof">
<C:prop-filter name="FN">
<C:text-match collation="i;unicode-casemap"
match-type="contains">Fabio</C:text-match>
</C:prop-filter>
<C:prop-filter name="FN">
<C:text-match collation="i;unicode-casemap"
match-type="contains">Michele</C:text-match>
</C:prop-filter>
</C:filter>

This is a modified example on RFC 6352 section 8.6.4. When I do a
REPORT request with this filter, Davical sends me all vcards.

I tracked down the HTTP request and then I found this (on line 46 and
next):

/**
* There can only be *one* FILTER element.
*/
$qry_filters =
$xmltree->GetPath('/urn:ietf:params:xml:ns:carddav:addressbook-query/urn:ietf:params:xml:ns:carddav:filter/*');
if ( count($qry_filters) != 1 ) {
/* $qry_filters = $qry_filters[0]; // There can only be one FILTER
element
}
else { */
$qry_filters = false;
}

If I understand correctly, this code resets the query filter when
multiple prop-filter are found. I tried to delete the whole if
statement, and it's appear to work partially (basically it's generating
many conditions joined with ANDs, and it's the correct behavior when
"test" parameter of "filter" tag is "allof").

Is this a bug? Or I'm looking to a wrong RFC?

Enrico
_______________________________________________
DAViCal-dev mailing list
DAViCal-dev [at] lists
http://lists.davical.org/listinfo/davical-dev

DAViCal dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.