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.2 -r1.3 --- openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 17 Nov 2006 21:26:23 -0000 1.2 +++ openacs-4/packages/xowiki/tcl/xowiki-portlet-procs.tcl 2 Dec 2006 14:09:35 -0000 1.3 @@ -359,6 +359,62 @@ return $content } -} + ############################################################################# + # presence + # + Class create presence \ + -superclass ::xowiki::Portlet \ + -parameter {{__decoration plain}} + + presence instproc render {} { + my initialize -parameter { + {-interval "10 minutes"} + {-max_users:integer 40} + {-page} + } + my get_parameters + + set sql "select user_id,time from xowiki_last_visited \ + where package_id = $package_id " + + if {[info exists page] && $page eq "this"} { + my instvar __including_page + append sql "and page_id = [$__including_page item_id] " + set limit_clause "limit $max_users" + set what "last on page [$__including_page title]" + } else { + append sql "and time > now() - '$interval'::interval " + set limit_clause "" + set what "currently in community [$package_id instance_name]" + + } + + append sql "order by time desc $limit_clause" + + set count 0 + set output "
$name | $pretty_time |