[LON-CAPA-cvs] cvs: loncom /html/res/adm/pages chatroom.html /interface lonchatfetch.pm

www lon-capa-cvs@mail.lon-capa.org
Sat, 29 Mar 2003 01:39:10 -0000


www		Fri Mar 28 20:39:10 2003 EDT

  Modified files:              
    /loncom/html/res/adm/pages	chatroom.html 
    /loncom/interface	lonchatfetch.pm 
  Log:
  Bug 1086 - active chatroom users in top frame
  
  
Index: loncom/html/res/adm/pages/chatroom.html
diff -u loncom/html/res/adm/pages/chatroom.html:1.1 loncom/html/res/adm/pages/chatroom.html:1.2
--- loncom/html/res/adm/pages/chatroom.html:1.1	Thu Aug  8 09:46:36 2002
+++ loncom/html/res/adm/pages/chatroom.html	Fri Mar 28 20:39:09 2003
@@ -1,5 +1,5 @@
 <html>
-<frameset border="0" rows="1,100,*">
+<frameset border="0" rows="80,80,*">
 <frame name="chatacc" src="/adm/chatfetch">
 <frame name="chatpost" src="/adm/chat">
 <frame name="chatout" src="/adm/rat/empty.html">
Index: loncom/interface/lonchatfetch.pm
diff -u loncom/interface/lonchatfetch.pm:1.8 loncom/interface/lonchatfetch.pm:1.9
--- loncom/interface/lonchatfetch.pm:1.8	Fri Mar 28 18:16:25 2003
+++ loncom/interface/lonchatfetch.pm	Fri Mar 28 20:39:10 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Chat Fetching
 #
-# $Id: lonchatfetch.pm,v 1.8 2003/03/28 23:16:25 www Exp $
+# $Id: lonchatfetch.pm,v 1.9 2003/03/29 01:39:10 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -75,57 +75,59 @@
        $include=1; 
        $newstuff='<html><body bgcolor="#FFFFFF">';
     }
+    my @participants=();
     foreach (@entries) {
-	if ($include) {
-	    my ($id,$msg,$uname)=split(/\:/,&Apache::lonnet::unescape($_));
-	    if ($id eq 'active_participant') {
-#		$newstuff.='participant: '.$msg.' '.$uname;
-	    } else {
-		chomp($msg);
-		my ($msgtime,$msgnum)=split(/\_/,$id);
-		my ($sdom,$snum,$anon,$contrib)=split(/\:/,
-                                              &Apache::lonnet::unescape($msg));
-		$contrib=&Apache::lonnet::unescape($contrib);
-		$contrib=~s/\n/\<br \/\>/g;
-		$contrib=&Apache::lontexconvert::msgtexconverted($contrib);
-		$contrib=~s/\n/ /g;
-		$contrib=~s/\'/\&\#39\;/g;
-		my $sender='';
-		if ($seeid) {
-		    $sender=&Apache::loncommon::plainname($snum,$sdom);
-		    my $nick=&Apache::loncommon::nickname($snum,$sdom);
-		    if (($nick) && ($nick ne $sender)) {
-			$sender.=' '.$nick;
-		    }
-		    if ($anon) { $sender.=' [Anon]' };
-		} elsif (!$anon) {
-		    $sender=&Apache::loncommon::nickname($snum,$sdom);
-		} else {
-		    $sender=&Apache::loncommon::screenname($snum,$sdom);
-		    unless ($sender) { $sender="Anonymous"; }
+	my ($id,$msg,$udom)=split(/\:/,&Apache::lonnet::unescape($_));
+ 	if ($id eq 'active_participant') {
+           chomp($udom);
+	   $participants[$#participants+1]=
+           &Apache::loncommon::nickname($msg,$udom);
+	} elsif ($include) {
+	    chomp($msg);
+	    my ($msgtime,$msgnum)=split(/\_/,$id);
+	    my ($sdom,$snum,$anon,$contrib)=split(/\:/,
+					     &Apache::lonnet::unescape($msg));
+	    $contrib=&Apache::lonnet::unescape($contrib);
+	    $contrib=~s/\n/\<br \/\>/g;
+	    $contrib=&Apache::lontexconvert::msgtexconverted($contrib);
+	    $contrib=~s/\n/ /g;
+	    $contrib=~s/\'/\&\#39\;/g;
+	    my $sender='';
+	    if ($seeid) {
+		$sender=&Apache::loncommon::plainname($snum,$sdom);
+		my $nick=&Apache::loncommon::nickname($snum,$sdom);
+		if (($nick) && ($nick ne $sender)) {
+		    $sender.=' '.$nick;
 		}
-		$sender=~s/\'/\"/g;
-		my $color=$sender;
-		$color=~tr/a-j/0-9/;
-		$color=~tr/A-J/0-9/;
-		$color=~tr/k-t/0-9/;
-		$color=~tr/K-T/0-9/;
-		$color=~tr/u-z/0-5/;
-		$color=~tr/U-Z/0-5/;
-		$color=~s/\D//g;
-		$color=substr($color,0,6);
-		my $timestamp=localtime($msgtime);
-		my ($mhour,$mmin,$msec)=($timestamp=~/(\d\d)\:(\d\d)\:(\d\d)/);
-		$newstuff.='<font color="#'.$color.'"><a name="'.$id.'"><b>'.
-		    $sender.'</b> ('.$mhour.':'.$mmin.':'.$msec.'): '.
-		    $contrib."</font><br>";
-		$bottomid=$id;
+		if ($anon) { $sender.=' [Anon]' };
+	    } elsif (!$anon) {
+		$sender=&Apache::loncommon::nickname($snum,$sdom);
+	    } else {
+		$sender=&Apache::loncommon::screenname($snum,$sdom);
+		unless ($sender) { $sender="Anonymous"; }
 	    }
-        } else {
-            $_=~/^(\w+)/;
-            if ($1 eq $ENV{'form.lastid'}) { $include=1; }
-        }
+	    $sender=~s/\'/\"/g;
+	    my $color=$sender;
+	    $color=~tr/a-j/0-9/;
+	    $color=~tr/A-J/0-9/;
+	    $color=~tr/k-t/0-9/;
+	    $color=~tr/K-T/0-9/;
+	    $color=~tr/u-z/0-5/;
+	    $color=~tr/U-Z/0-5/;
+	    $color=~s/\D//g;
+	    $color=substr($color,0,6);
+	    my $timestamp=localtime($msgtime);
+	    my ($mhour,$mmin,$msec)=($timestamp=~/(\d\d)\:(\d\d)\:(\d\d)/);
+	    $newstuff.='<font color="#'.$color.'"><a name="'.$id.'"><b>'.
+		$sender.'</b> ('.$mhour.':'.$mmin.':'.$msec.'): '.
+		$contrib."</font><br>";
+	    $bottomid=$id;
+	} else {
+	    $_=~/^(\w+)/;
+	    if ($1 eq $ENV{'form.lastid'}) { $include=1; }
+	}
     }
+    my $participant_output=join('<br />',sort @participants);
     $r->print(<<ENDDOCUMENT);
 <html>
 <head>
@@ -137,6 +139,7 @@
 parent.chatout.document.writeln('$newstuff');
 parent.chatout.scroll(0,10000000);
 </script>
+$participant_output
 </body>
 </html>
 ENDDOCUMENT