Index: openacs-4/packages/xowiki/tcl/includelet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/includelet-procs.tcl,v diff -u -r1.27 -r1.28 --- openacs-4/packages/xowiki/tcl/includelet-procs.tcl 17 Apr 2008 11:45:55 -0000 1.27 +++ openacs-4/packages/xowiki/tcl/includelet-procs.tcl 25 Apr 2008 10:02:49 -0000 1.28 @@ -197,7 +197,7 @@ foreach cid_and [split $cid_or ,] { lappend and_names [::category::get_name $cid_and] lappend ands "exists (select 1 from category_object_map \ - where object_id = p.item_id and category_id = $cid_and)" + where object_id = $item_ref and category_id = $cid_and)" } lappend or_names "[join $and_names { and }]" lappend ors "([join $ands { and }])" @@ -495,12 +495,28 @@ [::xowiki::Includelet locale_clause -revisions r -items ci $package_id $locale] break set have_locale [expr {[lsearch [info args category_tree::get_mapped_trees] locale] > -1}] - set trees [expr {$have_locale ? + set mapped_trees [expr {$have_locale ? [category_tree::get_mapped_trees $package_id $locale] : [category_tree::get_mapped_trees $package_id]}] - foreach tree $trees { + + set trees [list] + foreach tree $mapped_trees { foreach {tree_id my_tree_name ...} $tree {break} if {$tree_name ne "" && ![string match $tree_name $my_tree_name]} continue + lappend trees [list $tree_id $my_tree_name] + } + + if {[llength $trees] == 0 && $tree_name ne ""} { + # we have nothing left from mapped trees, maybe the tree_names are not mapped; + # try to get these + foreach name $tree_name { + #lappend trees [list [lindex [category_tree::get_id $tree_name $locale] 0] $name] + lappend trees [list [lindex [category_tree::get_id $tree_name] 0] $name] + } + } + + foreach tree $trees { + foreach {tree_id my_tree_name ...} $tree {break} if {!$no_tree_name} { append content "