Index: openacs-4/packages/acs-subsite/www/admin/site-map/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/site-map/index.tcl,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-subsite/www/admin/site-map/index.tcl 18 Apr 2011 17:24:30 -0000 1.27 +++ openacs-4/packages/acs-subsite/www/admin/site-map/index.tcl 27 Oct 2014 16:39:56 -0000 1.28 @@ -9,7 +9,7 @@ {expand:integer,multiple ""} {new_parent:integer ""} {new_type ""} - {root_id:integer ""} + {root_id:naturalnum ""} {new_application:integer ""} {rename_application:integer {}} } @@ -29,7 +29,7 @@ set object_id $node(object_id) if {$object_id ne ""} { - ad_require_permission $object_id admin + permission::require_permission -object_id $object_id -privilege admin } if {$new_parent ne ""} { @@ -42,37 +42,42 @@ set javascript "" } -set parent_link ".?[export_url_vars expand:multiple root_id=$parent_id]" +set parent_link ".?[export_vars -url {expand:multiple {root_id $parent_id}}]" set doc(title) [_ acs-subsite.Site_Map] set context [list $doc(title)] set user_id [ad_conn user_id] set subsite_number [db_string count_subsites "select count(*) from apm_packages where package_key = 'acs-subsite'"] -if {$subsite_number > 100} { +# +# Not sure, what the intentions was to omit all(!) subsites if there +# are more than 100. e.g. http://openacs.org/bugtracker/openacs/bug?bug_number=3174 +# Subsite-omitting is deactivated for the time being. +# +if {0 && $subsite_number > 100} { set too_many_subsites_p 1 - set where_limit "where apm_packages.package_key <> 'acs-subsite'" + set where_limit "where p.package_key <> 'acs-subsite'" } else { set too_many_subsites_p 0 set where_limit "" } db_foreach path_select {} { - if {$node_id != $root_id && $admin_p eq "t"} { - append head [subst {}] + if {$node_id != $root_id && $admin_p == "t"} { + append head [subst {}] } if {$name eq ""} { append head "$obj_name:" } else { append head $name } - if {$node_id != $root_id && $admin_p eq "t"} { + if {$node_id != $root_id && $admin_p == "t"} { append head "" } - if {$directory_p eq "t"} { + if {$directory_p == "t"} { append head "/" } } if_no_rows { @@ -205,21 +210,21 @@ if { [lsearch -exact $open_nodes $parent_id] == -1 && $parent_id ne "" && $mylevel > 2 } { continue } - if {$directory_p eq "t"} { - set add_folder_url "?[export_url_vars expand:multiple root_id node_id new_parent=$node_id new_type=folder]" + if {$directory_p == "t"} { + set add_folder_url "?[export_vars -url {expand:multiple root_id node_id {new_parent $node_id} {new_type folder}}]" if {$object_id eq ""} { - set mount_url "mount?[export_url_vars expand:multiple root_id node_id]" - set new_app_url "?[export_url_vars expand:multiple root_id new_application=$node_id]" + set mount_url "mount?[export_vars -url {expand:multiple root_id node_id}]" + set new_app_url "?[export_vars -url {expand:multiple root_id {new_application $node_id}}]" } else { # This makes sure you can't unmount the thing that is serving the page you're looking at. if {[ad_conn node_id] != $node_id} { - set unmount_url "unmount?[export_url_vars expand:multiple root_id node_id]" + set unmount_url "unmount?[export_vars -url {expand:multiple root_id node_id}]" } # Add a link to control permissioning if {$object_admin_p} { - set permissions_url "../../permissions/one?[export_url_vars object_id]" - set rename_url "?[export_url_vars expand:multiple root_id rename_application=$node_id]" + set permissions_url "../../permissions/one?[export_vars -url {object_id}]" + set rename_url "?[export_vars -url {expand:multiple root_id {rename_application $node_id}}]" set delete_url "instance-delete?package_id=$object_id&root_id=$root_id" } # Is the object a package? @@ -232,7 +237,7 @@ } if {[ad_conn node_id] != $node_id && $n_children == 0 && $object_id eq ""} { - set delete_url "delete?[export_url_vars expand:multiple root_id node_id]" + set delete_url "delete?[export_vars -url {expand:multiple root_id node_id}]" } # use the indent variable to hold current indent level we'll use it later to indent stuff at the end by the amount of the last node @@ -265,7 +270,7 @@ set expand_url "" } - set name_url [export_url_vars expand:multiple root_id=$node_id] + set name_url [export_vars -url {expand:multiple {root_id $node_id}}] set action_type 0 set action_form_part "" @@ -274,7 +279,7 @@ if {$new_application == $node_id} { set action_type "new_app" - set action_form_part "[export_form_vars expand:multiple root_id node_id new_package_id] [apm_application_new_checkbox]" + set action_form_part "[export_vars -form {expand:multiple root_id node_id new_package_id}] [apm_application_new_checkbox]" #Generate a package_id for double click protection set new_package_id [db_nextval acs_object_id_seq] @@ -283,22 +288,22 @@ } } elseif {$rename_application == $node_id} { set action_type "rename_app" - set action_form_part "[export_form_vars expand:multiple root_id node_id rename_package_id]" + set action_form_part "[export_vars -form {expand:multiple root_id node_id rename_package_id}]" } else {} if {$node_id == $new_parent} { set parent_id $new_parent set node_type $new_type set action_type "new_folder" - set action_form_part "[export_form_vars expand:multiple parent_id node_type root_id]" + set action_form_part "[export_vars -form {expand:multiple parent_id node_type root_id}]" } multirow append nodes $node_id $expand_mode $expand_url $indent $name $name_url $object_name $url $package_pretty_name $action_type $action_form_part $add_folder_url $new_app_url $unmount_url $mount_url $rename_url $delete_url $parameters_url $permissions_url "" } -set new_app_form_part_1 [subst {
[export_form_vars expand:multiple]}] +set new_app_form_part_1 [subst {[export_vars -form {expand:multiple}]}] set new_app_form_part_2 "[apm_application_new_checkbox]" set new_app_form_part_3 "
"