Index: openacs-4/packages/xowf/xowf.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/xowf.info,v
diff -u -N -r1.3.2.9 -r1.3.2.10
--- openacs-4/packages/xowf/xowf.info 27 Feb 2017 07:42:03 -0000 1.3.2.9
+++ openacs-4/packages/xowf/xowf.info 3 May 2017 07:12:51 -0000 1.3.2.10
@@ -10,15 +10,15 @@
t
xowf
-
+
Gustaf Neumann
XoWiki Content Flow - an XoWiki based workflow system implementing state-based behavior of wiki pages and forms
2017-02-27
WU Vienna
2
-
-
+
+
Index: openacs-4/packages/xowf/tcl/xowf-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/tcl/xowf-procs.tcl,v
diff -u -N -r1.3.2.16 -r1.3.2.17
--- openacs-4/packages/xowf/tcl/xowf-procs.tcl 2 May 2017 13:51:25 -0000 1.3.2.16
+++ openacs-4/packages/xowf/tcl/xowf-procs.tcl 3 May 2017 07:12:52 -0000 1.3.2.17
@@ -1329,8 +1329,7 @@
WorkflowPage instproc create-or-use_view {-package_id:required -parent_id:required name } {
# the link should be able to view return_url and template_file
- set path [export_vars -no_base_encode -base [$package_id pretty_link -parent_id $parent_id $lang:$stripped_name] {}]
- return [$package_id returnredirect $path]
+ return [$package_id returnredirect [$package_id pretty_link -parent_id $parent_id $lang:$stripped_name]]
}
WorkflowPage instproc www-create-or-use {
Index: openacs-4/packages/xowiki/xowiki.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/xowiki.info,v
diff -u -N -r1.153.2.31 -r1.153.2.32
--- openacs-4/packages/xowiki/xowiki.info 27 Feb 2017 07:42:03 -0000 1.153.2.31
+++ openacs-4/packages/xowiki/xowiki.info 3 May 2017 07:12:52 -0000 1.153.2.32
@@ -10,7 +10,7 @@
t
xowiki
-
+
Gustaf Neumann
A xotcl-based enterprise wiki system with multiple object types
2017-02-27
@@ -55,7 +55,7 @@
BSD-Style
2
-
+
Index: openacs-4/packages/xowiki/tcl/folder-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/folder-procs.tcl,v
diff -u -N -r1.33.2.12 -r1.33.2.13
--- openacs-4/packages/xowiki/tcl/folder-procs.tcl 2 May 2017 13:51:25 -0000 1.33.2.12
+++ openacs-4/packages/xowiki/tcl/folder-procs.tcl 3 May 2017 07:12:52 -0000 1.33.2.13
@@ -615,6 +615,7 @@
-parent_id $logical_folder_id \
-context_url $url \
-folder_ids $folder_ids \
+ -path_encode false \
$name]
array set icon [$c render_icon]
@@ -623,27 +624,20 @@
set prettyName $name
}
- #set delete_link [export_vars -base [$package_id package_url] \
- # [list {delete 1} \
- # [list item_id [$c item_id]] \
- # [list name [$c pretty_link]] return_url]]
-
- set delete_link [export_vars -no_base_encode -base $page_link {{m delete} return_url}]
-
$t add \
-ID [$c name] \
-name $prettyName \
- -name.href [export_vars -no_base_encode -base $page_link {template_file html-content}] \
+ -name.href [export_vars -base $page_link {template_file html-content}] \
-name.title [$c set title] \
-object_type $icon(text) \
-object_type.richtext $icon(is_richtext) \
-last_modified [$c set last_modified] \
-edit "" \
- -edit.href [export_vars -no_base_encode -base $page_link {{m edit} return_url}] \
+ -edit.href [export_vars -base $page_link {{m edit} return_url}] \
-edit.title #xowiki.edit# \
-mod_user [::xo::get_user_name [$c set creation_user]] \
-delete "" \
- -delete.href $delete_link \
+ -delete.href [export_vars $page_link {{m delete} return_url}] \
-delete.title #xowiki.delete#
if {$::__xowiki_with_publish_status} {
Index: openacs-4/packages/xowiki/tcl/form-field-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/form-field-procs.tcl,v
diff -u -N -r1.248.2.52 -r1.248.2.53
--- openacs-4/packages/xowiki/tcl/form-field-procs.tcl 2 May 2017 13:51:25 -0000 1.248.2.52
+++ openacs-4/packages/xowiki/tcl/form-field-procs.tcl 3 May 2017 07:12:52 -0000 1.248.2.53
@@ -1137,7 +1137,7 @@
#
if {[my cleanup]} {
set return_url [$package_id query_parameter "return_url" [$parent_id pretty_link]]
- $package_id returnredirect [export_vars -no_base_encode -base [$object pretty_link] [list {m delete} return_url]]
+ $package_id returnredirect [$object pretty_link -query [export_vars {m delete} return_url]]
}
}
}
Index: openacs-4/packages/xowiki/tcl/includelet-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/includelet-procs.tcl,v
diff -u -N -r1.200.2.31 -r1.200.2.32
--- openacs-4/packages/xowiki/tcl/includelet-procs.tcl 2 May 2017 13:51:25 -0000 1.200.2.31
+++ openacs-4/packages/xowiki/tcl/includelet-procs.tcl 3 May 2017 07:12:52 -0000 1.200.2.32
@@ -4013,7 +4013,7 @@
}
#my log "queries done"
if {[info exists wf]} {
- set wf_link [$package_id pretty_link -parent_id $parent_id $wf]
+ set wf_link [$package_id pretty_link -parent_id $parent_id -path_encode false $wf]
}
foreach p [$items children] {
@@ -4026,7 +4026,7 @@
set page_link [$p pretty_link]
if {[info exists wf]} {
- set view_link [export_vars -no_base_encode -base $wf_link {{m create-or-use} {p.form "[$p name]"}}]
+ set view_link [export_vars -base $wf_link {{m create-or-use} {p.form "[$p name]"}}]
} else {
set view_link $page_link
}
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 -N -r1.291.2.34 -r1.291.2.35
--- openacs-4/packages/xowiki/tcl/package-procs.tcl 2 May 2017 07:23:36 -0000 1.291.2.34
+++ openacs-4/packages/xowiki/tcl/package-procs.tcl 3 May 2017 07:12:52 -0000 1.291.2.35
@@ -290,7 +290,19 @@
return ""
}
- Package instproc folder_path {{-parent_id ""} {-context_url ""} {-folder_ids ""}} {
+ Package ad_instproc folder_path {
+ {-parent_id ""}
+ {-context_url ""}
+ {-folder_ids ""}
+ {-path_encode:boolean true}
+ } {
+
+ Constuct a folder path from a hierachy of xowiki objects. It is
+ designed to work with linked objects, respecting logical and
+ physical parent IDs. The result is URL encoded, unless path_encode
+ is set to false.
+
+ } {
#
# handle different parent_ids
#
@@ -375,9 +387,13 @@
}
}
}
-
+
+ set name [$fo name]
+ if {$path_encode} {
+ set name [ad_urlencode_path $name]
+ }
# prepend always the actual folder name
- set path [ad_urlencode_path [$fo name]]/$path
+ set path $name/$path
if {[my folder_id] == [$fo parent_id]} {
#my msg ".... my folder_id [my folder_id] == $fo parentid"
@@ -422,11 +438,14 @@
{-download false}
{-context_url ""}
{-folder_ids ""}
+ {-path_encode:boolean true}
name
} {
+
Generate a (minimal) link to a wiki page with the specified name.
- Pratically all links in the xowiki systems are generated through this
- function.
+ Pratically all links in the xowiki systems are generated through
+ this function. The function returns the URL path urlencoded,
+ unless path_encode is set to false.
@param anchor anchor to be added to the link
@param absolute make an absolute link (including protocol and host)
@@ -452,7 +471,11 @@
set package_prefix [my package_url]
}
#my msg "lang=$lang, default_lang=$default_lang, name=$name, parent_id=$parent_id, package_prefix=$package_prefix"
- set encoded_name [ad_urlencode_path $name]
+ if {$path_encode} {
+ set encoded_name [ad_urlencode_path $name]
+ } else {
+ set encoded_name $name
+ }
if {$parent_id eq -100} {
# In case, we have a cr-toplevel entry, we assume, we can
@@ -465,7 +488,7 @@
ns_log notice "pretty_link of $name: you should consider to pass a parent_id to support folders"
set parent_id [my folder_id]
}
- set folder [my folder_path -parent_id $parent_id -folder_ids $folder_ids]
+ set folder [my folder_path -parent_id $parent_id -folder_ids $folder_ids -path_encode $path_encode]
set pkg [$parent_id package_id]
if {![my isobject ::$pkg]} {
::xowiki::Package initialize -package_id $pkg -init_url false -keep_cc true
Index: openacs-4/packages/xowiki/tcl/xowiki-form-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-form-procs.tcl,v
diff -u -N -r1.134.2.9 -r1.134.2.10
--- openacs-4/packages/xowiki/tcl/xowiki-form-procs.tcl 2 May 2017 13:51:25 -0000 1.134.2.9
+++ openacs-4/packages/xowiki/tcl/xowiki-form-procs.tcl 3 May 2017 07:12:52 -0000 1.134.2.10
@@ -697,8 +697,9 @@
if {[$data exists_query_parameter return_url]} {
set return_url [$data query_parameter return_url]
}
- set link [$data pretty_link]
- my submit_link [export_vars -no_base_encode -base $link {{m edit} page_template return_url item_id}]
+ set submit_link [$data pretty_link -query [export_vars {
+ {m edit} page_template return_url item_id
+ }]]
# my log "-- submit_link = [my submit_link]"
}
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 -N -r1.327.2.33 -r1.327.2.34
--- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 2 May 2017 13:30:55 -0000 1.327.2.33
+++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 3 May 2017 07:12:52 -0000 1.327.2.34
@@ -252,8 +252,9 @@
set form_redirect [my form_parameter "__form_redirect" ""]
if {$form_redirect eq ""} {
- set form_redirect [export_vars -no_base_encode -base [$f pretty_link] \
- [list [list m $view_method] return_url template_file title detail_link text]]
+ set form_redirect [$f pretty_link -query [export_vars {
+ {m $view_method} return_url template_file title detail_link text
+ }]]
}
$package_id returnredirect $form_redirect
set package_id $original_package_id
Index: openacs-4/packages/xowiki/www/admin/list.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/admin/list.tcl,v
diff -u -N -r1.36.2.6 -r1.36.2.7
--- openacs-4/packages/xowiki/www/admin/list.tcl 2 May 2017 13:51:25 -0000 1.36.2.6
+++ openacs-4/packages/xowiki/www/admin/list.tcl 3 May 2017 07:12:52 -0000 1.36.2.7
@@ -123,6 +123,9 @@
::xo::Package initialize -package_id $package_id -keep_cc true
}
set page_link [::$package_id pretty_link -parent_id $parent_id $name]
+ set edit_link [::$package_id pretty_link -parent_id $parent_id \
+ -query [export_vars {{m edit} return_url}] \
+ $name]
set name [::$package_id external_name -parent_id $parent_id $name]
::template::t1 add \
@@ -134,11 +137,11 @@
-syndicated [info exists syndicated($revision_id)] \
-size [expr {$content_length ne "" ? $content_length : 0}] \
-edit "" \
- -edit.href [export_vars -no_base_encode -base $page_link {{m edit} return_url}] \
+ -edit.href $edit_link \
-edit.title #xowiki.edit# \
-mod_user [::xo::get_user_name $creation_user] \
-delete "" \
- -delete.href [export_vars -base [$package_id package_url] {{delete 1} item_id name return_url}] \
+ -delete.href [export_vars -base [$package_id package_url] {{delete 1} item_id name return_url}] \
-delete.title #xowiki.delete#
if {$::individual_permissions} {
Index: openacs-4/packages/xowiki/www/portlets/weblog-mini-calendar.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/portlets/weblog-mini-calendar.tcl,v
diff -u -N -r1.18.2.9 -r1.18.2.10
--- openacs-4/packages/xowiki/www/portlets/weblog-mini-calendar.tcl 2 May 2017 13:51:25 -0000 1.18.2.9
+++ openacs-4/packages/xowiki/www/portlets/weblog-mini-calendar.tcl 3 May 2017 07:12:52 -0000 1.18.2.10
@@ -4,13 +4,15 @@
set parent_id [$__including_page set parent_id]
set including_item_id [$__including_page set item_id]
-if {(![info exists base_url] || $base_url eq "")} {
- if {![info exists page]} {set page [$package_id get_parameter weblog_page]}
- set base_url [$package_id pretty_link -parent_id $parent_id $page]
+if {![info exists base_url] || $base_url eq ""} {
+ if {![info exists page]} {
+ set page [$package_id get_parameter weblog_page]
+ }
+ set base_url [$package_id pretty_link -parent_id $parent_id -path_encode false $page]
}
set date [ns_queryget date]
-if {(![info exists date] || $date eq "")} {
+if {$date eq ""} {
set date [dt_sysdate]
}
@@ -84,13 +86,13 @@
set prev_month_url ""
} else {
set prev_month [clock format $prev_mon -format "%Y-%m-%d"]
- set prev_month_url [export_vars -no_base_encode -base $base_url {{date $prev_month} page_num summary}]
+ set prev_month_url [export_vars -base $base_url {{date $prev_month} page_num summary}]
}
if {$next_mon > [clock scan $latest_date]} {
set next_month_url ""
} else {
set next_month [clock format $next_mon -format "%Y-%m-%d"]
- set next_month_url [export_vars -no_base_encode -base $base_url {{date $next_month} page_num summary}]
+ set next_month_url [export_vars -base $base_url {{date $next_month} page_num summary}]
}
@@ -154,7 +156,7 @@
} else {
set class inactive
}
- set url [export_vars -no_base_encode -base $base_url {{date $ansi_date} summary}]
+ set url [export_vars -base $base_url {{date $ansi_date} summary}]
set id minicalendar-$ansi_date
if {$count ne ""} {
@@ -179,7 +181,7 @@
set sysdate [dt_sysdate]
-set today_url [export_vars -no_base_encode -base $base_url {{date $sysdate} page_num}]
+set today_url [export_vars -base $base_url {{date $sysdate} page_num}]
if {$sysdate eq $date} {
set today_p t
} else {