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.59 -r1.60
--- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 8 Dec 2006 16:01:51 -0000 1.59
+++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 9 Dec 2006 10:53:29 -0000 1.60
@@ -589,31 +589,36 @@
return $ch$page
} else {
- # we have a direct (adp-less include)
my instvar package_id
+ # we have a direct (adp-less include)
+ # Some browsers change {{cmd -flag "..."}} into {{cmd -flag "..."}}
+ # We have to change this back
+ regsub -all {([^\\])"} $arg "\\1\"" arg
+
+ # do we have a wellformed list?
if {[catch {set page_name [lindex $arg 0]} errMsg]} {
- my log "--S arg='$arg'"
+ #my log "--S arg='$arg'"
# there is something syntactically wrong
return "${ch}Error in '{{$arg}}' in [my set name]
\n\
Syntax: <name of portlet> {<argument list>}
\n
Invalid argument list: '$arg'; must be attribute value pairs (attribues with dashes)"
}
+ # the include is either a portlet class, or a wiki page
if {[my isclass ::xowiki::portlet::$page_name]} {
# direct call, without page, not tailorable
set page [::xowiki::portlet::$page_name new \
-package_id $package_id \
-name $page_name \
-actual_query [::xo::cc actual_query]]
} else {
- # we include a page, tailorable
+ # we include a wiki page, tailorable
set page [$package_id resolve_page $page_name __m]
catch {$page set __decoration portlet}
}
if {$page ne ""} {
$page destroy_on_cleanup
$page set __including_page [self]
- regsub -all {([^\\])"} [lrange $arg 1 end] {\1\"} parameters
- $page set __caller_parameters $parameters
+ $page set __caller_parameters [lrange $arg 1 end]
#$page set __decoration portlet
foreach {att value} [$page set __caller_parameters] {
switch -- $att {