Index: openacs-4/packages/acs-lang/tcl/lang-message-procs-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs-oracle.xql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-lang/tcl/lang-message-procs-oracle.xql 21 Oct 2002 11:39:12 -0000 1.2
+++ openacs-4/packages/acs-lang/tcl/lang-message-procs-oracle.xql 12 Nov 2002 22:34:19 -0000 1.3
@@ -21,4 +21,17 @@
+
+
+ select message
+ from lang_messages
+ where message_key = :message_key
+ and package_key = :package_key
+ and rownum = 1
+
+
+
+
+
+
Index: openacs-4/packages/acs-lang/tcl/lang-message-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs-postgresql.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-lang/tcl/lang-message-procs-postgresql.xql 1 Nov 2002 21:35:15 -0000 1.3
+++ openacs-4/packages/acs-lang/tcl/lang-message-procs-postgresql.xql 12 Nov 2002 22:34:19 -0000 1.4
@@ -19,4 +19,14 @@
+
+
+ select message
+ from lang_messages
+ where message_key = :message_key
+ and package_key = :package_key
+ limit 1
+
+
+
Index: openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl 12 Nov 2002 15:33:15 -0000 1.12
+++ openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl 12 Nov 2002 22:34:19 -0000 1.13
@@ -64,13 +64,16 @@
}
if { $key_exists_p } {
- # The message key exists so we are assuming the en_US version
- # of the message has already been registered, also it looks like
- # the message contains variables - check that any suc variables are
- # unchanged from the existing en_US message
+ # The message key exists so register has been invoked before with
+ # this key. Check that embedded variables are unchanged in the new message.
- # Get the current en_US message from the cache
- set existing_en_us_message [nsv_get lang_message_en_US $key]
+ # Attempt to get the en_US message from the cache, or get a message
+ # in any locale from the database for variable comparison
+ if { [nsv_exists lang_message_en_us $key] } {
+ set existing_en_us_message [nsv_get lang_message_en_US $key]
+ } else {
+ set existing_en_us_message [db_string select_an_existing_message {}]
+ }
set missing_vars_list [get_missing_embedded_vars $existing_en_us_message $message]
if { [llength $missing_vars_list] != 0 } {
@@ -286,8 +289,7 @@
if { [empty_string_p $locale] } {
# No locale provided
- global ad_conn
- if { [info exists ad_conn] } {
+ if { [ad_conn isconnected] } {
# We are in an HTTP connection (request) so use that locale
set locale [ad_conn locale]
} else {
@@ -305,7 +307,7 @@
}
if { [lang::util::translator_mode_p] } {
- # Translator mode - set uo translate_url
+ # Translator mode - set up translate_url
set key_split [split $key "."]
set package_key_part [lindex $key_split 0]
@@ -315,7 +317,8 @@
append return_url "?[export_entire_form_as_url_vars]"
}
- set translate_url /acs-lang/admin/edit-localized-message?[export_vars { { message_key $message_key_part } { locales $locale } { package_key $package_key_part } return_url }]
+ # return_url is already encoded and HTML quoted
+ set translate_url "/acs-lang/admin/edit-localized-message?[export_vars { { message_key $message_key_part } { locales $locale } { package_key $package_key_part } return_url }]"
}
if { [nsv_exists lang_message_$locale $key] } {
@@ -329,7 +332,7 @@
if { [lang::util::translator_mode_p] } {
# Translator mode - return a translation link
- append return_value "o"
+ append return_value "o"
}
} else {
@@ -356,9 +359,7 @@
}
- set return_value "$us_text*"
- # set return_value " $message_key_part - TRANSLATE "
-
+ set return_value "$us_text*"
}
} {