Index: openacs-4/packages/dotlrn/www/dotlrn-master.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn/www/dotlrn-master.tcl,v
diff -u -r1.13 -r1.14
--- openacs-4/packages/dotlrn/www/dotlrn-master.tcl 18 Nov 2002 13:42:08 -0000 1.13
+++ openacs-4/packages/dotlrn/www/dotlrn-master.tcl 4 Dec 2002 09:51:04 -0000 1.14
@@ -1,4 +1,3 @@
-#
# Copyright (C) 2001, 2002 MIT
#
# This file is part of dotLRN.
@@ -14,7 +13,7 @@
# details.
#
#
-# /www/dotlrn-master.tcl
+# /www/dotlrn-default-master.tcl
#
# This is the "default-master" template for dotlrn sites.
#
@@ -43,138 +42,202 @@
#
# $Id$
-ad_page_contract {
- Q: What is this file?
+set user_id [ad_get_user_id]
+set community_id [dotlrn_community::get_community_id]
+set dotlrn_url [dotlrn::get_url]
- A: This is the master template for dotlrn. It sets up the navbar and
- dynamically generates a CSS file for the dotlrn banner color, font, header
- image, and the portal themes.
+#Scope Related graphics/css parameters
- Q: How do I use this file?
+# Set everything for user level scope as default then modify it later as we refine the scope.
+set scope_name "user"
+set scope_main_color "#003366"
+set scope_header_color "#6DB2C9"
+set scope_highlight_text "white"
+set scope_z_dark "#C9D7DC"
+set scope_z_light "#EAF0F2"
+set scope_light_border "#DDEBF5"
+set help_url "[dotlrn::get_url]/control-panel"
+set header_font "Arial, Helvetica, sans-serif"
+set header_font_size "medium"
+set header_font_color "black"
+set header_logo_item_id ""
+set header_img_url "/graphics/logo"
+set header_img_alt_text "Header Logo"
- A: This template is meant to replace your OpenACS default-master template.
-
- To do this change the "Main Site"'s "DefaultMaster" parameter
- from "/www/default-master" to "/packages/dotlrn/www/dotlrn-master"
- at http://yoursite.com/admin/site-map
+set extra_spaces ""
+set td_align "align=\"center\" valign=\"top\""
- Q: Do I have to replace my site's default-master template with this
- one for dotlrn to work?
- A: Yes
+if {[dotlrn::user_p -user_id $user_id]} {
+ set portal_id [dotlrn::get_portal_id -user_id $user_id]
+}
- Q: How do I customize the banner, images, CSS, etc?
+if {![empty_string_p $community_id]} {
+ set have_comm_id_p 1
+} else {
+ set have_comm_id_p 0
+}
- A: You can change the default banner and generated CSS by editing this template
- and the associated ADP.
+if {[exists_and_not_null portal_id]} {
+ set have_portal_id_p 1
+} else {
+ set have_portal_id_p 0
+}
- WARNING: Some portal themes depend on the CSS generated below. Be careful when
- you edit the CSS below and check that the portal theme has not broken.
+# navbar vars
+set show_navbar_p 1
+if {[exists_and_not_null no_navbar_p] && $no_navbar_p} {
+ set show_navbar_p 0
+}
- @author arjun (arjun@openforce.net)
- @version $Id$
-
+if {![info exists link_all]} {
+ set link_all 0
}
-#
-# Set up some basic vars
-#
-set user_id [ad_get_user_id]
-set dotlrn_url [dotlrn::get_url]
-set dotlrn_graphics_url "/graphics"
-
-#
-# Get passed in properties
-#
-
-# title - if passed in appends it to the default title
-set default_title "dotLRN"
-
-if {![info exists title]} {
- set title $default_title
+if {![info exists return_url]} {
+ set link [ad_conn -get extra_url]
} else {
- set title "$default_title : $title"
+ set link $return_url
}
-# no_navbar_p - a property to turn off the navbar, not currently used
-if {![info exists no_navbar_p]} {
- set no_navbar_p 0
-}
-# link_control_panel - a special property used by "control-panel" pages
if {![info exists link_control_panel]} {
set link_control_panel 1
}
-#
-# navbar generation
-#
-if {!$no_navbar_p} {
+if {![info exists control_panel_text]} {
+ set control_panel_text "Control Panel"
+}
+
+if {$have_comm_id_p} {
+ # get this comm's info
+ set portal_id [dotlrn_community::get_portal_id -community_id $community_id]
+ set text [dotlrn_community::get_community_header_name $community_id]
+ set link [dotlrn_community::get_community_url $community_id]
+ set admin_p [dotlrn::user_can_admin_community_p -user_id $user_id -community_id $community_id]
+
+ if {[empty_string_p $portal_id] && !$admin_p } {
+ # not a member yet
+ set portal_id [dotlrn_community::get_non_member_portal_id -community_id $community_id]
+ }
+
+ if { $have_portal_id_p && $show_navbar_p } {
+ set make_navbar_p 1
+
+ } else {
+ set make_navbar_p 0
+ set portal_id ""
+ }
+} elseif {[parameter::get -parameter community_type_level_p] == 1} {
+ set extra_td_html ""
+ set link_all 1
+ set link [dotlrn::get_url]
+ # in a community type
+ set text \
+ [dotlrn_community::get_community_type_name [dotlrn_community::get_community_type]]
+
+ if {$have_portal_id_p && $show_navbar_p} {
+ set make_navbar_p 1
+ } else {
+ set make_navbar_p 0
+ set portal_id ""
+ }
+} else {
+ # we could be anywhere (maybe under /dotlrn, maybe not)
+ set link "[dotlrn::get_url]/"
+ set community_id ""
+ set text ""
+ set make_navbar_p 1
+ if {$have_portal_id_p && $show_navbar_p} {
+ } else {
+ set make_navbar_p 0
+ set portal_id ""
+ }
+}
+
+if { $make_navbar_p } {
+ if {$link_control_panel} {
+ set link_control_panel 1
+ } else {
+ set link_control_panel 0
+ }
+ set extra_spaces ""
set navbar [dotlrn::portal_navbar \
-user_id $user_id \
-link_control_panel $link_control_panel \
- -control_panel_text [_ "dotlrn.control_panel"]
+ -control_panel_text [_ "dotlrn.control_panel"] \
+ -pre_html "$extra_spaces" \
+ -post_html $extra_spaces \
+ -link_all $link_all
]
} else {
set navbar "
"
}
-# the ColorHack and FontHack and LogoHack!
-set color_hack "#cc0000"
-set color_hack_name "red"
-set color_1pixel "/shared/1pixel.tcl?[export_vars { { r 204 } { g 0 } { b 0 }}]"
+# Set up some basic stuff
+set user_id [ad_get_user_id]
+set full_name "[dotlrn::get_user_name $user_id]"
-set header_font ""
-set header_font_size "medium"
-set header_font_color "black"
-set header_logo_item_id ""
-set header_img_url "$dotlrn_graphics_url/dotlrn.gif"
-set header_img_alt_text [_ "dotlrn.header_logo"]
+if {![exists_and_not_null title]} {
+ set title "SloanSpace"
+}
-
-# gets the package_id for the passed in dotlrn instace,
-# if the community_id is invalid, returns the pacakge_id of the
-# main dotlrn instance ???
-set community_id [dotlrn_community::get_community_id]
-set package_id [dotlrn_community::get_package_id $community_id]
-
-if {[empty_string_p [dotlrn_community::get_parent_community_id -package_id $package_id]]} {
+if {[empty_string_p [dotlrn_community::get_parent_community_id -package_id [ad_conn package_id]]]} {
set parent_comm_p 0
} else {
set parent_comm_p 1
}
-# in a community or just under one in a mounted package like /calendar
-if {[parameter::get -package_id $package_id -parameter community_level_p] == 1 || $parent_comm_p } {
- set community_id [dotlrn_community::get_community_id]
-
- # color hack
+set community_id [dotlrn_community::get_community_id]
+
+if {![empty_string_p $community_id]} {
+ # in a community or just under one in a mounted package like /calendar
+ set comm_type [dotlrn_community::get_community_type_from_community_id $community_id]
+
if {[dotlrn_community::subcommunity_p -community_id $community_id]} {
- set color_hack "#663366"
- set color_hack_name "purple"
- set color_1pixel "/shared/1pixel.tcl?[export_vars { { r 153 } { g 102 } { b 153 }}]"
+ #The colors for a subgroup are set by the parent group with a few overwritten.
+ set comm_type [dotlrn_community::get_community_type_from_community_id [dotlrn_community::get_parent_id -community_id $community_id]]
+ }
+
+ if {$comm_type == "dotlrn_club"} {
+ #community colors
+ set scope_name "comm"
+ set scope_main_color "#CC6633"
+ set scope_header_color "#F48F5C"
+ set scope_z_dark "#FFDDB0"
+ set scope_z_light "#FFF2E2"
+ set scope_light_border "#E7B59C"
+ if {[dotlrn_community::subcommunity_p -community_id $community_id]} {
+ set scope_z_dark "#FFDDB0"
+ set scope_z_light "#FFF2E2"
+ }
} else {
- set comm_type \
- [dotlrn_community::get_community_type_from_community_id $community_id]
- if {$comm_type == "dotlrn_club"} {
- set color_hack "#006666"
- set color_hack_name "green"
- set color_1pixel "/shared/1pixel.tcl?[export_vars { { r 0 } { g 102 } { b 102 }}]"
- } else {
- set color_hack "#6699cc"
- set color_hack_name "blue"
- set color_1pixel "/shared/1pixel.tcl?[export_vars { { r 102 } { g 153 } { b 204 }}]"
- }
+ set scope_name "course"
+ set scope_main_color "#6C9A83"
+ set scope_header_color $scope_main_color
+ set scope_z_dark "#CDDED5"
+ set scope_z_light "#E6EEEA"
+ set scope_light_border "#D0DFD9"
+ if {[dotlrn_community::subcommunity_p -community_id $community_id]} {
+ set scope_z_dark "#D0DFD9"
+ set scope_z_light "#ECF3F0"
+ }
}
+
+ set header_img_url "$header_img_url-$scope_name.gif"
# font hack
- set header_font [dotlrn_community::get_attribute \
+ set community_header_font [dotlrn_community::get_attribute \
-community_id $community_id \
-attribute_name header_font
]
- append header_font ", "
+ if {![empty_string_p $community_header_font]} {
+ set header_font "$community_header_font,$header_font"
+ }
+
+
set header_font_size [dotlrn_community::get_attribute \
-community_id $community_id \
-attribute_name header_font_size
@@ -193,9 +256,11 @@
if {![empty_string_p $header_logo_item_id]} {
- set header_img_url "community-image?revision_id=$header_logo_item_id"
- }
-
+ # Need filename
+ set header_img_url "[dotlrn_community::get_community_url $community_id]/file-storage/download/?version_id=$header_logo_item_id"
+ }
+
+
set header_logo_alt_text [dotlrn_community::get_attribute \
-community_id $community_id \
-attribute_name header_logo_alt_text
@@ -208,13 +273,14 @@
# The header text is the name of the community
set text [dotlrn_community::get_community_header_name $community_id]
-} elseif {[parameter::get -package_id $package_id -parameter community_type_level_p] == 1} {
+} elseif {[parameter::get -parameter community_type_level_p] == 1} {
# in a community type
set text \
[dotlrn_community::get_community_type_name [dotlrn_community::get_community_type]]
} else {
# under /dotlrn
- set text "[dotlrn::get_user_name $user_id]"
+ set header_img_url "$header_img_url-$scope_name.gif"
+ set text $full_name
}
if { ![info exists header_stuff] } {
@@ -225,87 +291,258 @@
append header_stuff "
-
+
"
# Developer-support support
@@ -321,18 +558,6 @@
set ds_link {}
}
-set change_locale_url "/acs-lang/?package_id=[ad_conn package_id]"
+set color_1pixel "/shared/1pixel.tcl?[export_vars { { r 204 } { g 0 } { b 0 }}]"
-multirow create body_attributes key value
-
-if { [exists_and_not_null focus] } {
- # Handle elements wohse name contains a dot
- regexp {^([^.]*)\.(.*)$} $focus match form_name element_name
-
- multirow append \
- body_attributes onload "javascript:document.forms\['${form_name}'\].elements\['${element_name}'\].focus()"
-}
-
-ad_return_template
-
-
+set change_locale_url "/acs-lang/?[export_vars { { package_id "[ad_conn package_id]" } }]"