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.202 -r1.203
--- openacs-4/packages/xowiki/tcl/includelet-procs.tcl 29 Aug 2017 15:03:24 -0000 1.202
+++ openacs-4/packages/xowiki/tcl/includelet-procs.tcl 31 Aug 2017 17:29:34 -0000 1.203
@@ -313,11 +313,10 @@
#
::xowiki::Includelet instproc resolve_page_name {page_name} {
- return [[my set __including_page] resolve_included_page_name $page_name]
+ return [${:__including_page} resolve_included_page_name $page_name]
}
::xowiki::Includelet instproc get_page_order {-source -ordered_pages -pages} {
- my instvar page_order
#
# first check, if we can load the page_order from the page
# denoted by source
@@ -336,10 +335,10 @@
# compute a list of ordered_pages from pages, if necessary
if {[info exists ordered_pages]} {
- foreach {order page} $ordered_pages {set page_order($page) $order}
+ foreach {order page} $ordered_pages {set :page_order($page) $order}
} else {
set i 0
- foreach page $pages {set page_order($page) [incr i]}
+ foreach page $pages {set :page_order($page) [incr i]}
}
}
@@ -436,10 +435,12 @@
# dotlrn style includelet decoration for includelets
#
Class create ::xowiki::includelet::decoration=portlet -instproc render {} {
- my instvar package_id name title
- set class [namespace tail [my info class]]
- set id [expr {[my exists id] ? "id='[my id]'" : ""}]
- set html [next]
+ set name ${:name}
+ set title ${:title}
+ set package_id [:package_id]
+ set class [namespace tail [my info class]]
+ set id [expr {[my exists id] ? "id='[my id]'" : ""}]
+ set html [next]
set localized_title [::xo::localize $title]
set link [expr {[string match "*:*" $name] ?
"[ns_quotehtml $localized_title]" :
@@ -455,10 +456,12 @@
}]
Class create ::xowiki::includelet::decoration=edit -instproc render {} {
- my instvar package_id name title
- set class [namespace tail [my info class]]
- set id [expr {[my exists id] ? "id='[my id]'" : ""}]
- set html [next]
+ set name ${:name}
+ set title ${:title}
+ set package_id [:package_id]
+ set class [namespace tail [my info class]]
+ set id [expr {[my exists id] ? "id='[my id]'" : ""}]
+ set html [next]
set localized_title [::xo::localize $title]
set edit_button [my include [list edit-item-button -book_mode true]]
set link [expr {[string match "*:*" $name] ?
@@ -550,7 +553,7 @@
rss-button instproc render {} {
my get_parameters
- set parent_ids [[my set __including_page] parent_id]
+ set parent_ids [${:__including_page} parent_id]
set href [export_vars -base [$package_id package_url] {{rss $span} parent_ids name_filter title entries_of}]
::xo::Page requireLink -rel alternate -type application/rss+xml -title RSS -href $href
return "RSS"
@@ -571,7 +574,7 @@
bookmarklet-button instproc render {} {
my get_parameters
- set parent_id [[my set __including_page] parent_id]
+ set parent_id [${:__including_page} parent_id]
set url [$package_id pretty_link -absolute 1 -siteurl $siteurl -parent_id $parent_id news-item]
if {$label eq ""} {set label "Add to [$package_id instance_name]"}
if {![my exists id]} {my set id [::xowiki::Includelet html_id [self]]}
@@ -662,14 +665,14 @@
# If a tree_id is given, edit directly the category tree ...
#
set href "[[my package_id] package_url]?edit-category-tree&object_id=$object_id&tree_id=$tree_id"
- return [[my set __including_page] include \
+ return [${:__including_page} include \
[list edit-item-button -link $href -title [_ xowiki.Edit_category] -target _blank]]
} else {
#
# ... otherwise, manage categories (allow defining new category trees, map/unmap, etc.)
#
set href "[[my package_id] package_url]?manage-categories&object_id=$object_id"
- return [[my set __including_page] include \
+ return [${:__including_page} include \
[list edit-item-button -link $href -title [_ xowiki.Manage_categories] -target _blank]]
}
}
@@ -1190,27 +1193,25 @@
}
rss-client instproc initialize {} {
- my instvar feed
my get_parameters
- my set feed [::xowiki::RSS-client new -url $url -destroy_on_cleanup]
- if {[info commands [$feed channel]] ne ""} {
- my title [ [$feed channel] title]
+ set :feed [::xowiki::RSS-client new -url $url -destroy_on_cleanup]
+ if {[info commands [${:feed} channel]] ne ""} {
+ my title [ [${:feed} channel] title]
}
}
rss-client instproc render {} {
- my instvar feed
my get_parameters
- if {[info commands [$feed channel]] eq ""} {
+ if {[info commands [${:feed} channel]] eq ""} {
set detail ""
- if {[$feed exists errorMessage]} {set detail \n[$feed set errorMessage]}
+ if {[${:feed} exists errorMessage]} {set detail \n[${:feed} set errorMessage]}
return "No data available from $url
[ns_quotehtml $detail]"
} else {
- set channel [$feed channel]
+ set channel [${:feed} channel]
#set html "
$gc_link
} else { @@ -1543,11 +1541,10 @@ digg instproc render {} { my get_parameters - my instvar __including_page set digg_link [export_vars -base "http://digg.com/submit" { {phase 2} {url $url} - {title "[string range [$__including_page title] 0 74]"} + {title "[string range [${:__including_page} title] 0 74]"} {body_text "[string range $description 0 349]"} }] return "" @@ -1566,7 +1563,6 @@ delicious instproc render {} { my get_parameters - my instvar __including_page # the following opens a window, where a user can edit the posted info. # however, it seems not possible to add tags this way automatically. @@ -1577,7 +1573,7 @@ set delicious_link [export_vars -base "http://del.icio.us/post" { {v 4} {url $url} - {title "[string range [$__including_page title] 0 79]"} + {title "[string range [${:__including_page} title] 0 79]"} {notes "[string range $description 0 199]"} tags }] @@ -1597,7 +1593,6 @@ my-yahoo-publisher instproc render {} { my get_parameters - my instvar __including_page set publisher [ad_urlencode $publisher] set feedname [ad_urlencode [$package_id get_parameter PackageTitle [$package_id instance_name]]] @@ -1618,9 +1613,8 @@ my-references instproc render {} { my get_parameters - my instvar __including_page - set item_id [$__including_page item_id] + set item_id [${:__including_page} item_id] set refs [list] # The same image might be linked both, as img or file on one page, # so we need DISTINCT. @@ -1642,8 +1636,8 @@ set references [join $refs ", "] array set lang {found "" undefined ""} - foreach i [$__including_page array names lang_links] { - set lang($i) [join [$__including_page set lang_links($i)] ", "] + foreach i [${:__including_page} array names lang_links] { + set lang($i) [join [${:__including_page} set lang_links($i)] ", "] } append references " " $lang(found) @@ -1667,9 +1661,8 @@ my-refers instproc render {} { my get_parameters - my instvar __including_page - set item_id [$__including_page item_id] + set item_id [${:__including_page} item_id] set refs [list] ::xo::dc foreach get_refers "SELECT DISTINCT reference,ci.name,ci.parent_id,o.package_id as pid \ @@ -1688,8 +1681,8 @@ set references [join $refs ", "] array set lang {found "" undefined ""} - foreach i [$__including_page array names lang_links] { - set lang($i) [join [$__including_page set lang_links($i)] ", "] + foreach i [${:__including_page} array names lang_links] { + set lang($i) [join [${:__including_page} set lang_links($i)] ", "] } append references " " $lang(found) set result "" @@ -1735,9 +1728,8 @@ } if {[info exists page] && $page eq "this"} { - my instvar __including_page - set extra_where_clause "and page_id = [$__including_page item_id] " - set what " on page [$__including_page title]" + set extra_where_clause "and page_id = [${:__including_page} item_id] " + set what " on page [${:__including_page} title]" } else { set extra_where_clause "" set what " in community [$package_id instance_name]" @@ -1805,11 +1797,10 @@ Class create PageReorderSupport PageReorderSupport instproc page_reorder_check_allow {{-with_head_entries true} allow_reorder} { if {$allow_reorder ne ""} { - my instvar package_id - set granted [$package_id check_permissions \ - -user_id [[$package_id context] user_id] \ - -package_id $package_id \ - $package_id change-page-order] + set granted [${:package_id} check_permissions \ + -user_id [[${:package_id} context] user_id] \ + -package_id ${:package_id} \ + ${:package_id} change-page-order] #my msg "granted=$granted" if {$granted} { if {$with_head_entries} { @@ -1903,8 +1894,7 @@ toc instproc build_toc {package_id locale source range} { my get_parameters - my instvar navigation __including_page - array set navigation {parent "" position 0 current ""} + array set :navigation {parent "" position 0 current ""} set extra_where_clause "" if {[my exists category_id]} { @@ -1926,10 +1916,10 @@ if {$folder_mode} { # TODO just needed for michael aram? - set parent_id [$__including_page item_id] + set parent_id [${:__including_page} item_id] } else { #set parent_id [$package_id folder_id] - set parent_id [$__including_page parent_id] + set parent_id [${:__including_page} parent_id] } set sql [::xo::dc select \ @@ -1963,11 +1953,10 @@ } toc instproc href {book_mode name} { - my instvar package_id __including_page if {$book_mode} { - set href [$package_id url]#[toc anchor $name] + set href [${:package_id} url]#[toc anchor $name] } else { - set href [$package_id pretty_link -parent_id [$__including_page parent_id] $name] + set href [${:package_id} pretty_link -parent_id [${:__including_page} parent_id] $name] } return $href } @@ -1987,24 +1976,23 @@ # and current) # my get_parameters - my instvar navigation page_name - array set navigation {position 0 current ""} + array set :navigation {position 0 current ""} # the top node is always open my set open_node() true set node_cnt 0 foreach o [$pages children] { $o instvar page_order name incr node_cnt - set page_name($node_cnt) $name + set :page_name($node_cnt) $name if {![regexp {^(.*)[.]([^.]+)} $page_order _ parent]} {set parent ""} # # If we are on the provided $open_page, we remember our position # for the progress bar. set on_current_node [expr {$open_page eq $name} ? "true" : "false"] if {$on_current_node} { - set navigation(position) $node_cnt - set navigation(current) $page_order + set :navigation(position) $node_cnt + set :navigation(current) $page_order } if {$expand_all} { my set open_node($page_order) true @@ -2017,7 +2005,7 @@ } } } - set navigation(count) $node_cnt + set :navigation(count) $node_cnt #my log OPEN=[lsort [my array names open_node]] } @@ -2027,7 +2015,7 @@ toc instproc yui_ajax {} { return "var [my js_name] = { - count: [my set navigation(count)], + count: [set :navigation(count)], getPage: function(href, c) { //console.log('getPage: ' + href + ' type: ' + typeof href) ; @@ -2167,9 +2155,7 @@ } toc instproc render_yui_list {{-full false} pages} { - my instvar js my get_parameters - my instvar navigation page_name # # Render the tree with the yui widget (with or without ajax) @@ -2181,9 +2167,9 @@ my set ajax $ajax if {$ajax} { - set js [my yui_ajax] + set :js [my yui_ajax] } else { - set js [my yui_non_ajax] + set :js [my yui_non_ajax] } set tree [::xowiki::Tree new -destroy_on_cleanup -orderby pos -id [my id]] @@ -2193,12 +2179,12 @@ -owner [self] \ $pages - set HTML [$tree render -style yuitree -js $js] + set HTML [$tree render -style yuitree -js ${:js}] return $HTML } toc instproc parent_id {} { - [my set __including_page] parent_id + ${:__including_page} parent_id } toc instproc render_list {{-full false} pages} { @@ -2236,17 +2222,16 @@ # TODO: maybe we could generalize this and similar convenience # methods on the includelet root class. toc instproc parent_id {} { - [my set __including_page] parent_id + ${:__including_page} parent_id } toc instproc include_head_entries {} { - my instvar style renderer - switch -- $renderer { - yuitree {::xowiki::Tree include_head_entries -renderer yuitree -style $style} + switch -- ${:renderer} { + yuitree {::xowiki::Tree include_head_entries -renderer yuitree -style ${:style}} list { my get_parameters set tree_renderer [expr {$allow_reorder eq "" ? "list" : "listdnd"}] - ::xowiki::Tree include_head_entries -renderer $tree_renderer -style $style + ::xowiki::Tree include_head_entries -renderer $tree_renderer -style ${:style} } none {} } @@ -2323,10 +2308,9 @@ } selection instproc render {} { - my instvar page_order my get_parameters - my set package_id $package_id - my set edit_links $edit_links + set :package_id $package_id + set :edit_links $edit_links if {[info exists source]} { my get_page_order -source $source @@ -2335,15 +2319,15 @@ } # should check for quotes in names - set page_names ('[join [array names page_order] ',']') + set page_names ('[join [array names :page_order] ',']') set pages [::xowiki::Page instantiate_objects -sql \ "select page_id, name, title, item_id \ from xowiki_page_live_revision p \ where parent_id = [$package_id folder_id] \ and name in $page_names \ [::xowiki::Page container_already_rendered item_id]" ] foreach p [$pages children] { - $p set page_order $page_order([$p set name]) + $p set page_order $:page_order([$p set name]) } $pages mixin add ::xo::OrderedComposite::IndexCompare @@ -2362,7 +2346,6 @@ } selection instproc render_children {pages menu_buttons} { - my instvar package_id edit_links set output "" foreach o [$pages children] { $o instvar page_order title page_id name title @@ -2410,7 +2393,6 @@ composite-form instproc render {} { my get_parameters - my instvar __including_page set inner_html [next] #my log "innerhtml=$inner_html" regsub -nocase -all "