subsite::get_pageflow_struct (public)
subsite::get_pageflow_struct [ -url url ]
Defined in packages/acs-subsite/tcl/subsite-procs.tcl
Defines the page flow structure.
- Switches:
- -url (optional)
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: # This is where the page flow structure is defined set subsections [list] lappend subsections home { label "Home" url "" } set pageflow [list] if {$url eq ""} { set subsite_url [subsite::get_element -element url] } else { set subsite_url $url } set subsite_id [ad_conn subsite_id] array set subsite_sitenode [site_node::get -url $subsite_url] set subsite_node_id $subsite_sitenode(node_id) set index_redirect_url [parameter::get -parameter "IndexRedirectUrl" -package_id $subsite_id] set child_urls [lsort -ascii [site_node::get_children -node_id $subsite_node_id -package_type apm_application]] if { $index_redirect_url eq "" } { lappend pageflow home { label "Home" folder "" url "" selected_patterns { "" "subsites" } } } else { # See if the redirect-url to a package inside this subsite for { set i 0 } { $i < [llength $child_urls] } { incr i } { array set child_node [site_node::get_from_url -exact -url [lindex $child_urls $i]] if { $index_redirect_url eq $child_node(url) || ${index_redirect_url}/ eq $child_node(url)} { lappend pageflow $child_node(name) [list label "Home" folder $child_node(name) url {} selected_patterns *] set child_urls [lreplace $child_urls $i $i] break } } } set user_id [ad_conn user_id] set admin_p [permission::permission_p -object_id [site_node::closest_ancestor_package -include_self -package_key [subsite::package_keys] -url [ad_conn url]] -privilege admin -party_id [ad_conn untrusted_user_id]] set show_member_list_to [parameter::get -parameter "ShowMembersListTo" -package_id $subsite_id -default 2] if { $admin_p || ($user_id != 0 && $show_member_list_to == 1) || $show_member_list_to == 0 } { lappend pageflow members { label "Members" folder "members" selected_patterns {*} } } foreach child_url $child_urls { array set child_node [site_node::get_from_url -exact -url $child_url] lappend pageflow $child_node(name) [list label $child_node(instance_name) folder $child_node(name) url {} selected_patterns *] } if { $admin_p } { lappend pageflow admin { label "Administration" url "admin/configure" selected_patterns { admin/* shared/parameters } subsections { configuration { label "Configuration" url "admin/configure" } applications { label "Applications" folder "admin/applications" url "" selected_patterns { * } } subsite_add { label "New Subsite" url "admin/subsite-add" } permissions { label "Permissions" url "admin/permissions" selected_patterns { permissions* } } parameters { label "Parameters" url "shared/parameters" } advanced { label "Advanced" url "admin/." selected_patterns { site-map/* groups/* group-types/* rel-segments/* rel-types/* host-node-map/* object-types/* } } } } } return $pageflowXQL Not present: Generic PostgreSQL XQL file: packages/acs-subsite/tcl/subsite-procs-postgresql.xql
Oracle XQL file: packages/acs-subsite/tcl/subsite-procs-oracle.xql