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.20 -r1.21 --- openacs-4/packages/xowiki/tcl/link-procs.tcl 30 Jan 2007 11:46:55 -0000 1.20 +++ openacs-4/packages/xowiki/tcl/link-procs.tcl 31 Jan 2007 12:29:57 -0000 1.21 @@ -13,7 +13,7 @@ # Class create Link -parameter { - type name lang stripped_name label page + type name lang stripped_name label page folder_id package_id } Link instproc init {} { @@ -81,7 +81,9 @@ # language links # - Class create ::xowiki::Link::language -superclass ::xowiki::Link + Class create ::xowiki::Link::language -superclass ::xowiki::Link -parameter { + return_only + } ::xowiki::Link::language instproc render {} { set page [my page] my instvar lang name package_id @@ -95,11 +97,11 @@ set object_type [[$page info class] set object_type] set link [$package_id make_link $package_id \ edit-new object_type name last_page_id] - - #set link [export_vars -base [$package_id package_url] \ - # {{edit-new 1} object_type name last_page_id}] } - my log "--lang_link=$link" + # my log "--lang_link=$link" + if {[my exists return_only] && [my return_only] ne $css_class} { + set link "" + } if {$link ne ""} { $page lappend lang_links($css_class) \ "" set default_lang [my default_language] if {$lang eq ""} { @@ -112,7 +125,9 @@ # don't compact the the path for images etc. to avoid conflicts with e.g. //../image/* set package_prefix [my package_url] } - if {$lang ne $default_lang || [[self class] exists www-file($name)]} { + set no_language 1 + if {!$no_language && + ($lang ne $default_lang || [[self class] exists www-file($name)])} { return ${host}${package_prefix}${lang}/[ad_urlencode $name]$anchor } else { return ${host}${package_prefix}[ad_urlencode $name]$anchor Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v diff -u -r1.35 -r1.36 --- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 30 Jan 2007 11:46:55 -0000 1.35 +++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 31 Jan 2007 12:29:57 -0000 1.36 @@ -184,12 +184,16 @@ if {[$package_id get_parameter use_connection_locale 0]} { $package_id get_name_and_lang_from_path \ [$package_id set object] req_lang req_local_name - Link create new -destroy_on_cleanup \ - -page [self] -type language -stripped_name $req_local_name \ - -name ${req_lang}:$req_local_name -lang $req_lang \ - -label $req_local_name -folder_id $folder_id \ - -package_id $package_id \ - -init -render + set default_lang [$package_id default_language] + if {$req_lang ne $default_lang} { + set l [Link create new -destroy_on_cleanup \ + -page [self] -type language -stripped_name $req_local_name \ + -name ${default_lang}:$req_local_name -lang $default_lang \ + -label $req_local_name -folder_id $folder_id \ + -package_id $package_id -init \ + -return_only undefined] + $l render + } } foreach i [my array names lang_links] {