Index: openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl,v diff -u -N -r1.84 -r1.85 --- openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl 25 Nov 2008 17:08:50 -0000 1.84 +++ openacs-4/packages/acs-tcl/tcl/site-nodes-procs.tcl 29 Sep 2009 18:57:29 -0000 1.85 @@ -671,7 +671,7 @@ @param package_key If specified, this will limit the returned nodes to those with a package of the specified package key mounted. Conflicts with the - -package_type option. + -package_type option. Can take one or more packges keys as a Tcl list. @param filters Takes a list of { element value element value ... } for filtering the result list. Only nodes where element is value for each of the @@ -723,9 +723,15 @@ set passed_p 1 foreach { elm val } $filters { - if { ![string equal $site_node($elm) $val] } { + # package_key supports one or more package keys + # since we can filter on the site node pretty name + # we can't just treat all filter values as a list + if {$elm eq "package_key" && [llength $val] > 1 && [lsearch $val $site_node($elm)] < 0} { set passed_p 0 break + } elseif {($elm ne "package_key" || [llength $val] == 1) && ![string equal $site_node($elm) $val]} { + set passed_p 0 + break } } if { $passed_p } {