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.203 -r1.204 --- openacs-4/packages/xowiki/tcl/package-procs.tcl 30 Apr 2010 07:53:05 -0000 1.203 +++ openacs-4/packages/xowiki/tcl/package-procs.tcl 30 Apr 2010 10:34:52 -0000 1.204 @@ -939,38 +939,37 @@ set (form) "" set use_default_lang 0 - if {[regexp {^(file|image|js|css|swf):(.+)$} $element _ \ - (link_type) (stripped_name)]} { + if {[regexp {^(file|image|js|css|swf):(.+)$} $element _ (link_type) (stripped_name)]} { # (typed) file links set (prefix) file set name file:$(stripped_name) } elseif {[regexp {^(..):([^:]{3,}?):(..):(.+)$} $element _ form_lang form (prefix) (stripped_name)]} { - array set "" [list link_type "link" form "$form_lang:$form"] + array set "" [list link_type "link" form "$form_lang:$form.form"] set name $(prefix):$(stripped_name) #my msg "FIRST case name=$name, form=$form_lang:$form" } elseif {[regexp {^(..):([^:]{3,}?):(.+)$} $element _ form_lang form (stripped_name)]} { - array set "" [list link_type "link" form "$form_lang:$form" prefix $default_lang] + array set "" [list link_type "link" form "$form_lang:$form.form" prefix $default_lang] set name $default_lang:$(stripped_name) set use_default_lang 1 #my msg "SECOND case name=$name, form=$form_lang:$form" } elseif {[regexp {^([^:]{3,}?):(..):(.+)$} $element _ form (prefix) (stripped_name)]} { - array set "" [list link_type "link" form "$default_lang:$form"] + array set "" [list link_type "link" form "$default_lang:$form.form"] set name $(prefix):$(stripped_name) #my msg "THIRD case name=$name, form=$default_lang:$form" } elseif {[regexp {^([^:]{3,}?):(.+)$} $element _ form (stripped_name)]} { - array set "" [list link_type "link" form "$default_lang:$form" prefix $default_lang] + array set "" [list link_type "link" form "$default_lang:$form.form" prefix $default_lang] set name $default_lang:$(stripped_name) set use_default_lang 1 #my msg "FOURTH case name=$name, form=$default_lang:$form" } elseif {[regexp {^(..):(.+)$} $element _ (prefix) (stripped_name)]} { array set "" [list link_type "link"] set name $(prefix):$(stripped_name) } elseif {[regexp {^(.+)\0$} $element _ (stripped_name)]} { - array set "" [list link_type "link" form "$default_lang:folder" prefix $default_lang] + array set "" [list link_type "link" form "$default_lang:folder.form" prefix $default_lang] set name $default_lang:$(stripped_name) set use_default_lang 1 } elseif {$assume_folder} { - array set "" [list link_type "link" form "$default_lang:folder" prefix $default_lang stripped_name $element] + array set "" [list link_type "link" form "$default_lang:folder.form" prefix $default_lang stripped_name $element] set name $default_lang:$element set use_default_lang 1 } else { @@ -1019,7 +1018,7 @@ # If the item is still unknown, try filename-based lookup, # when the entry looks like a filename with an extension. - if {$item_id == 0 && [string match *.* $element]} { + if {$item_id == 0 && [string match *.* $element] && ![regexp {[.](form|wf)$} $element]} { # # Get the mime type to distinguish between images, flash # files and ordinary files. @@ -1091,6 +1090,7 @@ -default_lang $default_lang \ -parent_id $parent_id \ $link] + #my msg "item-ref for '$link' returns [array get {}]" if {!$(item_id) && $use_site_wide_pages} { set page [::xowiki::Package get_site_wide_page -name $(prefix):$(stripped_name)] if {$page ne ""} { @@ -1197,7 +1197,7 @@ set package_id [::xo::cc package_id] set package_key "xowiki" - foreach n {folder} { + foreach n {folder.form} { set item_id [::xo::db::CrClass lookup -name en:$n -parent_id $parent_id] my ds "lookup en:$n => $item_id" if {!$item_id} { @@ -1690,7 +1690,7 @@ if {$source_item_id ne ""} { set source [$object_type get_instance_from_db -item_id $source_item_id] $page copy_content_vars -from_object $source - set name "[::xowiki::autoname generate -parent_id $source_item_id -name [$source name]]" + set name "[::xowiki::autoname new -parent_id $source_item_id -name [$source name]]" #my get_lang_and_name -name $name lang name $page set name $name #my msg nls=[$page nls_language],source-nls=[$source nls_language],page=$page,name=$name