version 1.3, 2000/10/20 14:40:26
|
version 1.5, 2000/10/31 22:31:37
|
Line 10
|
Line 10
|
# |
# |
# 10/05 Gerd Kortemeyer) |
# 10/05 Gerd Kortemeyer) |
# |
# |
# 10/19,10/20 Gerd Kortemeyer |
# 10/19,10/20,10/30 Gerd Kortemeyer |
|
|
package Apache::lonmsg; |
package Apache::lonmsg; |
|
|
Line 18 use strict;
|
Line 18 use strict;
|
use Apache::lonnet(); |
use Apache::lonnet(); |
use vars qw($msgcount); |
use vars qw($msgcount); |
use HTML::TokeParser; |
use HTML::TokeParser; |
|
use Apache::Constants qw(:common); |
|
|
# ===================================================================== Package |
# ===================================================================== Package |
|
|
Line 100 sub user_crit_msg {
|
Line 101 sub user_crit_msg {
|
if ($homeserver ne 'no_host') { |
if ($homeserver ne 'no_host') { |
my $msgid; |
my $msgid; |
($msgid,$message)=&packagemsg($subject,$message); |
($msgid,$message)=&packagemsg($subject,$message); |
$status=&Apache::lonnet::cput('critical',$msgid => $message); |
$status=&Apache::lonnet::critical( |
|
'put:'.$domain.':'.$user.':critical:'. |
|
&Apache::lonnet::escape($msgid).'='. |
|
&Apache::lonnet::escape($message),$homeserver); |
} else { |
} else { |
$status='no_host'; |
$status='no_host'; |
} |
} |
&Apache::lonnet::logthis( |
&Apache::lonnet::logthis( |
'<font color=yellow>INFO: Sending critical email '.$msgid. |
'Sending critical email '.$msgid. |
', log status: '. |
', log status: '. |
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, |
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, |
$ENV{'user.home'}, |
$ENV{'user.home'}, |
'Sending critical '.$msgid.' to '.$user.' at '.$domain.' with status: ' |
'Sending critical '.$msgid.' to '.$user.' at '.$domain.' with status: ' |
.$status).'</font>'); |
.$status)); |
return $status; |
return $status; |
} |
} |
|
|
Line 118 sub user_crit_msg {
|
Line 122 sub user_crit_msg {
|
|
|
sub user_crit_received { |
sub user_crit_received { |
my $message=shift; |
my $message=shift; |
|
my %contents=&unpackagemsg($message); |
|
my $status='rec: '. |
|
&user_normal_msg($contents{'sendername'},$contents{'senderdomain'}, |
|
'Receipt: '.$ENV{'user.name'}.' at '.$ENV{'user.domain'}, |
|
'User '.$ENV{'user.name'}.' at '.$ENV{'user.domain'}. |
|
' acknowledged receipt of message "'. |
|
$contents{'subject'}.'" dated '.$contents{'time'}.".\n\n" |
|
.'Message ID: '.$contents{'msgid'}); |
|
$status.=' trans: '. |
|
&Apache::lonnet::put('nohist_email',$contents{'msgid'} => $message); |
|
$status.=' del: '. |
|
&Apache::lonnet::del('critical',$contents{'msgid'}); |
|
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, |
|
$ENV{'user.home'},'Received critical message '. |
|
$contents{'msgid'}. |
|
', '.$status); |
} |
} |
|
|
# ======================================================== Normal communication |
# ======================================================== Normal communication |
Line 133 sub user_normal_msg {
|
Line 152 sub user_normal_msg {
|
if ($homeserver ne 'no_host') { |
if ($homeserver ne 'no_host') { |
my $msgid; |
my $msgid; |
($msgid,$message)=&packagemsg($subject,$message); |
($msgid,$message)=&packagemsg($subject,$message); |
$status=&Apache::lonnet::cput('nohist_email',$msgid => $message); |
$status=&Apache::lonnet::critical( |
|
'put:'.$domain.':'.$user.':nohist_email:'. |
|
&Apache::lonnet::escape($msgid).'='. |
|
&Apache::lonnet::escape($message),$homeserver); |
} else { |
} else { |
$status='no_host'; |
$status='no_host'; |
} |
} |
Line 143 sub user_normal_msg {
|
Line 165 sub user_normal_msg {
|
return $status; |
return $status; |
} |
} |
|
|
|
# ===================================================================== Handler |
|
|
|
sub handler { |
|
my $r=shift; |
|
|
|
# ----------------------------------------------------------- Set document type |
|
|
|
$r->content_type('text/html'); |
|
$r->send_http_header; |
|
|
|
return OK if $r->header_only; |
|
|
|
# --------------------------------------------------------------- Render Output |
|
|
|
$r->print('<html><head><title>EMail and Messaging</title></head>'); |
|
$r->print('<body bgcolor="#FFFFFF">'); |
|
$r->print('<h1>EMail</h1>'); |
|
$r->print('</body></html>'); |
|
return OK; |
|
|
|
} |
# ================================================= Main program, reset counter |
# ================================================= Main program, reset counter |
|
|
sub BEGIN { |
sub BEGIN { |