Index: openacs-4/packages/xowiki/tcl/adp-generator-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/adp-generator-procs.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/xowiki/tcl/adp-generator-procs.tcl 14 Mar 2007 13:41:04 -0000 1.2 +++ openacs-4/packages/xowiki/tcl/adp-generator-procs.tcl 15 Mar 2007 12:10:49 -0000 1.3 @@ -17,20 +17,24 @@ {extra_header_stuff ""} } + ADP_Generator instproc before_render {} { + # just a hook, might be removed later + } + ADP_Generator instproc ajax_tag_definition {} { # if we have no footer, we have no tag form if {![my footer]} {return ""} return { } \ + -proc before_render {} { + ::xo::cc set_parameter weblog_page weblog-portlet + } \ -proc content_part {} { return [subst -novariables -nobackslashes \ {
+ summary="1" noparens="1"> + portlet="tags -decoration plain -summary 1"> + portlet="tags -popular 1 -limit 30 -decoration plain -summary 1">
+ portlet="presence -interval {30 minutes} -decoration plain">
- + }] } -#{{adp portlets/weblog-mini-calendar {page weblog}}} -#{{tags -decoration plain -page weblog-portlet}} -#{{tags -popular 1 -limit 30 -decoration plain -page weblog-portlet}} - } 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.49 -r1.50 --- openacs-4/packages/xowiki/tcl/package-procs.tcl 13 Mar 2007 10:27:31 -0000 1.49 +++ openacs-4/packages/xowiki/tcl/package-procs.tcl 15 Mar 2007 12:10:49 -0000 1.50 @@ -173,7 +173,7 @@ # # conditional links # - Package instproc make_link {-privilege -url object method args} { + Package instproc make_link {-privilege -link object method args} { my instvar id if {[info exists privilege]} { @@ -189,15 +189,15 @@ if {$granted} { if {[$object istype ::xowiki::Package]} { set base [my package_url] - if {[info exists url]} { - return [uplevel export_vars -base [list $base$url] [list $args]] + if {[info exists link]} { + return [uplevel export_vars -base [list $base$link] [list $args]] } else { lappend args [list $method 1] return [uplevel export_vars -base [list $base] [list $args]] } } elseif {[$object istype ::xowiki::Page]} { - if {[info exists url]} { - set base $url + if {[info exists link]} { + set base $link } else { set base [my url] } Index: openacs-4/packages/xowiki/tcl/weblog-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/weblog-procs.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/xowiki/tcl/weblog-procs.tcl 19 Feb 2007 10:01:28 -0000 1.7 +++ openacs-4/packages/xowiki/tcl/weblog-procs.tcl 15 Mar 2007 12:10:49 -0000 1.8 @@ -108,8 +108,9 @@ -mode_3_fmt "%d %b %Y, at %X"] if {$summary} { - # we need always: package_id name title creator creation_user pretty_date - set p [Page new -package_id $package_id -name $name -title $title -creator $creator] + # we need always: package_id item_id name title creator creation_user pretty_date + set p [Page new -package_id $package_id -item_id $item_id \ + -name $name -title $title -creator $creator] $p set creation_user $creation_user $p set description [expr {$description eq "" && $body ne ""? \ "[string range $body 0 150]..." : $description}] Index: openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/Attic/xowiki-portlet-procs.tcl,v diff -u -r1.26 -r1.27 --- openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 13 Mar 2007 10:27:31 -0000 1.26 +++ openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 15 Mar 2007 12:10:49 -0000 1.27 @@ -487,18 +487,50 @@ set sql "select count(*) as nr,tag from xowiki_tags where \ user_id=[::xo::cc user_id] and package_id=$package_id group by tag order by tag" } - set content "

$label

" set entries [list] set url [expr {[info exists page] ? "[$package_id package_url]$page" : [::xo::cc url]}] db_foreach get_counts $sql { set s [expr {$summary ? "&summary=$summary" : ""}] set href $url?$tag_type=[ad_urlencode $tag]$s lappend entries "$tag ($nr)" } - append content "[join $entries {, }]
\n" - return $content + return [expr {[llength $entries] > 0 ? + "

$label

[join $entries {, }]
\n" : + ""}] } + Class create my-tags \ + -superclass ::xowiki::Portlet \ + -parameter {{__decoration none}} + + my-tags instproc render {} { + + my initialize -parameter { + } + my get_parameters + my instvar __including_page + set p_link [$package_id pretty_link [$__including_page name]] + set return_url "[::xo::cc url]?[::xo::cc actual_query]" + set weblog_page [$package_id get_parameter weblog_page weblog] + set save_tag_link [$package_id make_link -link $p_link $__including_page \ + save-tags return_url] + set popular_tags_link [$package_id make_link -link $p_link $__including_page \ + popular-tags return_url weblog_page] + set tags_with_links [$__including_page render_my_tags tags] + + set content [subst -nobackslashes { + #xowiki.your_tags_label#: $tags_with_links + (#xowiki.edit_link#, + #xowiki.popular_tags_link#) + +
+ }] + return $content + } } namespace eval ::xowiki::portlet { @@ -909,7 +941,7 @@ set p [::Generic::CrItem instantiate -item_id 0 -revision_id $page_id] $p destroy_on_cleanup set p_link [$package_id pretty_link $name] - set edit_link [$package_id make_link -url $p_link $p edit return_url] + set edit_link [$package_id make_link -link $p_link $p edit return_url] if {$edit_link ne ""} { set edit_markup "
" } else { 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.42 -r1.43 --- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 13 Mar 2007 10:27:31 -0000 1.42 +++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 15 Mar 2007 12:10:49 -0000 1.43 @@ -9,6 +9,21 @@ namespace eval ::xowiki { + + Page instproc render_my_tags {-weblog_page tags_var} { + my upvar $tags_var tags + my instvar item_id package_id + ::xowiki::Page requireJS "/resources/xowiki/get-http-object.js" + set entries [list] + if {![info exists weblog_page]} { + set weblog_page [$package_id get_parameter weblog_page weblog] + } + set tags [lsort [::xowiki::Page get_tags -user_id [::xo::cc user_id] \ + -item_id $item_id -package_id $package_id]] + set href [$package_id package_url]$weblog_page?summary=1 + foreach tag $tags {lappend entries "$tag"} + return [join [lsort $entries] {, }] + } Page instproc view {} { # view is used only for the toplevel call, when the xowiki page is viewed @@ -17,6 +32,13 @@ $package_id instvar folder_id ;# this is the root folder ::xowiki::Page set recursion_count 0 + set template_file [my query_parameter "template_file" \ + [::$package_id get_parameter template_file view-default]] + + if {[my isobject ::xowiki::$template_file]} { + $template_file before_render + } + set content [my render] my log "--after render" @@ -50,16 +72,7 @@ ![my exists_query_parameter no_tags]} { # only activate tags when the user is logged in set no_tags [expr {[::xo::cc user_id] == 0}] - set tags "" - if {!$no_tags} { - ::xowiki::Page requireJS "/resources/xowiki/get-http-object.js" - set entries [list] - set tags [lsort [::xowiki::Page get_tags -user_id [::xo::cc user_id] \ - -item_id $item_id -package_id $package_id]] - set href [$package_id package_url]weblog?summary=1 - foreach tag $tags {lappend entries "$tag"} - set tags_with_links [join $entries {, }] - } + if {!$no_tags} {set tags_with_links [my render_my_tags tags]} } #my log "--after tags" @@ -180,8 +193,8 @@ set edit_link [$package_id make_link [self] edit return_url] set delete_link [$package_id make_link [self] delete return_url] set new_link [$package_id make_link $package_id edit-new object_type return_url autoname] - set admin_link [$package_id make_link -privilege admin -url admin/ $package_id {} {}] - set index_link [$package_id make_link -privilege public -url "" $package_id {} {}] + set admin_link [$package_id make_link -privilege admin -link admin/ $package_id {} {}] + set index_link [$package_id make_link -privilege public -link "" $package_id {} {}] set save_tag_link [$package_id make_link [self] save-tags] set popular_tags_link [$package_id make_link [self] popular-tags] set create_in_req_locale_link "" @@ -221,8 +234,6 @@ } else { # use adp file foreach css [$package_id get_parameter extra_css ""] {::xowiki::Page requireCSS $css} - set template_file [my query_parameter "template_file" \ - [::$package_id get_parameter template_file view-default]] if {![regexp {^[./]} $template_file]} { set template_file /packages/xowiki/www/$template_file @@ -320,7 +331,7 @@ set back_link [$package_id url] } - set index_link [$package_id make_link -privilege public -url "" $package_id {} {}] + set index_link [$package_id make_link -privilege public -link "" $package_id {} {}] set html [$package_id return_page -adp /packages/xowiki/www/edit \ -form f1 \ -variables {item_id edit_form_page_title context formTemplate @@ -397,14 +408,17 @@ my instvar package_id item_id ::xowiki::Page save_tags -user_id [::xo::cc user_id] -item_id $item_id \ -package_id $package_id [my form_parameter new_tags] + ::$package_id returnredirect \ [my query_parameter "return_url" [$package_id url]] } Page instproc popular-tags {} { my instvar package_id item_id parent_id - set limit [my query_parameter "limit" 20] - set href [$package_id package_url]weblog?summary=1 + set limit [my query_parameter "limit" 20] + set weblog_page [$package_id get_parameter weblog_page weblog] + set href [$package_id pretty_link $weblog_page]?summary=1 + set entries [list] db_foreach get_popular_tags \ "select count(*) as nr,tag from xowiki_tags \ Index: openacs-4/packages/xowiki/www/oacs-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/oacs-view.adp,v diff -u -r1.23 -r1.24 --- openacs-4/packages/xowiki/www/oacs-view.adp 14 Mar 2007 13:41:04 -0000 1.23 +++ openacs-4/packages/xowiki/www/oacs-view.adp 15 Mar 2007 12:10:50 -0000 1.24 @@ -1,4 +1,4 @@ - + @title;noquote@ @context;noquote@ @@ -8,15 +8,15 @@