--- loncom/interface/lonchatfetch.pm	2002/08/14 16:24:00	1.3
+++ loncom/interface/lonchatfetch.pm	2002/09/09 21:01:58	1.4
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Chat Fetching
 #
-# $Id: lonchatfetch.pm,v 1.3 2002/08/14 16:24:00 www Exp $
+# $Id: lonchatfetch.pm,v 1.4 2002/09/09 21:01:58 www Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -31,6 +31,8 @@ package Apache::lonchatfetch;
 use strict;
 use Apache::Constants qw(:common);
 use Apache::lontexconvert;
+use Apache::loncommon;
+use Apache::lonnet;
 
 sub handler {
     my $r = shift;
@@ -43,10 +45,18 @@ sub handler {
     my $cnum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'};
     my $cdom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
     my $chome=$ENV{'course.'.$ENV{'request.course.id'}.'.home'};
+
     my @entries=split(/\:/,
                        &Apache::lonnet::reply("chatretr:$cdom:$cnum",$chome));
     my ($lastid)=($entries[$#entries]=~/^(\w+)/);
     my ($thentime,$idnum)=split(/\_/,$lastid);
+# ----------------------------------------------------------- Can see identity?
+    my $crs='/'.$ENV{'request.course.id'};
+    if ($ENV{'request.course.sec'}) {
+       $crs.='_'.$ENV{'request.course.sec'};
+    }                 
+    $crs=~s/\_/\//g;
+    my $seeid=&Apache::lonnet::allowed('rin',$crs);
 # -------------------------------------------------------- see which ones apply
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['lastid']);
     my $include=0;
@@ -68,12 +78,29 @@ sub handler {
 	    $contrib=&Apache::lontexconvert::msgtexconverted($contrib);
             $contrib=~s/\n/ /g;
             $contrib=~s/\'/\&\#39\;/g;
-            my $sender=$snum.' at '.$sdom;
-            if ($anon) {
+            my $sender='';
+            unless (($anon) && (!$seeid)) {
+               $sender=&Apache::loncommon::plainname($snum,$sdom);
+	        if ($anon) { $sender.=' [Anon]' };
+            } else {
+		$sender=&Apache::loncommon::screenname($snum,$sdom);
+                unless ($sender) { $sender="Anonymous"; }
             }
-	    $newstuff.='<a name="'.$id.'"><b>'.
-                       $sender.'</b> ('.localtime($msgtime).'): '.
-                       $contrib."<br>";
+            $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+)/;