version 1.119, 2004/11/15 21:37:44
|
version 1.124, 2004/12/15 01:17:09
|
Line 537 sub folderlist {
|
Line 537 sub folderlist {
|
|
|
sub scrollbuttons { |
sub scrollbuttons { |
my ($start,$maxdis,$first,$finish,$total)=@_; |
my ($start,$maxdis,$first,$finish,$total)=@_; |
|
unless ($total>0) { return ''; } |
$start++; $maxdis++;$first++;$finish++; |
$start++; $maxdis++;$first++;$finish++; |
|
return |
'<input type="submit" name="firstview" value="'.&mt('First').'" />'. |
'<input type="submit" name="firstview" value="'.&mt('First').'" />'. |
'<input type="submit" name="prevview" value="'.&mt('Previous').'" />'. |
'<input type="submit" name="prevview" value="'.&mt('Previous').'" />'. |
'<input type="text" size="5" name="startdis" value="'.$start.'" onChange="this.form.submit()" /> of '.$maxdis. |
'<input type="text" size="5" name="startdis" value="'.$start.'" onChange="this.form.submit()" /> of '.$maxdis. |
Line 697 sub discrit {
|
Line 699 sub discrit {
|
foreach (sort keys %what) { |
foreach (sort keys %what) { |
my %content=&unpackagemsg($what{$_}); |
my %content=&unpackagemsg($what{$_}); |
next if ($content{'senderdomain'} eq ''); |
next if ($content{'senderdomain'} eq ''); |
$content{'message'}=~s/\n/\<br\>/g; |
|
$result.='<hr />'.&mt('From').': <b>'. |
$result.='<hr />'.&mt('From').': <b>'. |
&Apache::loncommon::aboutmewrapper( |
&Apache::loncommon::aboutmewrapper( |
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),$content{'sendername'},$content{'senderdomain'}).'</b> ('. |
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),$content{'sendername'},$content{'senderdomain'}).'</b> ('. |
Line 913 ENDDISHEADER
|
Line 914 ENDDISHEADER
|
my $fsqs='&folder='.$folder; |
my $fsqs='&folder='.$folder; |
my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder); |
my @temp=sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder); |
my $totalnumber=$#temp+1; |
my $totalnumber=$#temp+1; |
|
unless ($totalnumber>0) { |
|
$r->print('<h2>'.&mt('Empty Folder').'</h2>'); |
|
return; |
|
} |
my $number=int($totalnumber/$interdis); |
my $number=int($totalnumber/$interdis); |
if (($startdis<0) || ($startdis>$number)) { $startdis=$number; } |
if (($startdis<0) || ($startdis>$number)) { $startdis=$number; } |
my $firstdis=$interdis*$startdis; |
my $firstdis=$interdis*$startdis; |
Line 1006 ENDDISHEADER
|
Line 1011 ENDDISHEADER
|
|
|
sub compout { |
sub compout { |
my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder)=@_; |
my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder)=@_; |
|
my $suffix=&foldersuffix($folder); |
|
|
if ($broadcast eq 'individual') { |
if ($broadcast eq 'individual') { |
&printheader($r,'/adm/email?compose=individual', |
&printheader($r,'/adm/email?compose=individual', |
Line 1057 sub compout {
|
Line 1063 sub compout {
|
my %content; |
my %content; |
my $defdom=$ENV{'user.domain'}; |
my $defdom=$ENV{'user.domain'}; |
if ($forwarding) { |
if ($forwarding) { |
%message=&Apache::lonnet::get('nohist_email',[$forwarding]); |
%message=&Apache::lonnet::get('nohist_email'.$suffix,[$forwarding]); |
%content=&unpackagemsg($message{$forwarding},$folder); |
%content=&unpackagemsg($message{$forwarding},$folder); |
$dispcrit.='<input type="hidden" name="forwid" value="'. |
$dispcrit.='<input type="hidden" name="forwid" value="'. |
$forwarding.'" />'; |
$forwarding.'" />'; |
Line 1071 sub compout {
|
Line 1077 sub compout {
|
} |
} |
} |
} |
if ($replying) { |
if ($replying) { |
%message=&Apache::lonnet::get('nohist_email',[$replying]); |
%message=&Apache::lonnet::get('nohist_email'.$suffix,[$replying]); |
%content=&unpackagemsg($message{$replying},$folder); |
%content=&unpackagemsg($message{$replying},$folder); |
$dispcrit.='<input type="hidden" name="replyid" value="'. |
$dispcrit.='<input type="hidden" name="replyid" value="'. |
$replying.'" />'; |
$replying.'" />'; |
Line 1085 sub compout {
|
Line 1091 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').'<br />'; |
$disbase.='<input type="checkbox" name="storebasecomment" />'.&mt('Store message for re-use'). |
|
' <a href="/adm/email?showcommentbaseurl='. |
|
&Apache::lonnet::escape($content{'baseurl'}).'" target="comments">'. |
|
&mt('Show re-usable messages').'</a><br />'; |
} |
} |
} |
} |
} |
} |
Line 1821 sub printheader {
|
Line 1830 sub printheader {
|
&header($r,$title,$baseurl); |
&header($r,$title,$baseurl); |
} |
} |
|
|
|
# ------------------------------------------------------------ Store the comment |
|
|
|
sub storecomment { |
|
my ($r)=@_; |
|
my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'}); |
|
my $cleanmsgtxt=''; |
|
foreach (split(/[\n\r]/,$msgtxt)) { |
|
unless ($_=~/^\s*(\>|\>\;)/) { |
|
$cleanmsgtxt.=$_."\n"; |
|
} |
|
} |
|
my $key=&Apache::lonnet::escape($ENV{'form.baseurl'}).'___'.time; |
|
&Apache::lonnet::put('nohist_stored_comments',{ $key => $cleanmsgtxt }); |
|
} |
|
|
|
sub storedcommentlisting { |
|
my ($r)=@_; |
|
my %msgs=&Apache::lonnet::dump('nohist_stored_comments',undef,undef, |
|
'^'.&Apache::lonnet::escape(&Apache::lonnet::escape($ENV{'form.showcommentbaseurl'}))); |
|
$r->print('<html><body>'); |
|
if ((keys %msgs)[0]=~/^error\:/) { |
|
$r->print(&mt('No stored comments yet.')); |
|
} else { |
|
my $found=0; |
|
foreach (sort keys %msgs) { |
|
$r->print("\n".$msgs{$_}."<hr />"); |
|
$found=1; |
|
} |
|
unless ($found) { |
|
$r->print(&mt('No stored comments yet for this resource.')); |
|
} |
|
} |
|
} |
|
|
# ---------------------------------------------------------------- Send an email |
# ---------------------------------------------------------------- Send an email |
|
|
sub sendoffmail { |
sub sendoffmail { |
my ($r)=@_; |
my ($r,$folder)=@_; |
|
my $suffix=&foldersuffix($folder); |
my $sendstatus=''; |
my $sendstatus=''; |
if ($ENV{'form.send'}) { |
if ($ENV{'form.send'}) { |
&printheader($r,'','Messages being sent.'); |
&printheader($r,'','Messages being sent.'); |
Line 1833 sub sendoffmail {
|
Line 1877 sub sendoffmail {
|
undef %content; |
undef %content; |
if ($ENV{'form.forwid'}) { |
if ($ENV{'form.forwid'}) { |
my $msgid=$ENV{'form.forwid'}; |
my $msgid=$ENV{'form.forwid'}; |
my %message=&Apache::lonnet::get('nohist_email',[$msgid]); |
my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]); |
%content=&unpackagemsg($message{$msgid},1); |
%content=&unpackagemsg($message{$msgid},1); |
&statuschange($msgid,'forwarded'); |
&statuschange($msgid,'forwarded',$folder); |
$ENV{'form.message'}.="\n\n-- Forwarded message --\n\n". |
$ENV{'form.message'}.="\n\n-- Forwarded message --\n\n". |
$content{'message'}; |
$content{'message'}; |
} |
} |
if ($ENV{'form.replyid'}) { |
if ($ENV{'form.replyid'}) { |
my $msgid=$ENV{'form.replyid'}; |
my $msgid=$ENV{'form.replyid'}; |
my %message=&Apache::lonnet::get('nohist_email',[$msgid]); |
my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]); |
%content=&unpackagemsg($message{$msgid},1); |
%content=&unpackagemsg($message{$msgid},1); |
&statuschange($msgid,'replied'); |
&statuschange($msgid,'replied',$folder); |
} |
} |
my %toaddr=(); |
my %toaddr=(); |
undef %toaddr; |
undef %toaddr; |
Line 1873 sub sendoffmail {
|
Line 1917 sub sendoffmail {
|
|
|
foreach (keys %toaddr) { |
foreach (keys %toaddr) { |
my ($recuname,$recdomain)=split(/\:/,$_); |
my ($recuname,$recdomain)=split(/\:/,$_); |
my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'}); |
my $msgtxt; |
|
if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && |
|
(&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) { |
|
$msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'},1); |
|
} else { |
|
$msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'}); |
|
} |
if ($toaddr{$_}) { $msgtxt.='<hr />'.$toaddr{$_}; } |
if ($toaddr{$_}) { $msgtxt.='<hr />'.$toaddr{$_}; } |
my $thismsg; |
my $thismsg; |
if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && |
if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && |
Line 1934 sub handler {
|
Line 1984 sub handler {
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['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']); |
$sqs='&sortedby='.$ENV{'form.sortedby'}. |
$sqs='&sortedby='.$ENV{'form.sortedby'}. |
'&startdis='.$ENV{'form.startdis'}. |
'&startdis='.$ENV{'form.startdis'}. |
'&interdis='.$ENV{'form.interdis'}; |
'&interdis='.$ENV{'form.interdis'}; |
Line 2007 sub handler {
|
Line 2058 sub handler {
|
&printheader($r,'','Displaying Critical Messages'); |
&printheader($r,'','Displaying Critical Messages'); |
&discrit($r); |
&discrit($r); |
} elsif ($ENV{'form.forward'}) { |
} elsif ($ENV{'form.forward'}) { |
&compout($r,$ENV{'form.forward'}); |
&compout($r,$ENV{'form.forward'},undef,undef,undef,$folder); |
} elsif ($ENV{'form.markdel'}) { |
} elsif ($ENV{'form.markdel'}) { |
&printheader($r,'','Deleted Message'); |
&printheader($r,'','Deleted Message'); |
&statuschange($ENV{'form.markdel'},'deleted',$folder); |
&statuschange($ENV{'form.markdel'},'deleted',$folder); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} elsif ($ENV{'form.markedmove'}) { |
} elsif ($ENV{'form.markedmove'}) { |
my $total=0; |
my $total=0; |
Line 2023 sub handler {
|
Line 2075 sub handler {
|
} |
} |
&printheader($r,'','Moved Messages'); |
&printheader($r,'','Moved Messages'); |
$r->print('Moved '.$total.' message(s)<p>'); |
$r->print('Moved '.$total.' message(s)<p>'); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} elsif ($ENV{'form.markeddel'}) { |
} elsif ($ENV{'form.markeddel'}) { |
my $total=0; |
my $total=0; |
Line 2034 sub handler {
|
Line 2087 sub handler {
|
} |
} |
&printheader($r,'','Deleted Messages'); |
&printheader($r,'','Deleted Messages'); |
$r->print('Deleted '.$total.' message(s)<p>'); |
$r->print('Deleted '.$total.' message(s)<p>'); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} elsif ($ENV{'form.markunread'}) { |
} elsif ($ENV{'form.markunread'}) { |
&printheader($r,'','Marked Message as Unread'); |
&printheader($r,'','Marked Message as Unread'); |
&statuschange($ENV{'form.markunread'},'new'); |
&statuschange($ENV{'form.markunread'},'new'); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} elsif ($ENV{'form.compose'}) { |
} elsif ($ENV{'form.compose'}) { |
&compout($r,'','',$ENV{'form.compose'}); |
&compout($r,'','',$ENV{'form.compose'}); |
Line 2046 sub handler {
|
Line 2101 sub handler {
|
} elsif ($ENV{'form.block'}) { |
} elsif ($ENV{'form.block'}) { |
&examblock($r,$ENV{'form.block'}); |
&examblock($r,$ENV{'form.block'}); |
} elsif ($ENV{'form.sendmail'}) { |
} elsif ($ENV{'form.sendmail'}) { |
&sendoffmail($r); |
&sendoffmail($r,$folder); |
|
if ($ENV{'form.storebasecomment'}) { |
|
&storecomment($r); |
|
} |
|
&disall($r,$folder); |
} elsif ($ENV{'form.newfolder'}) { |
} elsif ($ENV{'form.newfolder'}) { |
&printheader($r,'','New Folder'); |
&printheader($r,'','New Folder'); |
&makefolder($ENV{'form.newfolder'}); |
&makefolder($ENV{'form.newfolder'}); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$ENV{'form.newfolder'}); |
&disall($r,$ENV{'form.newfolder'}); |
|
} elsif ($ENV{'form.showcommentbaseurl'}) { |
|
&storedcommentlisting($r); |
} else { |
} else { |
&printheader($r,'','Display All Messages'); |
&printheader($r,'','Display All Messages'); |
|
&Apache::loncommunicate::menu($r); |
&disall($r,$folder); |
&disall($r,$folder); |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |