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 -N -r1.11 -r1.12 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 3 Feb 2006 22:17:41 -0000 1.11 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 8 Feb 2006 13:33:20 -0000 1.12 @@ -236,7 +236,7 @@ $data render_adp false $data render -update_references } - my set submit_link pages/[ad_urlencode [$data lang]:[$data set title]]? + my set submit_link pages/[$data lang]/[ad_urlencode [$data set title]]? } WikiForm instproc new_data {} { @@ -591,10 +591,10 @@ if {[regexp {^:(..):(.*)$} $link _ lang stripped]} { set lang_item_id [CrItem lookup \ -title $lang:$stripped -parent_id $parent_id] - my log "lang lookup for '$lang:$stripped' returned $lang_item_id" + #my log "lang lookup for '$lang:$stripped' returned $lang_item_id" if {$lang_item_id} { set css_class "found" - set link ./[ad_urlencode $lang:$stripped] + set link ../$lang/[ad_urlencode $stripped] #set link [export_vars -base view {{item_id $lang_item_id}}] } else { set css_class "undefined" @@ -608,18 +608,20 @@ } set link_type link regexp {^([^:]+):([^:]+:.*)$} $link _ link_type link - if {[regexp {^..:(.*)$} $link _ stripped_label]} { - if {$label eq $arg} {set label $stripped_label} + if {[regexp {^(..):(.*)$} $link _ lang stripped_name]} { + if {$label eq $arg} {set label $stripped_name} + set name $link } { - set link [my lang]:$link + set stripped_name $link + set name [my lang]:$link + set lang [my lang] } - set item_id [::Generic::CrItem lookup \ - -title $link -parent_id $parent_id] + set item_id [::Generic::CrItem lookup -title $name -parent_id $parent_id] if {$item_id} { my lappend references [list $item_id $link_type] #set link [export_vars -base view {item_id}] #return "$label" - return "$label" + return "$label" } else { my incr unresolved_references set link [export_vars -base ../edit {object_type {title $label}}] @@ -638,8 +640,11 @@ foreach e $l { #set link [export_vars -base view {{item_id {[lindex $e 0]}}}] set link [lindex $e 1] - if {[string range $link 0 2] eq "[my lang]:"} {set link [string range $link 3 end]} - lappend refs "$link" + if {[regexp {^(..):(.*)$} $link _ lang name]} { + lappend refs "$link" + } else { + lappend refs "$link" + } } return [join $refs ", "] } Index: openacs-4/packages/xowiki/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/index.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/xowiki/www/index.tcl 30 Jan 2006 02:04:51 -0000 1.8 +++ openacs-4/packages/xowiki/www/index.tcl 8 Feb 2006 13:33:21 -0000 1.9 @@ -82,10 +82,15 @@ -with_subtypes $with_subtypes \ -order_clause $order_clause \ ] { + if {[regexp {^(..):(.*)$} $title _ lang name]} { + set link pages/$lang/[ad_urlencode $name] + } else { + set link pages/[ad_urlencode $title] + } t1 add \ -title $title \ -object_type $object_type \ - -title.href [export_vars -base pages/[ad_urlencode $title] {}] \ + -title.href $link \ -edit.href [export_vars -base edit {item_id}] \ -delete.href [export_vars -base delete {item_id query}] } Index: openacs-4/packages/xowiki/www/pages/index.vuh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/pages/Attic/index.vuh,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/xowiki/www/pages/index.vuh 30 Jan 2006 02:04:51 -0000 1.5 +++ openacs-4/packages/xowiki/www/pages/index.vuh 8 Feb 2006 13:33:21 -0000 1.6 @@ -19,15 +19,20 @@ set folder_id [$object_type require_folder -name xowiki] } -set path [ad_conn path_info] +set path [ns_urldecode [ad_conn path_info]] #ns_log notice "-- path=<$path>" if {$path ne ""} { set item_id [::Generic::CrItem lookup -title $path -parent_id $folder_id] + if {$item_id == 0} { - if {![regexp {^..:} $path]} { - set path [string range [lang::conn::locale] 0 1]:$path - set item_id [::Generic::CrItem lookup -title $path -parent_id $folder_id] + if {[regexp {^(..)/(.*)$} $path _ lang name]} { + set title $lang:$name + } elseif {![regexp {^..:} $path]} { + set title [string range [lang::conn::locale] 0 1]:$path } + if {[info exists title]} { + set item_id [::Generic::CrItem lookup -title $title -parent_id $folder_id] + } } #ns_log notice "-- path=<$path> item_id=$item_id" if {$item_id != 0} {