ad_page_contract {
Themes
@author Gustaf Neumann
@creation-date 2017-01-20
} {
{rename_theme ""}
}
set doc(title) [_ acs-subsite.Themes]
set context [list $doc(title)]
set subsite_node_id [ad_conn subsite_node_id]
list::create \
-name themes \
-multirow themes \
-key key \
-pass_properties rename_theme \
-page_query_name select_themes \
-elements {
edit {
sub_class narrow
display_template {
}
link_url_eval {[export_vars -base view { {theme $key} }]}
link_html { title "#acs-subsite.Edit_this_theme#" }
}
key {
label "[_ acs-subsite.Key]"
}
name {
label "[_ acs-subsite.Name]"
}
usage_count {
label "[_ acs-subsite.Usage]"
html {style "text-align: center;"}
}
active_p {
label "[_ acs-subsite.Active_theme]"
display_template {
}
}
modified_p {
label "[_ acs-subsite.Modified_theme]"
display_template {
Save new
}
}
delete {
sub_class narrow
display_template {
}
link_url_eval {[export_vars -base delete { {theme $key} }]}
link_html { title "#acs-subsite.Delete_this_theme#" }
}
}
set subsite_id [ad_conn subsite_id]
set currentThemeKey [parameter::get -parameter ThemeKey -package_id $subsite_id]
set settings {
template DefaultMaster
css ThemeCSS
js ThemeJS
form_template DefaultFormStyle
list_template DefaultListStyle
list_filter_template DefaultListFilterStyle
dimensional_template DefaultDimensionalStyle
resource_dir ResourceDir
streaming_head StreamingHead
}
set package_keys '[join [subsite::package_keys] ',']'
db_multirow -extend {active_p modified_p delete_p usage_count} themes select_themes {} {
set active_p [expr {$currentThemeKey eq $key}]
set modified_p 0
if {$active_p} {
foreach {var param} $settings {
set default [string trim [set $var]]
set value [string trim [parameter::get -parameter $param -package_id $subsite_id]]
regsub -all {\r\n} $value "\n" value
regsub -all {\r\n} $default "\n" default
set modified_p [expr {$default ne $value}]
if {$modified_p} {
ns_log notice "theme parameter $var differs: default '$default' actual value '$value'"
break
}
}
}
set usage_count [db_string count_theme_usages [subst {
select count(*)
from apm_parameters p, apm_parameter_values v
where p.parameter_name = 'ThemeKey'
and p.package_key in ($package_keys)
and p.parameter_id = v.parameter_id
and v.attr_value = :key
}]]
}
# Local variables:
# mode: tcl
# tcl-indent-level: 4
# indent-tabs-mode: nil
# End: