Index: openacs-4/packages/file-storage/tcl/file-storage-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/tcl/file-storage-procs.tcl,v diff -u -r1.40 -r1.41 --- openacs-4/packages/file-storage/tcl/file-storage-procs.tcl 16 Feb 2004 17:06:13 -0000 1.40 +++ openacs-4/packages/file-storage/tcl/file-storage-procs.tcl 16 Feb 2004 19:07:57 -0000 1.41 @@ -705,3 +705,42 @@ return $revision_id } + +ad_proc fs::webdav_url { + -item_id + {-root_folder_id ""} + {-package_id ""} +} { + Provide URL for webdav access to file or folder + + @param item_id folder_id or item_id of file-storage folder or file + @param root_folder_id root folder to resolve URL from + + @return fully qualified URL for WebDAV access or empty string if + item is not WebDAV enabled +} { + + if {[empty_string_p $package_id]} { + set package_id [ad_conn package_id] + } + + if {[empty_string_p $root_folder_id]} { + set root_folder_id [fs::get_root_folder -package_id $package_id] + } + + if {[string equal "t" [oacs_dav::folder_enabled -folder_id $root_folder_id]]} { + + set url_stub [item::get_url -root_folder_id $root_folder_id $item_id] + + set package_url [apm_package_url_from_id $package_id] + + set webdav_prefix [oacs_dav::uri_prefix] + + return "[ad_url]${webdav_prefix}${package_url}${url_stub}" + + } else { + + return "" + + } +} \ No newline at end of file