Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl,v
diff -u -N -r1.133.2.44 -r1.133.2.45
--- openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 25 Jul 2014 08:20:31 -0000 1.133.2.44
+++ openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl 2 Aug 2014 09:31:37 -0000 1.133.2.45
@@ -1733,6 +1733,33 @@
return $ad_encoded_string
}
+if {[ns_info name] eq "NaviServer"} {
+ ad_proc -public ad_urlencode_path { string } {
+ encode provided string with url-encoding for paths (instead of queries) as defined in RFC 3986
+ } {
+ return [ns_urlencode -part path $string]
+ }
+ ad_proc -public ad_urldecode_path { string } {
+ decode provided string with url-encoding for paths (instead of queries) as defined in RFC 3986
+ } {
+ return [ns_urldecode -part path $string]
+ }
+} else {
+ ad_proc -public ad_urlencode_path { string } {
+ encode provided string with url-encodingfor paths;
+ same as ad_urlencode, since aolserver does not support this difference
+ } {
+ return [ad_urlencode $string]
+ }
+ ad_proc -public ad_urldecode_path { string } {
+ decode provided string with url-encoding for paths;
+ same as ns_urldecode, since aolserver does not support this difference
+ } {
+ return [ns_urldecode $string]
+ }
+}
+
+
ad_proc -public ad_get_cookie {
{ -include_set_cookies t }
name
Index: openacs-4/packages/file-storage/www/folder-chunk.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/folder-chunk.tcl,v
diff -u -N -r1.48.4.1 -r1.48.4.2
--- openacs-4/packages/file-storage/www/folder-chunk.tcl 3 Oct 2013 08:33:58 -0000 1.48.4.1
+++ openacs-4/packages/file-storage/www/folder-chunk.tcl 2 Aug 2014 09:31:36 -0000 1.48.4.2
@@ -28,15 +28,12 @@
permission::require_permission -party_id $viewing_user_id -object_id $folder_id -privilege "read"
set admin_p [permission::permission_p -party_id $viewing_user_id -object_id $folder_id -privilege "admin"]
-
set write_p $admin_p
+set delete_p $admin_p
if {!$write_p} {
set write_p [permission::permission_p -party_id $viewing_user_id -object_id $folder_id -privilege "write"]
}
-
-set delete_p $admin_p
-
if {!$delete_p} {
set delete_p [permission::permission_p -party_id $viewing_user_id -object_id $folder_id -privilege "delete"]
}
@@ -79,10 +76,18 @@
set cancel_url "[ad_conn url]?[ad_conn query]"
set add_url [export_vars -base "${fs_url}file-add" {folder_id}]
-lappend actions "#file-storage.Add_File#" [export_vars -base "${fs_url}file-upload-confirm" {folder_id cancel_url {return_url $add_url}}] "[_ file-storage.lt_Upload_a_file_in_this]" \
- "#file-storage.Create_a_URL#" [export_vars -base "${fs_url}simple-add" {folder_id}] "[_ file-storage.lt_Add_a_link_to_a_web_p]" \
- "#file-storage.New_Folder#" [export_vars -base "${fs_url}folder-create" {{parent_id $folder_id}}] "#file-storage.Create_a_new_folder#" \
- "[_ file-storage.lt_Upload_compressed_fol]" [export_vars -base "${fs_url}folder-zip-add" {folder_id}] "[_ file-storage.lt_Upload_a_compressed_f]"
+lappend actions "#file-storage.Add_File#" \
+ [export_vars -base "${fs_url}file-upload-confirm" {folder_id cancel_url {return_url $add_url}}] \
+ [_ file-storage.lt_Upload_a_file_in_this] \
+ "#file-storage.Create_a_URL#" \
+ [export_vars -base "${fs_url}simple-add" {folder_id}] \
+ [_ file-storage.lt_Add_a_link_to_a_web_p] \
+ "#file-storage.New_Folder#" \
+ [export_vars -base "${fs_url}folder-create" {{parent_id $folder_id}}] \
+ "#file-storage.Create_a_new_folder#" \
+ [_ file-storage.lt_Upload_compressed_fol] \
+ [export_vars -base "${fs_url}folder-zip-add" {folder_id}] \
+ [_ file-storage.lt_Upload_a_compressed_f]
set expose_rss_p [parameter::get -parameter ExposeRssP -package_id $package_id -default 0]
set like_filesystem_p [parameter::get -parameter BehaveLikeFilesystemP -package_id $package_id -default 1]
@@ -95,19 +100,30 @@
}
if {$delete_p} {
- lappend actions "#file-storage.Delete_this_folder#" [export_vars -base "${fs_url}folder-delete" {folder_id}] "#file-storage.Delete_this_folder#"
+ lappend actions \
+ "#file-storage.Delete_this_folder#" \
+ [export_vars -base "${fs_url}folder-delete" {folder_id}] \
+ "#file-storage.Delete_this_folder#"
}
if {$admin_p} {
- lappend actions "#file-storage.Edit_Folder#" [export_vars -base "${fs_url}folder-edit" {folder_id}] "#file-storage.Rename_this_folder#"
- lappend actions "#file-storage.lt_Modify_permissions_on_1#" [export_vars -base "${fs_url}permissions" -override {{object_id $folder_id}} {{return_url "[ad_conn url]"}}] "#file-storage.lt_Modify_permissions_on_1#"
+ lappend actions \
+ "#file-storage.Edit_Folder#" \
+ [export_vars -base "${fs_url}folder-edit" {folder_id}] \
+ "#file-storage.Rename_this_folder#" \
+ "#file-storage.lt_Modify_permissions_on_1#" \
+ [export_vars -base "${fs_url}permissions" -override {{object_id $folder_id}} {{return_url "[ad_conn url]"}}] \
+ "#file-storage.lt_Modify_permissions_on_1#"
if { $expose_rss_p } {
lappend actions "Configure RSS" [export_vars -base "${fs_url}admin/rss-subscrs" {folder_id}] "Configure RSS"
}
}
set categories_p [parameter::get -parameter CategoriesP -package_id $package_id -default 0]
if { $categories_p } {
if { [permission::permission_p -party_id $viewing_user_id -object_id $package_id -privilege "admin"] } {
- lappend actions [_ categories.cadmin] [export_vars -base "/categories/cadmin/object-map" -url {{object_id $package_id}}] [_ categories.cadmin]
+ lappend actions \
+ [_ categories.cadmin] \
+ [export_vars -base "/categories/cadmin/object-map" -url {{object_id $package_id}}] \
+ [_ categories.cadmin]
}
set category_links [fs::category_links -object_id $folder_id -folder_id $folder_id -selected_category_id $category_id -fs_url $fs_url]
}
@@ -171,7 +187,18 @@
set vars_to_export [list return_url]
if {$allow_bulk_actions} {
- set bulk_actions [list "[_ file-storage.Move]" "${fs_url}move" "[_ file-storage.lt_Move_Checked_Items_to]" "[_ file-storage.Copy]" "${fs_url}copy" "[_ file-storage.lt_Copy_Checked_Items_to]" "[_ file-storage.Delete]" "${fs_url}delete" "[_ file-storage.Delete_Checked_Items]" "[_ file-storage.Download_ZIP]" "${fs_url}download-zip" "[_ file-storage.Download_ZIP_Checked_Items]"]
+ set bulk_actions [list [_ file-storage.Move] \
+ ${fs_url}move \
+ [_ file-storage.lt_Move_Checked_Items_to] \
+ [_ file-storage.Copy] \
+ ${fs_url}copy \
+ [_ file-storage.lt_Copy_Checked_Items_to] \
+ [_ file-storage.Delete] \
+ ${fs_url}delete \
+ [_ file-storage.Delete_Checked_Items] \
+ [_ file-storage.Download_ZIP] \
+ ${fs_url}download-zip \
+ [_ file-storage.Download_ZIP_Checked_Items]]
callback fs::folder_chunk::add_bulk_actions \
-bulk_variable "bulk_actions" \
-folder_id $folder_id \
@@ -224,7 +251,11 @@
set categories_limitation {}
}
-db_multirow -extend {label alt_icon icon last_modified_pretty content_size_pretty properties_link properties_url download_link download_url new_version_link new_version_url views categories} contents select_folder_contents {} {
+db_multirow \
+ -extend {label alt_icon icon last_modified_pretty content_size_pretty
+ properties_link properties_url download_link download_url
+ new_version_link new_version_url views categories
+ } contents select_folder_contents {} {
set last_modified_ansi [lc_time_system_to_conn $last_modified_ansi]
set last_modified_pretty [lc_time_fmt $last_modified_ansi "%x %X"]
@@ -305,34 +336,34 @@
}
}
- set properties_url [export_vars -base "${fs_url}file" {{file_id $object_id}}]
+ set properties_url [export_vars -base ${fs_url}file {{file_id $object_id}}]
set new_version_link [_ acs-kernel.common_New]
- set new_version_url [export_vars -base "${fs_url}file-add" {{file_id $object_id}}]
+ set new_version_url [export_vars -base ${fs_url}file-add {{file_id $object_id}}]
set icon "/resources/file-storage/file.gif"
set alt_icon #file-storage.file#
- set file_url "${fs_url}view/${file_url}"
set download_link [_ file-storage.Download]
if {$like_filesystem_p} {
- set download_url [export_vars -base "${fs_url}download/$title" {{file_id $target_object_id}}]
+ set download_url [export_vars -base ${fs_url}download/[ad_urlencode_path $title] {{file_id $target_object_id}}]
set file_url $download_url
} else {
- set download_url [export_vars -base "${fs_url}download/$name" {{file_id $target_object_id}}]
+ set download_url [export_vars -base ${fs_url}download/[ad_urlencode_path $name] {{file_id $target_object_id}}]
+ set file_url ${fs_url}view/${file_url}
}
}
default {
set properties_link [_ file-storage.properties]
- set properties_url [export_vars -base "${fs_url}file" {{file_id $object_id}}]
+ set properties_url [export_vars -base ${fs_url}file {{file_id $object_id}}]
set new_version_link [_ acs-kernel.common_New]
- set new_version_url [export_vars -base "${fs_url}file-add" {{file_id $object_id}}]
+ set new_version_url [export_vars -base ${fs_url}file-add {{file_id $object_id}}]
set icon "/resources/file-storage/file.gif"
set alt_icon "#file-storage.file#"
- set file_url "${fs_url}view/${folder_path}[ad_urlencode ${name}]"
set download_link [_ file-storage.Download]
if {$like_filesystem_p} {
- set file_url [export_vars -base "${fs_url}download/[ad_urlencode $title]" {{file_id $object_id}}]
- set download_url "/file/$object_id/[ad_urlencode $title][file extension $name]"
+ set download_url /file/$object_id/[ad_urlencode_path $title][file extension $name]
+ set file_url [export_vars -base ${fs_url}download/[ad_urlencode_path $title] {{file_id $object_id}}]
} else {
- set download_url "/file/$object_id/[ad_urlencode $name]"
+ set download_url /file/$object_id/[ad_urlencode_path $name]
+ set file_url ${fs_url}view/${folder_path}[ad_urlencode_path $name]
}
}
@@ -343,7 +374,12 @@
} else {
set cat_folder_id $folder_id
}
- set categories [fs::category_links -object_id $object_id -folder_id $cat_folder_id -selected_category_id $category_id -fs_url $fs_url -joinwith "
"]
+ set categories [fs::category_links \
+ -object_id $object_id \
+ -folder_id $cat_folder_id \
+ -selected_category_id $category_id \
+ -fs_url $fs_url \
+ -joinwith "
"]
}
}
@@ -361,6 +397,6 @@
}
if {$content_size_total > 0} {
- set compressed_url [export_vars -base "${fs_url}download-zip" -url {{object_id $folder_id}}]
+ set compressed_url [export_vars -base ${fs_url}download-zip -url {{object_id $folder_id}}]
}
ad_return_template