Index: openacs-4/packages/fs-portlet/www/fs-contents-portlet.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fs-portlet/www/fs-contents-portlet.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/fs-portlet/www/fs-contents-portlet.tcl 24 Jul 2004 08:34:41 -0000 1.7 +++ openacs-4/packages/fs-portlet/www/fs-contents-portlet.tcl 13 Jan 2005 13:58:20 -0000 1.8 @@ -29,9 +29,6 @@ user_id:onevalue user_root_folder:onevalue user_root_folder_present_p:onevalue - write_p:onevalue - admin_p:onevalue - delete_p:onevalue url:onevalue folders:multirow n_folders:onevalue @@ -47,23 +44,25 @@ ad_return -error } +# Get the root folder for the file storage instance we belong to, which is defined as the +# one mounted beneath the current package (dotlrn or acs-subsite). Root folder should really +# be a parameter to the portlet, something I'll consider for 5.2/2.2. + +set file_storage_node_id [site_node::get_node_id_from_object_id \ + -object_id [ad_conn package_id]] +set file_storage_package_id [site_node::get_children \ + -package_key file-storage \ + -node_id $file_storage_node_id \ + -element package_id] +set root_folder_id [fs::get_root_folder -package_id $file_storage_package_id] + set folder_id [lindex $list_of_folder_ids 0] set scope_fs_url "/packages/file-storage/www/folder-chunk" set n_past_days "" set url [site_node_object_map::get_url -object_id $folder_id] set recurse_p 1 set contents_url "${url}folder-contents?[export_vars {folder_id recurse_p}]&" -set admin_p [permission::permission_p -object_id $folder_id -privilege "admin"] -set write_p $admin_p -if {!$write_p} { - set write_p [permission::permission_p -object_id $folder_id -privilege "write"] -} -set delete_p $admin_p -if {!$delete_p} { - set delete_p [permission::permission_p -object_id $folder_id -privilege "delete"] -} - # Enable Notifications set folder_name [fs_get_folder_name $folder_id] @@ -74,4 +73,12 @@ -url [ad_conn url]?folder_id=$folder_id \ ] +if [exists_and_not_null file_storage_package_id] { + set use_webdav_p [parameter::get -package_id $file_storage_package_id -parameter "UseWebDavP"] + + if { $use_webdav_p == 1} { + set webdav_url [fs::webdav_url -item_id $folder_id -package_id $file_storage_package_id] + } +} + ad_return_template