Index: openacs-4/packages/file-storage/lib/folder-links-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/lib/Attic/folder-links-oracle.xql,v diff -u -r1.2 -r1.2.10.1 --- openacs-4/packages/file-storage/lib/folder-links-oracle.xql 8 Aug 2006 21:26:48 -0000 1.2 +++ openacs-4/packages/file-storage/lib/folder-links-oracle.xql 4 Jul 2016 10:11:27 -0000 1.2.10.1 @@ -3,14 +3,16 @@ oracle8.1.6 - + - fs_objects.object_id in (select item_id from cr_items - connect by prior parent_id=item_id - start with parent_id=:folder_id) + and exists (select 1 + from acs_object_party_privilege_map m + where m.object_id = fs_objects.object_id + and m.party_id = :viewing_user_id + and m.privilege = 'read') - + Index: openacs-4/packages/file-storage/lib/folder-links-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/lib/Attic/folder-links-postgresql.xql,v diff -u -r1.2 -r1.2.10.1 --- openacs-4/packages/file-storage/lib/folder-links-postgresql.xql 8 Aug 2006 21:26:48 -0000 1.2 +++ openacs-4/packages/file-storage/lib/folder-links-postgresql.xql 4 Jul 2016 10:11:27 -0000 1.2.10.1 @@ -1,16 +1,14 @@ - postgresql7.3D - + postgresql7.3 + + - fs_objects.object_id in (select item_id from cr_items where - tree_sortkey between (select tree_sortkey from cr_items where - item_id = :folder_id) and (select tree_right(tree_sortkey) from - cr_items where item_id = :folder_id) + and acs_permission__permission_p(fs_objects.object_id, :viewing_user_id, 'read') - + Index: openacs-4/packages/file-storage/lib/folder-links.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/lib/folder-links.tcl,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/file-storage/lib/folder-links.tcl 22 May 2016 19:27:48 -0000 1.4.2.2 +++ openacs-4/packages/file-storage/lib/folder-links.tcl 4 Jul 2016 10:11:27 -0000 1.4.2.3 @@ -23,28 +23,17 @@ set return_url [ad_return_url] } -if {$show_all_p} { - set parent_context_where [db_map parent_context_all] -} else { - set parent_context_where " fs_objects.parent_id = :folder_id" -} - set object_list_where "" set viewing_user_id [ad_conn user_id] -set permission_clause " and exists (select 1 - from acs_object_party_privilege_map m - where m.object_id = fs_objects.object_id - and m.party_id = :viewing_user_id - and m.privilege = 'read')" if {[info exists permission_check] && $permission_check eq 0 } { set permission_p 1 - set permission_clause "" + set permission_clause [db_map permission_clause] } else { set permission_p [permission::permission_p -party_id $viewing_user_id -object_id $folder_id -privilege "read"] + set permission_clause "" } - set folder_name [lang::util::localize [fs::get_object_name -object_id $folder_id]] lassign [fs::get_folder_package_and_root $folder_id] package_id root_folder_id