Index: openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl,v diff -u -r1.70.2.25 -r1.70.2.26 --- openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl 29 Jul 2021 17:27:33 -0000 1.70.2.25 +++ openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl 19 Oct 2021 17:31:23 -0000 1.70.2.26 @@ -902,7 +902,7 @@ Class create TABLE::BulkAction -superclass ::xo::Drawable -parameter {{CSSclass ""}} TABLE::BulkAction instproc render {} { - set name ${:name} + ns_log notice "TABLE::BulkAction render name = ${:name}" #:msg [:serialize] html::th -class list { html::input -type checkbox -name __bulkaction -id __bulkaction \ @@ -911,7 +911,7 @@ } template::add_body_script -script [subst { document.getElementById('__bulkaction').addEventListener('click', function (event) { - acs_ListCheckAll('$name', this.checked); + acs_ListCheckAll('${:name}', this.checked); }, false); }] } @@ -920,6 +920,8 @@ #:msg [:serialize] set name ${:name} set value [$line set [:id]] + ns_log notice "TABLE::BulkAction render-data name = ${:name}" + html::input -type checkbox -name $name -value $value \ -id "$name---[string map {/ _} $value]" \ -title "Mark/Unmark this row" @@ -929,6 +931,7 @@ -superclass TABLE \ -instproc render-actions {} { set actions [[self]::__actions children] + ns_log notice "TABLE2 has actions: $actions" if {[llength $actions] > 0} { html::div -class "actions" -style "float: left;" { html::ul -style "list-style:none; padding: 10px;" { @@ -938,12 +941,15 @@ } } \ -instproc render {} { + ns_log notice "TABLE2 render" if {![nsf::is object [self]::__actions]} {:actions {}} if {![nsf::is object [self]::__bulkactions]} {:__bulkactions {}} set bulkactions [[self]::__bulkactions children] html::div { :render-actions - if {$bulkactions eq ""} { + ns_log notice "TABLE2 have identifier [[self]::__bulkactions exists __identifier]" + + if {![[self]::__bulkactions exists __identifier]} { html::div -class table { html::table -class ${:css.table-class} {:render-body} } Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -r1.542.2.115 -r1.542.2.116 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 19 Oct 2021 09:42:06 -0000 1.542.2.115 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 19 Oct 2021 17:31:24 -0000 1.542.2.116 @@ -1280,7 +1280,14 @@ ::xo::dc dml delete_tags \ "delete from xowiki_tags where item_id = :item_id and user_id = :user_id" - foreach tag [split $tags " ,;"] { + # + # Map funny characters in tags to white-space. Tags are just + # single words, no quotes are allowed. The resulting tags must be + # compatible with "Package->validate_tag". + # + regsub -all {[^\w.-]+} $tags " " tags + + foreach tag [split $tags " "] { if {$tag ne ""} { ::xo::dc dml insert_tag \ "insert into xowiki_tags (item_id,package_id, user_id, tag, time) \