Index: openacs-4/packages/xowiki/tcl/chat-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/chat-procs.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/xowiki/tcl/chat-procs.tcl 25 Feb 2006 13:36:23 -0000 1.3 +++ openacs-4/packages/xowiki/tcl/chat-procs.tcl 31 Mar 2006 19:36:45 -0000 1.4 @@ -6,87 +6,8 @@ @cvs-id $Id$ } namespace eval ::xowiki { - Class Message -parameter {time user_id msg} - Class Chat -superclass ::xo::OrderedComposite \ - -parameter {chat_id user_id session_id {encoder urlencode} {timewindow 600}} - Chat instproc init {} { - my instvar array - my set now [clock clicks -milliseconds] - if {![my exists user_id]} {my set user_id [ad_conn user_id]} - if {![my exists session_id]} {my set session_id [ad_conn session_id]} - set array [self class]-[my set chat_id] - if {![nsv_exists $array-seen newest]} {nsv_set $array-seen newest 0} - } - Chat instproc add_msg {{-get_new:boolean true} -uid msg} { - my instvar array now - set user_id [expr {[info exists uid] ? $uid : [my set user_id]}] - set msg_id $now.$user_id - nsv_set $array $msg_id [list $now [clock seconds] $user_id $msg] - nsv_set $array-seen newest $now - nsv_set $array-last-activity $user_id $now - if {$get_new} {my get_new} - } - Chat instproc check_age {key ago} { - my instvar array timewindow - if {$ago > $timewindow} { - nsv_unset $array $key - #my log "--c unsetting $key" - return 0 - } - return 1 - } - Chat instproc get_new {} { - my instvar array now session_id - set last [expr {[nsv_exists $array-seen $session_id] ? [nsv_get $array-seen $session_id] : 0}] - if {[nsv_get $array-seen newest]>$last} { - #my log "--c must check $session_id: [nsv_get $array-seen newest] > $last" - foreach {key value} [nsv_array get $array] { - foreach {timestamp secs user msg} $value break - if {$timestamp > $last} { - my add [Message new -time $secs -user_id $user -msg $msg] - } else { - my check_age $key [expr {($now - $timestamp) / 1000}] - } - } - nsv_set $array-seen $session_id $now - #my log "--c setting session_id $session_id: $now" - } else { - #my log "--c nothing new for $session_id" - } - my render - } - Chat instproc get_all {} { - my instvar array now session_id - foreach {key value} [nsv_array get $array] { - foreach {timestamp secs user msg} $value break - if {[my check_age $key [expr {($now - $timestamp) / 1000}]]} { - my add [Message new -time $secs -user_id $user -msg $msg] - } - } - #my log "--c setting session_id $session_id: $now" - nsv_set $array-seen $session_id $now - my render - } - Chat instproc login {} { - my instvar array user_id now - # was the user already active? - if {![nsv_exists $array-last-activity $user_id]} { - my add_msg -get_new false login - } - foreach {user timestamp} [nsv_array get $array-last-activity] {;# sweeper - set ago [expr {($now - $timestamp) / 1000}] - if {$ago > 1200} { - my add_msg -get_new false -uid $user "auto logout" - nsv_unset $array-last-activity $user - } - } - my encoder noencode - #my log "--c setting session_id [my set session_id]: $now" - my get_all - } - Chat instproc urlencode {string} {ns_urlencode $string} - Chat instproc noencode {string} {set string} - Chat instproc encode {string} {my [my encoder] $string} + ::xo::ChatClass Chat -superclass ::xo::Chat + Chat instproc render {} { my orderby time set result "" @@ -109,6 +30,9 @@ } return $result } + + Chat proc initialize_nsvs {} {;} ;# noop + Chat proc login {-chat_id -package_id} { auth::require_login ::xowiki::Page requireJS "/resources/xowiki/get-http-object.js" @@ -140,9 +64,6 @@ " - #0 - #  [ad_conn session_id] - [ns_conn url] ?? [util_current_location] - } if {0} { @@ -153,4 +74,4 @@ ns_return 200 text/html $_ } -} \ No newline at end of file +} Index: openacs-4/packages/xowiki/tcl/xowiki-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-procs.tcl,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 17 Mar 2006 20:19:59 -0000 1.23 +++ openacs-4/packages/xowiki/tcl/xowiki-procs.tcl 31 Mar 2006 19:36:45 -0000 1.24 @@ -669,6 +669,10 @@ Page instproc include arg { [self class] instvar recursion_depth if {[regexp {^adp (.*)$} $arg _ adp]} { + if {[catch {lindex $adp 0}]} { + # there is something syntactically wrong + return $arg + } set adp [string map {  " "} $adp] set adp_fn [lindex $adp 0] if {![string match "/*" $adp_fn]} {set adp_fn /packages/xowiki/www/$adp_fn} Index: openacs-4/packages/xowiki/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/Attic/index.tcl,v diff -u -N -r1.9 -r1.10 --- openacs-4/packages/xowiki/www/index.tcl 8 Feb 2006 13:33:21 -0000 1.9 +++ openacs-4/packages/xowiki/www/index.tcl 31 Mar 2006 19:36:46 -0000 1.10 @@ -69,7 +69,7 @@ ImageField_EditIcon edit -label "" AnchorField title -label [_ xowiki.page_title] Field object_type -label [_ xowiki.page_type] - ImageField_DeleteIcon delete -label "" + ImageField_DeleteIcon delete -label "" ;#-html {onClick "return(confirm('Confirm delete?'));"} } set order_clause "order by cr.title"