version 1.28, 2002/02/16 19:59:10
|
version 1.33, 2002/06/24 14:33:21
|
Line 40
|
Line 40
|
# 07/27,07/28,07/30,08/03,08/06,08/08,08/09,08/10,8/13,8/15, |
# 07/27,07/28,07/30,08/03,08/06,08/08,08/09,08/10,8/13,8/15, |
# 10/1,11/5 Gerd Kortemeyer |
# 10/1,11/5 Gerd Kortemeyer |
# YEAR=2002 |
# YEAR=2002 |
# 1/1 Gerd Kortemeyer |
# 1/1,3/18 Gerd Kortemeyer |
# |
# |
package Apache::lonmsg; |
package Apache::lonmsg; |
|
|
Line 303 ENDDISHEADER
|
Line 303 ENDDISHEADER
|
|
|
sub discrit { |
sub discrit { |
my $r=shift; |
my $r=shift; |
$r->print('<h1><font color=red>Critical Messages</font></h1>'. |
my $header = '<h1><font color=red>Critical Messages</font></h1>'. |
'<form action=/adm/email method=post>'. |
'<form action=/adm/email method=post>'. |
'<input type=hidden name=confirm value=true>'); |
'<input type=hidden name=confirm value=true>'; |
my %what=&Apache::lonnet::dump('critical'); |
my %what=&Apache::lonnet::dump('critical'); |
foreach (sort keys %what) { |
my $result = ''; |
my %content=&unpackagemsg($what{$_}); |
foreach (sort keys %what) { |
$content{'message'}=~s/\n/\<br\>/g; |
my %content=&unpackagemsg($what{$_}); |
$r->print('<hr>From: <b>'.$content{'sendername'}.'@'. |
next if ($content{'senderdomain'} eq ''); |
$content{'senderdomain'}.'</b> ('.$content{'time'}. |
$content{'message'}=~s/\n/\<br\>/g; |
')<br><blockquote>'.$content{'message'}.'</blockquote>'. |
$result.='<hr>From: <b>'.$content{'sendername'}.'@'. |
'<input type=submit name="rec_'.$_.'" value="Confirm Receipt">'. |
$content{'senderdomain'}.'</b> ('.$content{'time'}. |
'<input type=submit name="reprec_'.$_.'" value="Confirm Receipt and Reply">'); |
')<br><blockquote>'.$content{'message'}.'</blockquote>'. |
} |
'<input type=submit name="rec_'.$_.'" value="Confirm Receipt">'. |
$r->print( |
'<input type=submit name="reprec_'.$_.'" '. |
'<input type=hidden name="displayedcrit" value="true"></form>'); |
'value="Confirm Receipt and Reply">'; |
|
} |
|
# Check to see if there were any messages. |
|
if ($result eq '') { |
|
$result = "<h2>You have no critical messages.</h2>"; |
|
} else { |
|
$r->print($header); |
|
} |
|
$r->print($result); |
|
$r->print('<input type=hidden name="displayedcrit" value="true"></form>'); |
} |
} |
|
|
# =============================================================== Compose reply |
# =============================================================== Compose reply |
Line 355 ENDREPLY
|
Line 364 ENDREPLY
|
|
|
sub disall { |
sub disall { |
my $r=shift; |
my $r=shift; |
$r->print( |
$r->print(<<ENDDISHEADER); |
'<h1>Display All Messages</h1><form method=post action="/adm/email">'. |
<script> |
|
function checkall() { |
|
for (i=0; i<document.forms.disall.elements.length; i++) { |
|
if |
|
(document.forms.disall.elements[i].name.indexOf('delmark_')==0) { |
|
document.forms.disall.elements[i].checked=true; |
|
} |
|
} |
|
} |
|
|
|
function uncheckall() { |
|
for (i=0; i<document.forms.disall.elements.length; i++) { |
|
if |
|
(document.forms.disall.elements[i].name.indexOf('delmark_')==0) { |
|
document.forms.disall.elements[i].checked=false; |
|
} |
|
} |
|
} |
|
</script> |
|
ENDDISHEADER |
|
$r->print( |
|
'<h1>Display All Messages</h1><form method=post name=disall '. |
|
'action="/adm/email">'. |
'<table border=2><tr><th colspan=2> </th><th>Date</th>'. |
'<table border=2><tr><th colspan=2> </th><th>Date</th>'. |
'<th>Username</th><th>Domain</th><th>Subject</th><th>Status</th></tr>'); |
'<th>Username</th><th>Domain</th><th>Subject</th><th>Status</th></tr>'); |
foreach (sort split(/\&/,&Apache::lonnet::reply('keys:'. |
foreach (sort split(/\&/,&Apache::lonnet::reply('keys:'. |
Line 365 sub disall {
|
Line 396 sub disall {
|
$ENV{'user.home'}))) { |
$ENV{'user.home'}))) { |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)= |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)= |
&Apache::lonmsg::unpackmsgid($_); |
&Apache::lonmsg::unpackmsgid($_); |
unless ($status eq 'deleted') { |
unless (($status eq 'deleted') || ($sendtime=~/error/)) { |
if ($status eq 'new') { |
if ($status eq 'new') { |
$r->print('<tr bgcolor="#FFBB77">'); |
$r->print('<tr bgcolor="#FFBB77">'); |
} elsif ($status eq 'read') { |
} elsif ($status eq 'read') { |
Line 385 sub disall {
|
Line 416 sub disall {
|
} |
} |
} |
} |
$r->print('</table><p>'. |
$r->print('</table><p>'. |
|
'<a href="javascript:checkall()">Check All</a> '. |
|
'<a href="javascript:uncheckall()">Uncheck All</a><p>'. |
'<input type=submit name="markeddel" value="Delete Checked">'. |
'<input type=submit name="markeddel" value="Delete Checked">'. |
'</form></body></html>'); |
'</form></body></html>'); |
} |
} |
Line 416 sub compout {
|
Line 449 sub compout {
|
} |
} |
my $defdom=$ENV{'user.domain'}; |
my $defdom=$ENV{'user.domain'}; |
$r->print( |
$r->print( |
'<form action="/adm/email" name="compemail" method=post'. |
'<form action="/adm/email" name="compemail" method="post"'. |
' enctype="multipart/form-data">'. |
' enctype="multipart/form-data">'."\n". |
'<input type=hidden name=sendmail value=on><table>'); |
'<input type="hidden" name="sendmail" value="on">'."\n". |
|
'<table>'); |
unless (($broadcast eq 'group') || ($broadcast eq 'upload')) { |
unless (($broadcast eq 'group') || ($broadcast eq 'upload')) { |
|
my $domform = &Apache::loncommon::select_dom_form($defdom,'recdomain'); |
|
|
$r->print(<<"ENDREC"); |
$r->print(<<"ENDREC"); |
<table> |
<table> |
<tr><td>Username:</td><td><input type=text size=12 name=recuname></td></tr> |
<tr><td>Username:</td><td><input type=text size=12 name=recuname></td></tr> |
<tr><td>Domain:</td> |
<tr><td>Domain:</td> |
<td><input type=text size=12 name=recdomain value="$defdom"></td></tr> |
<td>$domform</td></tr> |
ENDREC |
ENDREC |
} |
} |
unless ($broadcast eq 'upload') { |
if ($broadcast ne 'upload') { |
$r->print(<<"ENDCOMP"); |
$r->print(<<"ENDCOMP"); |
<tr><td>Additional Recipients<br><tt>username\@domain,username\@domain, ... |
<tr><td>Additional Recipients<br><tt>username\@domain,username\@domain, ... |
</tt></td><td> |
</tt></td><td> |
Line 439 ENDREC
|
Line 475 ENDREC
|
$dispcrit |
$dispcrit |
<input type=submit value="$func Mail"> |
<input type=submit value="$func Mail"> |
ENDCOMP |
ENDCOMP |
} |
} else { # $broadcast is 'upload' |
if ($broadcast eq 'upload') { |
|
$r->print(<<ENDUPLOAD); |
$r->print(<<ENDUPLOAD); |
<input type=hidden name=sendmode value=upload> |
<input type=hidden name=sendmode value=upload> |
<h3>Generate messages from a file</h3> |
<h3>Generate messages from a file</h3> |
|
<p> |
Subject: <input type=text size=50 name=subject> |
Subject: <input type=text size=50 name=subject> |
|
</p> |
|
<p>General message text<br /> |
|
<textarea name=message cols=60 rows=10 wrap=hard>$dismsg |
|
</textarea></p> |
|
<p> |
|
The file format for the uploaded portion of the message is: |
<pre> |
<pre> |
username1\@domain1: text |
username1\@domain1: text |
username2\@domain2: text |
username2\@domain2: text |
username1\@domain1: text |
username3\@domain1: text |
</pre> |
</pre> |
|
</p> |
|
<p> |
The messages will be assembled from all lines with the respective |
The messages will be assembled from all lines with the respective |
<tt>username\@domain</tt>, and appended to the general message text.<p> |
<tt>username\@domain</tt>, and appended to the general message text.</p> |
|
<p> |
<input type=file name=upfile size=20><p> |
<input type=file name=upfile size=20><p> |
General message text:<p> |
|
<textarea name=message cols=60 rows=10 wrap=hard>$dismsg |
|
</textarea><p> |
|
$dispcrit |
$dispcrit |
<input type=submit value="Upload and send"> |
<input type=submit value="Upload and send"> |
ENDUPLOAD |
ENDUPLOAD |
Line 479 sub handler {
|
Line 521 sub handler {
|
return OK if $r->header_only; |
return OK if $r->header_only; |
|
|
# --------------------------- Get query string for limited number of parameters |
# --------------------------- Get query string for limited number of parameters |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
foreach (split(/&/,$ENV{'QUERY_STRING'})) { |
['display','replyto','forward','markread','markdel','markunread', |
my ($name, $value) = split(/=/,$_); |
'sendreply','compose','sendmail','critical']); |
$value =~ tr/+/ /; |
|
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; |
|
if (($name eq 'display') || ($name eq 'replyto') || |
|
($name eq 'forward') || ($name eq 'markread') || |
|
($name eq 'markdel') || ($name eq 'markunread') || |
|
($name eq 'sendreply') || ($name eq 'compose') || |
|
($name eq 'sendmail') || ($name eq 'critical')) { |
|
unless ($ENV{'form.'.$name}) { |
|
$ENV{'form.'.$name}=$value; |
|
} |
|
} |
|
} |
|
|
|
# --------------------------------------------------------------- Render Output |
# --------------------------------------------------------------- Render Output |
|
|