Index: openacs-4/packages/xowiki/tcl/link-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/link-procs.tcl,v diff -u -r1.64 -r1.65 --- openacs-4/packages/xowiki/tcl/link-procs.tcl 9 Feb 2009 21:04:17 -0000 1.64 +++ openacs-4/packages/xowiki/tcl/link-procs.tcl 6 Mar 2009 09:03:58 -0000 1.65 @@ -11,7 +11,7 @@ # generic links # Class create BaseLink -parameter { - cssclass href label title target extra_query_parameter {anchor ""} + cssclass href label title target extra_query_parameter {anchor ""} {query ""} } BaseLink instproc mk_css_class {-additional {-default ""}} { @@ -93,7 +93,8 @@ if {$item_id} { $page lappend references [list $item_id [my type]] ::xowiki::Package require $package_id - set href [::$package_id pretty_link -lang [my lang] -anchor [my anchor] [my name]] + set href [::$package_id pretty_link -lang [my lang] \ + -anchor [my anchor] -query [my query] [my name]] my render_found $href [my label] } else { $page incr unresolved_references @@ -111,7 +112,8 @@ set object_type ::xowiki::Page } } - set new_link [$page new_link -name [my name] -title [my label] -nls_language [$page nls_language] $package_id] + set new_link [$page new_link -name [my name] -title [my label] \ + -nls_language [$page nls_language] $package_id] #set href [export_vars -base [$package_id package_url] \ # {{edit-new 1} object_type name title}] Index: openacs-4/packages/xowiki/tcl/package-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/package-procs.tcl,v diff -u -r1.165 -r1.166 --- openacs-4/packages/xowiki/tcl/package-procs.tcl 20 Feb 2009 08:00:49 -0000 1.165 +++ openacs-4/packages/xowiki/tcl/package-procs.tcl 6 Mar 2009 09:03:58 -0000 1.166 @@ -189,6 +189,7 @@ Package ad_instproc pretty_link { {-anchor ""} + {-query ""} {-absolute:boolean false} {-siteurl ""} {-lang ""} @@ -214,6 +215,7 @@ set host [expr {$absolute ? ($siteurl ne "" ? $siteurl : [ad_url]) : ""}] if {$anchor ne ""} {set anchor \#$anchor} + if {$query ne ""} {set query ?$query} #my log "--LINK $lang == $default_lang [expr {$lang ne $default_lang}] $name" set package_prefix [my get_parameter package_prefix [my package_url]] if {$package_prefix eq "/" && [string length $lang]>2} { @@ -231,18 +233,18 @@ # # use the special download (file) syntax # - set url ${host}${package_prefix}download/file/$folder$encoded_name$anchor + set url ${host}${package_prefix}download/file/$folder$encoded_name$query$anchor } elseif {$lang ne $default_lang || [[self class] exists www-file($name)]} { # # If files are physical files in the www directory, add the # language prefix # - set url ${host}${package_prefix}$folder${lang}/$encoded_name$anchor + set url ${host}${package_prefix}$folder${lang}/$encoded_name$query$anchor } else { # # Use the short notation without language prefix # - set url ${host}${package_prefix}$folder$encoded_name$anchor + set url ${host}${package_prefix}$folder$encoded_name$query$anchor } #my msg "final url=$url" return $url 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.335 -r1.336 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 20 Feb 2009 08:00:49 -0000 1.335 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 6 Mar 2009 09:03:58 -0000 1.336 @@ -1176,7 +1176,6 @@ regexp {^([^#]*)(\#|%23)(.*)$} $stripped_name _ stripped_name . anchor # remove query part regexp {^(.*)[?]([^?]+)$} $stripped_name _ stripped_name query - # if we have an empty stripped name, it is a link to the current # page, maybe in a different language @@ -1189,7 +1188,7 @@ if {$lang eq ""} {set lang [my lang]} if {$name eq ""} {set name $lang:$normalized_name} #my msg result=[list name $name lang $lang normalized_name $normalized_name anchor $anchor] - return [list name $name lang $lang normalized_name $normalized_name anchor $anchor] + return [list name $name lang $lang normalized_name $normalized_name anchor $anchor query $query] } Page instproc create_link {arg} { @@ -1290,7 +1289,8 @@ Link create [self]::link \ -page [self] \ - -type $link_type [list -name $(name)] -lang $(lang) [list -anchor $(anchor)] \ + -type $link_type [list -name $(name)] -lang $(lang) \ + [list -anchor $(anchor)] [list -query $(query)] \ [list -stripped_name $(normalized_name)] [list -label $label] \ -parent_id $parent_id -package_id $package_id