Index: openacs-4/packages/acs-admin/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/index.tcl,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-admin/www/index.tcl 27 Oct 2014 16:38:51 -0000 1.16 +++ openacs-4/packages/acs-admin/www/index.tcl 7 Aug 2017 23:47:45 -0000 1.17 @@ -7,37 +7,30 @@ set page_title [ad_conn instance_name] set package_keys '[join [subsite::package_keys] ',']' -set subsite_number [db_string count_subsites {}] -if {$subsite_number > 100} { - set too_many_subsites_p 1 -} else { - set too_many_subsites_p 0 +set subsite_number [db_string count_subsites [subst { + select count(p.package_id) from apm_packages p, site_nodes s + where package_key in ($package_keys) + and s.object_id = p.package_id +}]] - db_multirow -extend { admin_url path_pretty } subsites subsite_admin_urls {} { - set admin_url "${node_url}admin/" - set path_pretty $instance_name - array set node [site_node::get -node_id $node_id] - set parent_id $node(parent_id) - - while { $parent_id ne "" } { - array unset node - array set node [site_node::get -node_id $parent_id] - set path_pretty "$node(instance_name) > $path_pretty" - set parent_id $node(parent_id) - } - } - multirow sort subsites path_pretty -} - db_multirow -extend { admin_url global_param_url } packages installed_packages {} { - if { [apm_package_installed_p $package_key] && [file exists "[acs_package_root_dir $package_key]/www/sitewide-admin/"] } { + set package_type [db_string get_package_type { + select package_type from apm_package_types + where package_key = :package_key + }] + if { + [apm_package_installed_p $package_key] + && $package_type ne "apm_service" + && [file exists "[acs_package_root_dir $package_key]/www/sitewide-admin/"] + } { set admin_url "package/$package_key/" } else { set admin_url "" } - if { [catch {db_1row global_params_exist {}} errmsg] || - $global_params == 0 } { - set global_param_url "" + if { ![db_0or1row global_params_exist {}] + || $global_params == 0 + } { + set global_param_url "" } else { set return_url [ad_conn url] set global_param_url [export_vars -base /shared/parameters {package_key return_url {scope global}}] @@ -53,17 +46,28 @@ -elements { pretty_name { label "Package" + html {align left} } admin_url { label "Site-Wide Administration" link_html { title "Site-wide Administration" } link_url_col admin_url display_template {#acs-admin.Administration#} + html {align left} } global_param_url { label "Global Parameters" link_html {title "Manage Global Parameters" } link_url_col global_param_url display_template {#acs-admin.Parameters#} + html {align left} } } + +# +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: +