version 1.128, 2005/01/01 18:36:13
|
version 1.139, 2005/03/01 03:28:14
|
Line 90 also has a student role in the course, A
|
Line 90 also has a student role in the course, A
|
|
|
Users can ask LON-CAPA to forward messages to conventional e-mail |
Users can ask LON-CAPA to forward messages to conventional e-mail |
addresses on their B<PREF> screen, but generally, LON-CAPA messages |
addresses on their B<PREF> screen, but generally, LON-CAPA messages |
are much more useful then traditional email can be made to be, even |
are much more useful than traditional email can be made to be, even |
with HTML support. |
with HTML support. |
|
|
Right now, this document will cover just how to send a message, since |
Right now, this document will cover just how to send a message, since |
Line 239 sub sendemail {
|
Line 239 sub sendemail {
|
# ==================================================== Send notification emails |
# ==================================================== Send notification emails |
|
|
sub sendnotification { |
sub sendnotification { |
my ($to,$touname,$toudom,$subj,$crit)=@_; |
my ($to,$touname,$toudom,$subj,$crit,$text)=@_; |
my $sender=$ENV{'environment.firstname'}.' '.$ENV{'environment.lastname'}; |
my $sender=$ENV{'environment.firstname'}.' '.$ENV{'environment.lastname'}; |
|
unless ($sender=~/\w/) { |
|
$sender=$ENV{'user.name'}.'@'.$ENV{'user.domain'}; |
|
} |
my $critical=($crit?' critical':''); |
my $critical=($crit?' critical':''); |
|
$text=~s/\<\;/\</gs; |
|
$text=~s/\>\;/\>/gs; |
|
$text=~s/\<\/*[^\>]+\>//gs; |
my $url='http://'. |
my $url='http://'. |
$Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}. |
$Apache::lonnet::hostname{&Apache::lonnet::homeserver($touname,$toudom)}. |
'/adm/email?username='.$touname.'&domain='.$toudom; |
'/adm/email?username='.$touname.'&domain='.$toudom; |
Line 250 You received a$critical message from $se
|
Line 256 You received a$critical message from $se
|
|
|
$subj |
$subj |
|
|
|
=== Excerpt ============================================================ |
|
$text |
|
======================================================================== |
|
|
Use |
Use |
|
|
$url |
$url |
|
|
to access this message. |
to access the full message. |
ENDMSG |
ENDMSG |
&sendemail($to,'New'.$critical.' message from '.$sender,$body); |
&sendemail($to,'New'.$critical.' message from '.$sender,$body); |
} |
} |
Line 346 sub all_url_author_res_msg {
|
Line 356 sub all_url_author_res_msg {
|
# ================================================== Critical message to a user |
# ================================================== Critical message to a user |
|
|
sub user_crit_msg_raw { |
sub user_crit_msg_raw { |
my ($user,$domain,$subject,$message,$sendback)=@_; |
my ($user,$domain,$subject,$message,$sendback,$toperm)=@_; |
# Check if allowed missing |
# Check if allowed missing |
my $status=''; |
my $status=''; |
my $msgid='undefined'; |
my $msgid='undefined'; |
unless (($message)&&($user)&&($domain)) { $status='empty'; }; |
unless (($message)&&($user)&&($domain)) { $status='empty'; }; |
|
my $text=$message; |
my $homeserver=&Apache::lonnet::homeserver($user,$domain); |
my $homeserver=&Apache::lonnet::homeserver($user,$domain); |
if ($homeserver ne 'no_host') { |
if ($homeserver ne 'no_host') { |
($msgid,$message)=&packagemsg($subject,$message); |
($msgid,$message)=&packagemsg($subject,$message); |
Line 370 sub user_crit_msg_raw {
|
Line 381 sub user_crit_msg_raw {
|
$status='no_host'; |
$status='no_host'; |
} |
} |
# Notifications |
# Notifications |
my %userenv = &Apache::lonnet::get('environment',['critnotification'], |
my %userenv = &Apache::lonnet::get('environment',['critnotification', |
|
'permanentemail'], |
$domain,$user); |
$domain,$user); |
if ($userenv{'critnotification'}) { |
if ($userenv{'critnotification'}) { |
&sendnotification($userenv{'critnotification'},$user,$domain,$subject,1); |
&sendnotification($userenv{'critnotification'},$user,$domain,$subject,1, |
|
$text); |
|
} |
|
if ($toperm && $userenv{'permanentemail'}) { |
|
&sendnotification($userenv{'permanentemail'},$user,$domain,$subject,1, |
|
$text); |
} |
} |
# Log this |
# Log this |
&Apache::lonnet::logthis( |
&Apache::lonnet::logthis( |
Line 397 sub user_crit_msg_raw {
|
Line 414 sub user_crit_msg_raw {
|
=cut |
=cut |
|
|
sub user_crit_msg { |
sub user_crit_msg { |
my ($user,$domain,$subject,$message,$sendback)=@_; |
my ($user,$domain,$subject,$message,$sendback,$toperm)=@_; |
my $status=''; |
my $status=''; |
my %userenv = &Apache::lonnet::get('environment',['msgforward'], |
my %userenv = &Apache::lonnet::get('environment',['msgforward'], |
$domain,$user); |
$domain,$user); |
Line 407 sub user_crit_msg {
|
Line 424 sub user_crit_msg {
|
my ($forwuser,$forwdomain)=split(/\:/,$_); |
my ($forwuser,$forwdomain)=split(/\:/,$_); |
$status.= |
$status.= |
&user_crit_msg_raw($forwuser,$forwdomain,$subject,$message, |
&user_crit_msg_raw($forwuser,$forwdomain,$subject,$message, |
$sendback).' '; |
$sendback,$toperm).' '; |
} |
} |
} else { |
} else { |
$status=&user_crit_msg_raw($user,$domain,$subject,$message,$sendback); |
$status=&user_crit_msg_raw($user,$domain,$subject,$message,$sendback,$toperm); |
} |
} |
return $status; |
return $status; |
} |
} |
Line 444 sub user_crit_received {
|
Line 461 sub user_crit_received {
|
# ======================================================== Normal communication |
# ======================================================== Normal communication |
|
|
sub user_normal_msg_raw { |
sub user_normal_msg_raw { |
my ($user,$domain,$subject,$message,$citation,$baseurl,$attachmenturl)=@_; |
my ($user,$domain,$subject,$message,$citation,$baseurl,$attachmenturl, |
|
$toperm)=@_; |
# Check if allowed missing |
# Check if allowed missing |
my $status=''; |
my $status=''; |
my $msgid='undefined'; |
my $msgid='undefined'; |
|
my $text=$message; |
unless (($message)&&($user)&&($domain)) { $status='empty'; }; |
unless (($message)&&($user)&&($domain)) { $status='empty'; }; |
my $homeserver=&Apache::lonnet::homeserver($user,$domain); |
my $homeserver=&Apache::lonnet::homeserver($user,$domain); |
if ($homeserver ne 'no_host') { |
if ($homeserver ne 'no_host') { |
Line 471 sub user_normal_msg_raw {
|
Line 490 sub user_normal_msg_raw {
|
$status='no_host'; |
$status='no_host'; |
} |
} |
# Notifications |
# Notifications |
my %userenv = &Apache::lonnet::get('environment',['notification'], |
my %userenv = &Apache::lonnet::get('environment',['notification', |
|
'permanentemail'], |
$domain,$user); |
$domain,$user); |
if ($userenv{'notification'}) { |
if ($userenv{'notification'}) { |
&sendnotification($userenv{'notification'},$user,$domain,$subject,0); |
&sendnotification($userenv{'notification'},$user,$domain,$subject,0, |
|
$text); |
|
} |
|
if ($toperm && $userenv{'permanentemail'}) { |
|
&sendnotification($userenv{'permanentemail'},$user,$domain,$subject,0, |
|
$text); |
} |
} |
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, |
&Apache::lonnet::log($ENV{'user.domain'},$ENV{'user.name'}, |
$ENV{'user.home'}, |
$ENV{'user.home'}, |
Line 493 sub user_normal_msg_raw {
|
Line 518 sub user_normal_msg_raw {
|
=cut |
=cut |
|
|
sub user_normal_msg { |
sub user_normal_msg { |
my ($user,$domain,$subject,$message,$citation,$baseurl,$attachmenturl)=@_; |
my ($user,$domain,$subject,$message,$citation,$baseurl,$attachmenturl, |
|
$toperm)=@_; |
my $status=''; |
my $status=''; |
my %userenv = &Apache::lonnet::get('environment',['msgforward'], |
my %userenv = &Apache::lonnet::get('environment',['msgforward'], |
$domain,$user); |
$domain,$user); |
Line 503 sub user_normal_msg {
|
Line 529 sub user_normal_msg {
|
my ($forwuser,$forwdomain)=split(/\:/,$_); |
my ($forwuser,$forwdomain)=split(/\:/,$_); |
$status.= |
$status.= |
&user_normal_msg_raw($forwuser,$forwdomain,$subject,$message, |
&user_normal_msg_raw($forwuser,$forwdomain,$subject,$message, |
$citation,$baseurl,$attachmenturl).' '; |
$citation,$baseurl,$attachmenturl,$toperm).' '; |
} |
} |
} else { |
} else { |
$status=&user_normal_msg_raw($user,$domain,$subject,$message, |
$status=&user_normal_msg_raw($user,$domain,$subject,$message, |
$citation,$baseurl,$attachmenturl); |
$citation,$baseurl,$attachmenturl,$toperm); |
} |
} |
return $status; |
return $status; |
} |
} |
Line 613 sub discourse {
|
Line 639 sub discourse {
|
my $r=shift; |
my $r=shift; |
my $classlist = &Apache::loncoursedata::get_classlist(); |
my $classlist = &Apache::loncoursedata::get_classlist(); |
my $now=time; |
my $now=time; |
my %lt=&Apache::lonlocal::texthash('cfa' => 'Check for All', |
my %lt=&Apache::lonlocal::texthash('cfa' => 'Check All', |
'cfs' => 'Check for Section/Group', |
'cfs' => 'Check Section/Group', |
'cfn' => 'Check for None'); |
'cfn' => 'Uncheck All'); |
$r->print(<<ENDDISHEADER); |
$r->print(<<ENDDISHEADER); |
<input type="hidden" name="sendmode" value="group" /> |
<input type="hidden" name="sendmode" value="group" /> |
<script> |
<script> |
Line 649 sub discourse {
|
Line 675 sub discourse {
|
</script> |
</script> |
<input type="button" onClick="checkall()" value="$lt{'cfa'}" /> |
<input type="button" onClick="checkall()" value="$lt{'cfa'}" /> |
<input type="button" onClick="checksec()" value="$lt{'cfs'}" /> |
<input type="button" onClick="checksec()" value="$lt{'cfs'}" /> |
<input type="text" size="5" name=chksec /> |
<input type="text" size="5" name="chksec" /> |
<input type="button" onClick="uncheckall()" value="$lt{'cfn'}" /> |
<input type="button" onClick="uncheckall()" value="$lt{'cfn'}" /> |
<p> |
<p> |
ENDDISHEADER |
ENDDISHEADER |
Line 667 ENDDISHEADER
|
Line 693 ENDDISHEADER
|
} |
} |
} |
} |
$r->print('</table><table>'); |
$r->print('</table><table>'); |
while (my ($student,$info) = each(%$classlist)) { |
my $sort = sub { |
|
my $aname=lc($classlist->{$a}[&Apache::loncoursedata::CL_FULLNAME()]); |
|
if (!$aname) { $aname=$a; } |
|
my $bname=lc($classlist->{$b}[&Apache::loncoursedata::CL_FULLNAME()]); |
|
if (!$bname) { $bname=$b; } |
|
return $aname cmp $bname; |
|
}; |
|
foreach my $student (sort $sort (keys(%{$classlist}))) { |
|
my $info=$classlist->{$student}; |
my ($sname,$sdom,$status,$fullname,$section) = |
my ($sname,$sdom,$status,$fullname,$section) = |
(@{$info}[&Apache::loncoursedata::CL_SNAME(), |
(@{$info}[&Apache::loncoursedata::CL_SNAME(), |
&Apache::loncoursedata::CL_SDOM(), |
&Apache::loncoursedata::CL_SDOM(), |
Line 675 ENDDISHEADER
|
Line 709 ENDDISHEADER
|
&Apache::loncoursedata::CL_FULLNAME(), |
&Apache::loncoursedata::CL_FULLNAME(), |
&Apache::loncoursedata::CL_SECTION()]); |
&Apache::loncoursedata::CL_SECTION()]); |
next if ($status ne 'Active'); |
next if ($status ne 'Active'); |
my $key = 'send_to_&&&'.$section.'&&&'.$student; |
my $key = 'send_to_&&&'.$section.'&&&_'.$student; |
if (! defined($fullname) || $fullname eq '') { $fullname = $sname; } |
if (! defined($fullname) || $fullname eq '') { $fullname = $sname; } |
$r->print('<tr><td><label>'. |
$r->print('<tr><td><label>'. |
qq{<input type="checkbox" name="$key">}.(' 'x2). |
qq{<input type="checkbox" name="$key" />}.(' 'x2). |
$fullname.'</td><td>'.$sname.'@'.$sdom.'</td><td>'.$section. |
$fullname.'</label></td><td>'.$sname.'@'.$sdom.'</td><td>'.$section. |
'</td></tr>'); |
'</td></tr>'); |
} |
} |
$r->print('</table>'); |
$r->print('</table>'); |
Line 690 ENDDISHEADER
|
Line 724 ENDDISHEADER
|
sub discrit { |
sub discrit { |
my $r=shift; |
my $r=shift; |
my $header = '<h1><font color=red>'.&mt('Critical Messages').'</font></h1>'. |
my $header = '<h1><font color=red>'.&mt('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'); |
my $result = ''; |
my $result = ''; |
foreach (sort keys %what) { |
foreach (sort keys %what) { |
Line 703 sub discrit {
|
Line 737 sub discrit {
|
$content{'sendername'}.'@'. |
$content{'sendername'}.'@'. |
$content{'senderdomain'}.') '.$content{'time'}. |
$content{'senderdomain'}.') '.$content{'time'}. |
'<br />'.&mt('Subject').': '.$content{'subject'}. |
'<br />'.&mt('Subject').': '.$content{'subject'}. |
'<br /><blockquote>'. |
'<br /><pre>'. |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
'</blockquote><small>'. |
'</pre><small>'. |
&mt('You have to confirm that you received this message. After confirmation, this message will be moved to your regular inbox'). |
&mt('You have to confirm that you received this message. After confirmation, this message will be moved to your regular inbox'). |
'</small><br />'. |
'</small><br />'. |
'<input type=submit name="rec_'.$_.'" value="'.&mt('Confirm Receipt').'">'. |
'<input type="submit" name="rec_'.$_.'" value="'.&mt('Confirm Receipt').'" />'. |
'<input type=submit name="reprec_'.$_.'" '. |
'<input type="submit" name="reprec_'.$_.'" '. |
'value="'.&mt('Confirm Receipt and Reply').'">'; |
'value="'.&mt('Confirm Receipt and Reply').'" />'; |
} |
} |
# Check to see if there were any messages. |
# Check to see if there were any messages. |
if ($result eq '') { |
if ($result eq '') { |
Line 836 TABLEHEAD
|
Line 870 TABLEHEAD
|
foreach my $msg (@newmsgs) { |
foreach my $msg (@newmsgs) { |
$r->print(<<"ENDLINK"); |
$r->print(<<"ENDLINK"); |
<tr bgcolor="#FFBB77"> |
<tr bgcolor="#FFBB77"> |
<td><a href="/adm/email?display=$msg->{'msgid'}">$lt{'op'}</a></td> |
<td><a href="/adm/email?dismode=new&display=$msg->{'msgid'}">$lt{'op'}</a></td> |
ENDLINK |
ENDLINK |
foreach ('sendtime','from','fromdom','shortsub') { |
foreach ('sendtime','from','fromdom','shortsub') { |
$r->print("<td>$msg->{$_}</td>"); |
$r->print("<td>$msg->{$_}</td>"); |
} |
} |
$r->print("</td></tr>"); |
$r->print("</td></tr>"); |
} |
} |
$r->print('</table></body></html>'); |
$r->print('</table>'.&Apache::loncommon::endbodytag().'</html>'); |
} elsif ($numblocked == 0) { |
} elsif ($numblocked == 0) { |
$r->print("<h3>".&mt('You have no unread messages')."</h3>"); |
$r->print("<h3>".&mt('You have no unread messages')."</h3>"); |
} |
} |
Line 953 ENDDISHEADER
|
Line 987 ENDDISHEADER
|
} |
} |
$r->print('</th><th>'); |
$r->print('</th><th>'); |
if ($ENV{'form.sortedby'} eq "revstatus") { |
if ($ENV{'form.sortedby'} eq "revstatus") { |
$r->print('<a href = "?sortedby=status'.$fsqs.'">'.&mt('Status').'</th>'); |
$r->print('<a href = "?sortedby=status'.$fsqs.'">'.&mt('Status').'</a></th>'); |
} else { |
} else { |
$r->print('<a href = "?sortedby=revstatus'.$fsqs.'">'.&mt('Status').'</th>'); |
$r->print('<a href = "?sortedby=revstatus'.$fsqs.'">'.&mt('Status').'</a></th>'); |
} |
} |
$r->print("</tr>\n"); |
$r->print("</tr>\n"); |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
Line 970 ENDDISHEADER
|
Line 1004 ENDDISHEADER
|
} else { |
} else { |
$r->print('<tr bgcolor="#99BBBB">'); |
$r->print('<tr bgcolor="#99BBBB">'); |
} |
} |
$r->print('<td></a><input type=checkbox name="delmark_'.$origID.'" /></td><td><a href="/adm/email?display='.$origID.$sqs. |
$r->print('<td><input type="checkbox" name="delmark_'.$origID.'" /></td><td><a href="/adm/email?display='.$origID.$sqs. |
'">'.&mt('Open').'</a></td><td>'. |
'">'.&mt('Open').'</a></td><td>'. |
($folder ne 'trash'?'<a href="/adm/email?markdel='.$origID.$sqs. |
($folder ne 'trash'?'<a href="/adm/email?markdel='.$origID.$sqs. |
'">'.&mt('Delete'):' ').'</td>'. |
'">'.&mt('Delete'):' ').'</a></td>'. |
'<td>'.&Apache::lonlocal::locallocaltime($sendtime).'</td><td>'. |
'<td>'.&Apache::lonlocal::locallocaltime($sendtime).'</td><td>'. |
$fromname.'</td><td>'.$fromdomain.'</td><td>'. |
$fromname.'</td><td>'.$fromdomain.'</td><td>'. |
&Apache::lonnet::unescape($shortsubj).'</td><td>'. |
&Apache::lonnet::unescape($shortsubj).'</td><td>'. |
Line 1056 sub compout {
|
Line 1090 sub compout {
|
if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { |
if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { |
my $crithelp = Apache::loncommon::help_open_topic("Course_Critical_Message"); |
my $crithelp = Apache::loncommon::help_open_topic("Course_Critical_Message"); |
$dispcrit= |
$dispcrit= |
'<input type="checkbox" name="critmsg" /> '.&mt('Send as critical message').' ' . $crithelp . |
'<p><label><input type="checkbox" name="critmsg" /> '.&mt('Send as critical message').'</label> ' . $crithelp . |
'<br>'. |
'</p><p>'. |
'<input type="checkbox" name="sendbck" /> '.&mt('Send as critical message').' ' . |
'<label><input type="checkbox" name="sendbck" /> '.&mt('Send as critical message').' ' . |
&mt('and return receipt') . $crithelp . '<p>'; |
&mt('and return receipt') . '</label>' . $crithelp . |
|
'</p><p><label><input type="checkbox" name="permanent" /> '. |
|
&mt('Send copy to permanent email address (if known)').'</label></p>'; |
} |
} |
my %message; |
my %message; |
my %content; |
my %content; |
Line 1093 sub compout {
|
Line 1129 sub compout {
|
if ($content{'baseurl'}) { |
if ($content{'baseurl'}) { |
$disbase='<input type="hidden" name="baseurl" value="'.&Apache::lonnet::escape($content{'baseurl'}).'" />'; |
$disbase='<input type="hidden" name="baseurl" value="'.&Apache::lonnet::escape($content{'baseurl'}).'" />'; |
if ($ENV{'user.adv'}) { |
if ($ENV{'user.adv'}) { |
$disbase.='<input type="checkbox" name="storebasecomment" />'.&mt('Store message for re-use'). |
$disbase.='<label><input type="checkbox" name="storebasecomment" />'.&mt('Store message for re-use'). |
' <a href="/adm/email?showcommentbaseurl='. |
'</label> <a href="/adm/email?showcommentbaseurl='. |
&Apache::lonnet::escape($content{'baseurl'}).'" target="comments">'. |
&Apache::lonnet::escape($content{'baseurl'}).'" target="comments">'. |
&mt('Show re-usable messages').'</a><br />'; |
&mt('Show re-usable messages').'</a><br />'; |
} |
} |
Line 1122 sub compout {
|
Line 1158 sub compout {
|
my $selectlink=&Apache::loncommon::selectstudent_link |
my $selectlink=&Apache::loncommon::selectstudent_link |
('compemail','recuname','recdomain'); |
('compemail','recuname','recdomain'); |
$r->print(<<"ENDREC"); |
$r->print(<<"ENDREC"); |
<tr><td>$lt{'us'}:</td><td><input type="text" size="12" name="recuname" value="$ENV{'form.recname'}"></td><td rowspan="2">$selectlink</td></tr> |
<tr><td>$lt{'us'}:</td><td><input type="text" size="12" name="recuname" value="$ENV{'form.recname'}" /></td><td rowspan="2">$selectlink</td></tr> |
<tr><td>$lt{'do'}:</td> |
<tr><td>$lt{'do'}:</td> |
<td>$domform</td></tr> |
<td>$domform</td></tr> |
ENDREC |
ENDREC |
Line 1238 sub disfacetoface {
|
Line 1274 sub disfacetoface {
|
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),$content{'sendername'},$content{'senderdomain'}).'</b> ('. |
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),$content{'sendername'},$content{'senderdomain'}).'</b> ('. |
$content{'sendername'}.'@'. |
$content{'sendername'}.'@'. |
$content{'senderdomain'}.') '.$content{'time'}. |
$content{'senderdomain'}.') '.$content{'time'}. |
'<br /><blockquote>'. |
'<br /><pre>'. |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
'</blockquote>'; |
'</pre>'; |
} |
} |
# Check to see if there were any messages. |
# Check to see if there were any messages. |
if ($result eq '') { |
if ($result eq '') { |
Line 1372 sub examblock {
|
Line 1408 sub examblock {
|
$r->print($lt{'ncbc'}.'<br /><br />'); |
$r->print($lt{'ncbc'}.'<br /><br />'); |
} |
} |
&display_addblocker_table($r,$parmcount,\%ltext); |
&display_addblocker_table($r,$parmcount,\%ltext); |
|
my $endbody=&Apache::loncommon::endbodytag(); |
$r->print(<<"END"); |
$r->print(<<"END"); |
<br /> |
<br /> |
<input type="hidden" name="blocktotal" value="$blockcount" /> |
<input type="hidden" name="blocktotal" value="$blockcount" /> |
<input type ="submit" value="Save Changes" /> |
<input type ="submit" value="Save Changes" /> |
</form> |
</form> |
</body> |
$endbody |
</html> |
</html> |
END |
END |
return; |
return; |
Line 1523 END
|
Line 1560 END
|
<tr bgcolor="$bgcols[$iter]"> |
<tr bgcolor="$bgcols[$iter]"> |
<td>$$ltext{'star'}: $startform<br/>$$ltext{'endd'}: $endform</td> |
<td>$$ltext{'star'}: $startform<br/>$$ltext{'endd'}: $endform</td> |
<td>$settername</td> |
<td>$settername</td> |
<td><input type="text" name="title_$parmcount" size="15" value="$title"/><input type="hidden" name="key_$parmcount" value="$_"></td> |
<td><input type="text" name="title_$parmcount" size="15" value="$title" /><input type="hidden" name="key_$parmcount" value="$_" /></td> |
<td>$lt{'modi'}? <input type="checkbox" name="modify_$parmcount"/><br />$lt{'canc'}? <input type="checkbox" name="cancel_$parmcount"/> |
<td><label>$lt{'modi'}? <input type="checkbox" name="modify_$parmcount" /></label><br /><label>$lt{'canc'}? <input type="checkbox" name="cancel_$parmcount" /></label> |
</tr> |
</tr> |
END |
END |
$parmcount ++; |
$parmcount ++; |
Line 1576 sub display_addblocker_table {
|
Line 1613 sub display_addblocker_table {
|
</tr> |
</tr> |
<tr bgcolor="#eeeeee"> |
<tr bgcolor="#eeeeee"> |
<td>$$ltext{'star'}: $startform<br />$$ltext{'endd'}: $endform</td> |
<td>$$ltext{'star'}: $startform<br />$$ltext{'endd'}: $endform</td> |
<td><input type="text" name="title_$parmcount" size="15" value=""/></td> |
<td><input type="text" name="title_$parmcount" size="15" value="" /></td> |
<td>$lt{'addb'}? <input type="checkbox" name="add_$parmcount" value="1"/></td> |
<td><label>$lt{'addb'}? <input type="checkbox" name="add_$parmcount" value="1" /></label></td> |
</tr> |
</tr> |
</table> |
</table> |
</td> |
</td> |
Line 1739 sub displaymessage {
|
Line 1776 sub displaymessage {
|
'<td><a href="/adm/email?markdel='.&Apache::lonnet::escape($msgid).$sqs. |
'<td><a href="/adm/email?markdel='.&Apache::lonnet::escape($msgid).$sqs. |
'"><b>Delete</b></a></td>'. |
'"><b>Delete</b></a></td>'. |
'<td><a href="/adm/email?'.$sqs. |
'<td><a href="/adm/email?'.$sqs. |
|
($ENV{'form.dismode'} eq 'new'?'&folder=new':''). |
'"><b>'.&mt('Back to Folder Display').'</b></a></td>'); |
'"><b>'.&mt('Back to Folder Display').'</b></a></td>'); |
if ($counter > 0){ |
if ($counter > 0){ |
$r->print('<td><a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs. |
$r->print('<td><a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs. |
Line 1810 sub displayresource {
|
Line 1848 sub displayresource {
|
|
|
sub header { |
sub header { |
my ($r,$title,$baseurl)=@_; |
my ($r,$title,$baseurl)=@_; |
$r->print('<html><head><title>Communication and Messages</title>'); |
$r->print(&Apache::lonxml::xmlbegin(). |
|
'<head>'.&Apache::lonxml::fontsettings(). |
|
'<title>Communication and Messages</title>'); |
if ($baseurl) { |
if ($baseurl) { |
$r->print("<base href=\"http://$ENV{'SERVER_NAME'}/$baseurl\" />"); |
$r->print("<base href=\"http://$ENV{'SERVER_NAME'}/$baseurl\" />"); |
} |
} |
Line 1850 sub storedcommentlisting {
|
Line 1890 sub storedcommentlisting {
|
my ($r)=@_; |
my ($r)=@_; |
my %msgs=&Apache::lonnet::dump('nohist_stored_comments',undef,undef, |
my %msgs=&Apache::lonnet::dump('nohist_stored_comments',undef,undef, |
'^'.&Apache::lonnet::escape(&Apache::lonnet::escape($ENV{'form.showcommentbaseurl'}))); |
'^'.&Apache::lonnet::escape(&Apache::lonnet::escape($ENV{'form.showcommentbaseurl'}))); |
$r->print('<html><body>'); |
$r->print(&Apache::lonxml::xmlbegin().'<head>'. |
|
&Apache::lonxml::fontsettings().'</head><body>'); |
if ((keys %msgs)[0]=~/^error\:/) { |
if ((keys %msgs)[0]=~/^error\:/) { |
$r->print(&mt('No stored comments yet.')); |
$r->print(&mt('No stored comments yet.')); |
} else { |
} else { |
Line 1933 sub sendoffmail {
|
Line 1974 sub sendoffmail {
|
$thismsg=&user_crit_msg($recuname,$recdomain, |
$thismsg=&user_crit_msg($recuname,$recdomain, |
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}), |
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}), |
$msgtxt, |
$msgtxt, |
$ENV{'form.sendbck'}); |
$ENV{'form.sendbck'},$ENV{'form.permanent'}); |
} else { |
} else { |
$r->print(&mt('Sending').' '.$recuname.'@'.$recdomain.': '); |
$r->print(&mt('Sending').' '.$recuname.'@'.$recdomain.': '); |
$thismsg=&user_normal_msg($recuname,$recdomain, |
$thismsg=&user_normal_msg($recuname,$recdomain, |
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}), |
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}), |
$msgtxt, |
$msgtxt, |
$content{'citation'}); |
$content{'citation'},undef,undef,$ENV{'form.permanent'}); |
if (($ENV{'request.course.id'}) && ($ENV{'form.sendmode'} eq 'group')) { |
if (($ENV{'request.course.id'}) && ($ENV{'form.sendmode'} eq 'group')) { |
&user_normal_msg_raw( |
&user_normal_msg_raw( |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}, |
$ENV{'course.'.$ENV{'request.course.id'}.'.num'}, |
Line 1986 sub handler {
|
Line 2027 sub handler {
|
['display','replyto','forward','markread','markdel','markunread', |
['display','replyto','forward','markread','markdel','markunread', |
'sendreply','compose','sendmail','critical','recname','recdom', |
'sendreply','compose','sendmail','critical','recname','recdom', |
'recordftf','sortedby','block','folder','startdis','interdis', |
'recordftf','sortedby','block','folder','startdis','interdis', |
'showcommentbaseurl']); |
'showcommentbaseurl','dismode']); |
$sqs='&sortedby='.$ENV{'form.sortedby'}; |
$sqs='&sortedby='.$ENV{'form.sortedby'}; |
|
|
# ------------------------------------------------------ They checked for email |
# ------------------------------------------------------ They checked for email |
Line 2121 sub handler {
|
Line 2162 sub handler {
|
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} |
} |
$r->print('</body></html>'); |
$r->print(&Apache::loncommon::endbodytag().'</html>'); |
return OK; |
return OK; |
} |
} |
# ================================================= Main program, reset counter |
# ================================================= Main program, reset counter |