mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-02-26 05:33:40 +00:00
Fix bug handling multiple prop-filter clauses.
This commit is contained in:
parent
06dcb0b166
commit
5e3ed8dedc
@ -206,7 +206,7 @@ function SqlFilterFragment( $filter, $components, $property = null, $parameter =
|
||||
$propertyname = $v->GetAttribute("name");
|
||||
switch( $propertyname ) {
|
||||
case 'PERCENT-COMPLETE':
|
||||
$property = 'percent_complete';
|
||||
$subproperty = 'percent_complete';
|
||||
break;
|
||||
|
||||
case 'UID':
|
||||
@ -224,7 +224,7 @@ function SqlFilterFragment( $filter, $components, $property = null, $parameter =
|
||||
case 'DTEND':
|
||||
case 'DUE':
|
||||
case 'PRIORITY':
|
||||
$property = strtolower($propertyname);
|
||||
$subproperty = strtolower($propertyname);
|
||||
break;
|
||||
|
||||
case 'COMPLETED': /** @todo this should be moved into the properties supported in SQL. */
|
||||
@ -233,11 +233,13 @@ function SqlFilterFragment( $filter, $components, $property = null, $parameter =
|
||||
dbg_error_log("calquery", "Could not handle 'prop-filter' on %s in SQL", $propertyname );
|
||||
continue;
|
||||
}
|
||||
$subfilter = $v->GetContent();
|
||||
$success = SqlFilterFragment( $subfilter, $components, $property, $parameter );
|
||||
if ( $success === false ) continue; else {
|
||||
$sql .= $success['sql'];
|
||||
$params = array_merge( $params, $success['params'] );
|
||||
if ( isset($subproperty) ) {
|
||||
$subfilter = $v->GetContent();
|
||||
$success = SqlFilterFragment( $subfilter, $components, $subproperty, $parameter );
|
||||
if ( $success === false ) continue; else {
|
||||
$sql .= $success['sql'];
|
||||
$params = array_merge( $params, $success['params'] );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user