Index: openacs-4/packages/acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml,v diff -u -r1.23.6.3 -r1.23.6.4 --- openacs-4/packages/acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml 24 Jun 2015 06:21:25 -0000 1.23.6.3 +++ openacs-4/packages/acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml 24 Jun 2015 06:54:00 -0000 1.23.6.4 @@ -46,6 +46,7 @@ %name% is not a valid SQL identifier %name% is not an integer %name% contains non-word characters + %name% contains invalid characters %name% is not in the range [%min%, %max%] %name% is too long. Please enter a value of at most %max_length% characters long. The value you entered is %actual_length% characters long. This string looks broken! Index: openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl,v diff -u -r1.30.2.16 -r1.30.2.17 --- openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl 24 Jun 2015 06:21:25 -0000 1.30.2.16 +++ openacs-4/packages/acs-tcl/tcl/tcl-documentation-procs.tcl 24 Jun 2015 06:54:00 -0000 1.30.2.17 @@ -1998,11 +1998,24 @@ return 0 } +ad_page_contract_filter word+ { name value } { + Checks whether the value is a Tcl word, or some more + rather safe characters. + @author Gustaf Neumann + @creation-date 24 June 2015 +} { + if {[regexp {^[\w,-]+$} $value]} { + return 1 + } + ad_complain [_ acs-tcl.lt_name_contains_invalid] + return 0 +} + #################### # # Standard filter rules