Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -r1.542.2.120 -r1.542.2.121 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 9 Nov 2021 19:33:04 -0000 1.542.2.120 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 13 Nov 2021 20:19:36 -0000 1.542.2.121 @@ -4298,25 +4298,32 @@ } FormPage proc sql_value {input} { - string map {* %} $input + # + # Transform wild-card * into SQL wild-card. + # + return [string map {* %} $input] } FormPage proc filter_expression { {-sql true} input_expr logical_op } { + #ns_log notice "filter_expression '$input_expr' $logical_op" + + # + # example for unless: wf_current_state = closed|accepted || x = 1 + # + array set tcl_op {= eq < < > > >= >= <= <=} array set sql_op {= = < < > > >= >= <= <=} array set op_map { contains,sql {$lhs_var like '%$sql_rhs%'} contains,tcl {{$rhs} in $lhs_var} - matches,sql {$lhs_var like '%$sql_rhs%'} + matches,sql {$lhs_var like '$sql_rhs'} matches,tcl {[string match "$rhs" $lhs_var]} } - ns_log notice "filter_expression '$input_expr' $logical_op" - #:msg unless=$unless - #example for unless: wf_current_state = closed|accepted || x = 1 + set tcl_clause [list] set h_clause [list] set vars [list] @@ -4565,7 +4572,7 @@ $extra_where_clause" \ -orderby $orderby \ -limit $limit -offset $offset] - #ns_log notice "get_form_entries: \n[string map [list :parent_id $parent_id :package_id $package_id] $sql]" + #ns_log notice "get_form_entries:\n[string map [list :parent_id $parent_id :package_id $package_id] $sql]" # # When we query all attributes, we return objects named after the # item_id (like for single fetches)