Index: openacs-4/packages/acs-lang/tcl/locale-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/locale-procs.tcl,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-lang/tcl/locale-procs.tcl 10 Jan 2007 21:22:04 -0000 1.35 +++ openacs-4/packages/acs-lang/tcl/locale-procs.tcl 21 Oct 2008 17:19:05 -0000 1.36 @@ -290,10 +290,9 @@ } # For all the users with a user_id of 0 don't cache. - # MS: WHY ON EARTH ? - # if { $user_id == 0} { - # return [lang::user::site_wide_locale_not_cached $user_id] - # } + if { $user_id == 0} { + return [lang::user::site_wide_locale_not_cached $user_id] + } # Cache for the lifetime of sessions (7 days) return [util_memoize [list lang::user::site_wide_locale_not_cached $user_id] [sec_session_timeout]] @@ -305,18 +304,17 @@ Get the user's preferred site wide locale. } { set system_locale [lang::system::site_wide_locale] + if { $user_id == 0 } { - set locale [ad_get_cookie "ad_locale"] - if { $locale eq "" } { - set locale $system_locale - } - return $locale + set locale [ad_get_cookie "ad_locale"] } else { - # MS: This is a bug, as the returned value is different whether - # you give it a user_id or not. WHY EVER this was done. - - return [db_string get_user_site_wide_locale {} -default "$system_locale"] + set locale [db_string get_user_site_wide_locale {} -default "$system_locale"] } + + if { $locale eq "" } { + set locale $system_locale + } + return $locale } ad_proc -public lang::user::locale {