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 @@