Annotation of loncom/interface/lonchatfetch.pm, revision 1.1
1.1 ! www 1: # The LearningOnline Network
! 2: # Chat Fetching
! 3: #
! 4: # $Id: $
! 5: #
! 6: # Copyright Michigan State University Board of Trustees
! 7: #
! 8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
! 9: #
! 10: # LON-CAPA is free software; you can redistribute it and/or modify
! 11: # it under the terms of the GNU General Public License as published by
! 12: # the Free Software Foundation; either version 2 of the License, or
! 13: # (at your option) any later version.
! 14: #
! 15: # LON-CAPA is distributed in the hope that it will be useful,
! 16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 18: # GNU General Public License for more details.
! 19: #
! 20: # You should have received a copy of the GNU General Public License
! 21: # along with LON-CAPA; if not, write to the Free Software
! 22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
! 23: #
! 24: # /home/httpd/html/adm/gpl.txt
! 25: #
! 26: # http://www.lon-capa.org/
! 27: #
! 28:
! 29: package Apache::lonchatfetch;
! 30:
! 31: use strict;
! 32: use Apache::Constants qw(:common);
! 33: use Apache::lontexconvert;
! 34:
! 35: sub handler {
! 36: my $r = shift;
! 37: $r->content_type('text/html');
! 38: $r->send_http_header;
! 39: return OK if $r->header_only;
! 40:
! 41: # ------------------------------------------------------------ retrieve entries
! 42:
! 43: my $cnum=$ENV{'course.'.$ENV{'request.course.id'}.'.num'};
! 44: my $cdom=$ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
! 45: my $chome=$ENV{'course.'.$ENV{'request.course.id'}.'.home'};
! 46: my @entries=split(/\:/,
! 47: &Apache::lonnet::reply("chatretr:$cdom:$cnum",$chome));
! 48: my ($lastid)=($entries[$#entries]=~/^(\w+)/);
! 49: my ($thentime,$idnum)=split(/\_/,$lastid);
! 50: # -------------------------------------------------------- see which ones apply
! 51: &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['lastid']);
! 52: my $include=0;
! 53: my $newstuff='';
! 54: unless ($ENV{'form.lastid'}) { $include=1; }
! 55: foreach (@entries) {
! 56: if ($include) {
! 57: my ($id,$msg)=split(/\:/,&Apache::lonnet::unescape($_));
! 58: chomp($msg);
! 59: my ($msgtime,$msgnum)=split(/\_/,$id);
! 60: my ($sdom,$snum,$anon,$contrib)=split(/\:/,
! 61: &Apache::lonnet::unescape($msg));
! 62: $contrib=&Apache::lonnet::unescape($contrib);
! 63: $contrib=~s/\n/\<br \/\>/g;
! 64: $contrib=&Apache::lontexconvert::msgtexconverted($contrib);
! 65: $contrib=~s/\n/ /g;
! 66: $contrib=~s/\'/\&\#39\;/g;
! 67: my $sender=$snum.' at '.$sdom;
! 68: if ($anon) {
! 69: }
! 70: $newstuff.='<b>'.$sender.'</b> ('.localtime($msgtime).'): '.
! 71: $contrib."<br>";
! 72: } else {
! 73: $_=~/^(\w+)/;
! 74: if ($1 eq $ENV{'form.lastid'}) { $include=1; }
! 75: }
! 76: }
! 77: $r->print(<<ENDDOCUMENT);
! 78: <html>
! 79: <head>
! 80: <title>The LearningOnline Network with CAPA</title>
! 81: <meta HTTP-EQUIV="Refresh" CONTENT="5; url=/adm/chatfetch?lastid=$lastid">
! 82: </head>
! 83: <body bgcolor="#FFFFFF">
! 84: <script>
! 85: parent.chatout.document.writeln('$newstuff');
! 86: </script>
! 87: </body>
! 88: </html>
! 89: ENDDOCUMENT
! 90: return OK;
! 91: }
! 92:
! 93: 1;
! 94: __END__
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>