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 -N -r1.455 -r1.456 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 20 Aug 2012 09:18:49 -0000 1.455 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 4 Sep 2012 17:31:10 -0000 1.456 @@ -3153,27 +3153,29 @@ return $result } - FormPage proc get_super_folders {package folder_id {acc ""}} { set folder [::xo::db::CrClass get_instance_from_db -item_id $folder_id -revision_id 0] set package_id [$folder package_id] - set inherit_folders [util_coalesce [$folder property inherit_folders] [$folder get_parameter inherit_folders]] + set inherit_folders [$package_id get_parameter inherit_folders] + if {[$folder istype ::xowiki::FormPage]} { + set inherit_folders [$folder property inherit_folders $inherit_folders] + } # new_folders contains everything # in the second list, i.e. inherit_folders, # that wasn't in the first, i.e. acc lassign [util_intersect3 $acc $inherit_folders] _dummy1_ _dummy2_ new_folders - set acc [concat $acc $new_folders] + lappend acc {*}$new_folders + #set acc [concat $acc $new_folders] while { $new_folders ne {} } { set item_ref [lindex $new_folders 0] set new_folders [lrange $new_folders 1 end] set page [$package get_page_from_item_ref $item_ref] - set folder_id [$page item_id] - set inherit_folders [FormPage get_super_folders $package $folder_id $acc] + set inherit_folders [FormPage get_super_folders $package [$page item_id] $acc] lassign [util_intersect3 $acc $inherit_folders] _dummy1_ _dummy2_ new_new_folders - set acc [concat $acc $new_new_folders] + lappend acc {*}$new_new_folders set new_folders [concat $new_folders $new_new_folders] } return $acc