Index: openacs-4/packages/acs-subsite/acs-subsite.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/acs-subsite.info,v diff -u -N -r1.117.2.22 -r1.117.2.23 --- openacs-4/packages/acs-subsite/acs-subsite.info 2 Sep 2016 17:33:19 -0000 1.117.2.22 +++ openacs-4/packages/acs-subsite/acs-subsite.info 23 Jan 2017 13:16:26 -0000 1.117.2.23 @@ -9,7 +9,7 @@ t t - + OpenACS Subsite 2015-10-04 @@ -18,7 +18,7 @@ GPL 3 - + Index: openacs-4/packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml,v diff -u -N -r1.92.6.3 -r1.92.6.4 --- openacs-4/packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml 1 Jul 2016 09:06:13 -0000 1.92.6.3 +++ openacs-4/packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml 23 Jan 2017 13:16:26 -0000 1.92.6.4 @@ -25,6 +25,7 @@ Your account at %system_name% has been reopened. Welcome back. Account Reopened Action + Active Add Add a group of this type Add a permissible relationship type @@ -144,6 +145,7 @@ Delete selected applications Delete this application Delete this group type + Delete this theme Description Details for Group Type "%group_type_pretty_name%" DevAdmin @@ -255,6 +257,7 @@ Join subsite Join this community Join this subsite + Key Keyword Last name Last name was not provided by the login authority. Please enter your last name. @@ -391,6 +394,7 @@ Members Members only Missing argument + Modified mount Your Account Name @@ -513,6 +517,7 @@ Select Applications If the application is not in the list, you may need to <a href=\"/acs-admin/install/\">install</a> it on the server Select relation type + Select Theme Send email to this user Send me a copy: Services @@ -546,6 +551,7 @@ The name of the new subsite you're setting up Theme theme + Themes This group is closed. New members can only get access by invitation. This group type can only be administered by programmers This should be a short string, all lowercase, with hyphens instead of spaces, whicn will be used in the URL of the new application. If you leave this blank, we will generate one for you from name of the application. Index: openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl,v diff -u -N -r1.44.2.11 -r1.44.2.12 --- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 5 Jul 2016 12:10:52 -0000 1.44.2.11 +++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 23 Jan 2017 13:16:26 -0000 1.44.2.12 @@ -843,7 +843,7 @@ } - -ad_proc -public subsite::save_theme_parameters_as_default { +ad_proc -public subsite::save_theme_parameters { -subsite_id -theme } { @@ -885,7 +885,47 @@ } +ad_proc -public subsite::save_theme_parameters_as { + -subsite_id + -theme:required + -pretty_name:required +} { + Save the actual theming parameter for the given/current subsite + under a new name. + @param subsite_id Id of the subsite + @param theme Name of the theme (theme key) + @param pretty_theme Pretty Name (of the theme) + + @author Gustaf Neumann +} { + + if { ![info exists subsite_id] } { + set subsite_id [ad_conn subsite_id] + } + + set exists_p [db_string get_theme_name {select 1 from subsite_themes where key = :theme} -default 0] + if {$exists_p} { + error "subsite theme with key $theme exists already" + } + + subsite::new_subsite_theme \ + -key $theme \ + -name $pretty_name \ + -template [parameter::get -parameter DefaultMaster -package_id $subsite_id] \ + -css [parameter::get -parameter ThemeCSS -package_id $subsite_id] \ + -js [parameter::get -parameter ThemeJS -package_id $subsite_id] \ + -form_template [parameter::get -parameter DefaultFormStyle -package_id $subsite_id] \ + -list_template [parameter::get -parameter DefaultListStyle -package_id $subsite_id] \ + -list_filter_template [parameter::get -parameter DefaultListFilterStyle -package_id $subsite_id] \ + -dimensional_template [parameter::get -parameter DefaultDimensionalStyle -package_id $subsite_id] \ + -resource_dir [parameter::get -parameter ResourceDir -package_id $subsite_id] \ + -streaming_head [parameter::get -parameter StreamingHead -package_id $subsite_id] + +} + + + ad_proc -public subsite::get_theme { -subsite_id } { @@ -952,6 +992,8 @@ } } + + ad_proc -public subsite::delete_subsite_theme { -key:required } { Index: openacs-4/packages/acs-subsite/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/index.adp,v diff -u -N -r1.29.2.5 -r1.29.2.6 --- openacs-4/packages/acs-subsite/www/admin/index.adp 18 Jan 2017 08:05:59 -0000 1.29.2.5 +++ openacs-4/packages/acs-subsite/www/admin/index.adp 23 Jan 2017 13:16:26 -0000 1.29.2.6 @@ -5,6 +5,7 @@
  • #acs-subsite.Applications#
  • #acs-subsite.Configure#
  • +
  • #acs-subsite.Themes#
  • #acs-subsite.Permissions#
  • #acs-subsite.Members#
  • #acs-subsite.Parameters#
  • Index: openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/delete.tcl 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,20 @@ +ad_page_contract { + Delete the theme with the specified key + + @author Gustaf Neumann + @creation-date 2017-01-20 +} { + theme:trim +} -validate { + new_key_valid -requires new_key { + if {![db_string check_exists_theme { + select 1 from subsite_themes where key = :theme + } -default 0]} { + ad_complain "Theme with key '$theme' does not exist" + } + } +} + +subsite::delete_subsite_theme -key $theme + +ns_returnredirect "." Index: openacs-4/packages/acs-subsite/www/admin/themes/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/index.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/index.adp 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,15 @@ + + @page_title;literal@ + @context;literal@ + +

    Available Themes

    +

    The following themes are available in your installation:

    + + + +

    To perform customizations, one can modify the theme +parameters of the currently selected theme and save it under a new +name.

    + +

    When a theme originating from a theming package is deleted, it might +ne recreated via the after_install callback of that package.

    Index: openacs-4/packages/acs-subsite/www/admin/themes/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/index.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/index.tcl 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,107 @@ +ad_page_contract { + Themes + + @author Gustaf Neumann + @creation-date 2017-01-20 +} { + {rename_theme ""} +} + +set page_title [_ acs-subsite.Themes] +set context [list $page_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 { + + key { + label "[_ acs-subsite.Key]" + } + name { + label "[_ acs-subsite.Name]" + } + active_p { + label "[_ acs-subsite.Active_theme]" + display_template { + + #acs-subsite.Modified_theme# + + + + #acs-subsite.Select_theme# + + + } + } + modified_p { + label "[_ acs-subsite.Modified_theme]" + display_template { + + +
    +
    + +
    + +
    +
    +
    +
    + + #acs-subsite.Modified_theme# + Save new + +
    + } + } + delete { + sub_class narrow + display_template { + + #acs-subsite.Delete_this_theme# + + } + 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 +} + +db_multirow -extend {active_p modified_p} themes select_themes {} { + set active_p [expr {$currentThemeKey eq $key}] + set modified_p 0 + if {$active_p} { + foreach {var param} $settings { + set modified_p [expr {[set $var] ne [parameter::get -parameter $param -package_id $subsite_id]}] + if {$modified_p} { + break + } + } + } +} + + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: Index: openacs-4/packages/acs-subsite/www/admin/themes/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/index.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/index.xql 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,12 @@ + + + + postgresql7.1 + + + + select * from subsite_themes + + + + \ No newline at end of file Index: openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/save-new.tcl 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,31 @@ +ad_page_contract { + Save current settings as a theme with a new key and name + + @author Gustaf Neumann + @creation-date 2017-01-20 +} { + new_theme:word,trim + new_name:trim +} -validate { + new_theme_valid -requires new_theme { + if {[db_string check_exists_theme { + select 1 from subsite_themes where key = :new_theme + } -default 0]} { + ad_complain "Theme with key '$new_theme' exists already" + } + } +} + +# +# Save the current setting under a new name +# +subsite::save_theme_parameters_as \ + -theme $new_theme \ + -pretty_name $new_name + +# +# ... and actiate the new theme automatically +# +subsite::set_theme -theme $new_theme + +ns_returnredirect "." Index: openacs-4/packages/acs-subsite/www/admin/themes/set.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/themes/set.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-subsite/www/admin/themes/set.tcl 23 Jan 2017 13:16:26 -0000 1.1.2.1 @@ -0,0 +1,20 @@ +ad_page_contract { + Set the theme to the specified key + + @author Gustaf Neumann + @creation-date 2017-01-20 +} { + theme:trim +} -validate { + new_key_valid -requires new_key { + if {![db_string check_exists_theme { + select 1 from subsite_themes where key = :theme + } -default 0]} { + ad_complain "Theme with key '$theme' does not exist" + } + } +} + +subsite::set_theme -theme $theme + +ns_returnredirect "."