Index: openacs-4/packages/theme-selva/tcl/selva-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/theme-selva/tcl/selva-procs.tcl,v
diff -u -r1.5.2.11 -r1.5.2.12
--- openacs-4/packages/theme-selva/tcl/selva-procs.tcl 15 Nov 2006 01:03:01 -0000 1.5.2.11
+++ openacs-4/packages/theme-selva/tcl/selva-procs.tcl 16 Nov 2006 16:35:13 -0000 1.5.2.12
@@ -76,7 +76,7 @@
set navbar "
"
set tabs_list [list]
- set which_tab_selected 0
+ set which_tab_selected -1
set which_tab 0
set home_tab -1
@@ -113,9 +113,18 @@
incr which_tab
}
- # DRB: Presumably we don't care a lot if we lose track of the subnavbar
- # after connection close.
+ # DRB: If we haven't found a tab to select, use the previous value if one
+ # exists, otherwise don't select any tab. Don't write to the database for
+ # performance reasons.
+ if { $which_tab_selected == -1 } {
+ set which_tab_selected [ad_get_client_property dotlrn which_tab_selected]
+ } else {
+ ad_set_client_property -persistent f dotlrn which_tab_selected $which_tab_selected
+ }
+
+ # DRB: Let the subnavbar proc know whether or not the home tab has been selected.
+
ad_set_client_property -persistent f dotlrn home_tab_selected_p \
[expr { $which_tab_selected == $home_tab }]
@@ -127,7 +136,6 @@
ns_log Debug "URL:: $url"
ns_log Debug "CURRENT URL:: $current_url"
ns_log Debug "NAME:: $name"
- # if url is /dotlrn or /dotlrn/index we highlight the "Home" tab, otherwise we highlight the tab with the current_url, if there is one, i.e. we are not in a community
if { $which_tab == $which_tab_selected } {
append navbar "\n- "
#if {$picture != "null" } { append navbar "" }