version 1.111, 2009/02/04 20:14:45
|
version 1.122, 2009/04/25 20:22:07
|
Line 136 sub folderlist {
|
Line 136 sub folderlist {
|
|
|
); |
); |
|
|
|
# set se lastvisit for the new mail check in the toplevel menu |
|
&Apache::lonnet::appenv({'user.mailcheck.lastvisit'=>time}); |
|
|
my %actions = &Apache::lonlocal::texthash( |
my %actions = &Apache::lonlocal::texthash( |
view => 'View Folder', |
view => 'View Folder', |
rename => 'Rename Folder', |
rename => 'Rename Folder', |
Line 838 sub sortedmessages {
|
Line 841 sub sortedmessages {
|
} |
} |
|
|
foreach my $msgid (@messages) { |
foreach my $msgid (@messages) { |
|
next if ($msgid eq ''); |
my $esc_msgid=&escape($msgid); |
my $esc_msgid=&escape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,$processid,$symb,$error) = |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid,$processid,$symb,$error) = |
&Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef, |
&Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef, |
Line 1078 ENDDISHEADER
|
Line 1082 ENDDISHEADER
|
$r->print("</tr>\n"); |
$r->print("</tr>\n"); |
|
|
my $suffix = &Apache::lonmsg::foldersuffix($folder); |
my $suffix = &Apache::lonmsg::foldersuffix($folder); |
|
my $count = 0; |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID, |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID, |
$description,$recv_name,$recv_domain)= |
$description,$recv_name,$recv_domain)= |
@{$temp[$n]}; |
@{$temp[$n]}; |
if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) { |
if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) { |
|
$count ++; |
if ($status eq 'new') { |
if ($status eq 'new') { |
$r->print('<tr class="LC_mail_new">'); |
$r->print('<tr class="LC_mail_new">'); |
} elsif ($status eq 'read') { |
} elsif ($status eq 'read') { |
Line 1114 ENDDISHEADER
|
Line 1120 ENDDISHEADER
|
} |
} |
} |
} |
my $localsenttime = &Apache::lonlocal::locallocaltime($sendtime); |
my $localsenttime = &Apache::lonlocal::locallocaltime($sendtime); |
my $count = $n +1; |
|
$r->print('<td align="right"><span class="LC_nobreak">'.(($status eq 'new')?'<b>':''). |
$r->print('<td align="right"><span class="LC_nobreak">'.(($status eq 'new')?'<b>':''). |
$count.'.'.(($status eq 'new')?'</b>':'').' '. |
$count.'.'.(($status eq 'new')?'</b>':'').' '. |
'<input type="checkbox" name="delmark"'. |
'<input type="checkbox" name="delmark"'. |
Line 1185 ENDDISHEADER
|
Line 1190 ENDDISHEADER
|
'" onclick="javascript:validate_checkedaction()"/></td>'."\n". |
'" onclick="javascript:validate_checkedaction()"/></td>'."\n". |
'</tr></table>'); |
'</tr></table>'); |
my $postedstartdis=$startdis+1; |
my $postedstartdis=$startdis+1; |
$r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" ><input type="hidden" name="markedaction" value="" /></form>'); |
$r->print('<input type="hidden" name="folder" value="'.$folder.'" /><input type="hidden" name="startdis" value="'.$postedstartdis.'" /><input type="hidden" name="interdis" value="'.$env{'form.interdis'}.'" /><input type="hidden" name="msgstatus" value="'.$msgstatus.'" /><input type="hidden" name="markedaction" value="" /></form>'); |
if ($numblocked > 0) { |
if ($numblocked > 0) { |
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock, |
$r->print(&blocked_in_folder($numblocked,$startblock,$endblock, |
\%setters)); |
\%setters)); |
Line 1240 sub compout {
|
Line 1245 sub compout {
|
} elsif ($multiforward) { |
} elsif ($multiforward) { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/email?folder=".&escape($folder), |
({href=>"/adm/email?folder=".&escape($folder), |
text=>"Display all Messages"}); |
text=>"Display All Messages"}); |
&printheader($r,'/adm/email?compose=multiforward', |
&printheader($r,'/adm/email?compose=multiforward', |
'Forwarding Multiple Messages'); |
'Forwarding Multiple Messages'); |
if ($multiforward > 1) { |
if ($multiforward > 1) { |
Line 1576 $wysiwyglink);
|
Line 1581 $wysiwyglink);
|
$r->print(<<"ENDCOMP"); |
$r->print(<<"ENDCOMP"); |
$attachrow |
$attachrow |
</table><br /> |
</table><br /> |
$latexHelp |
$latexHelp<br /> |
<textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg |
<textarea name="message" id="message" cols="80" rows="15" wrap="hard">$dismsg |
</textarea>$wysiwyglink |
</textarea>$wysiwyglink |
$sendmode |
$sendmode |
Line 2148 END
|
Line 2153 END
|
foreach my $block (@{$typeorder}) { |
foreach my $block (@{$typeorder}) { |
my $blockstatus = ''; |
my $blockstatus = ''; |
if ($blocks->{$block} eq 'on') { |
if ($blocks->{$block} eq 'on') { |
$blockstatus = 'checked="true"'; |
$blockstatus = 'checked="checked"'; |
} |
} |
$r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />'); |
$r->print('<label><input type="checkbox" name="'.$block.'_'.$parmcount.'" '.$blockstatus.' value="1" />'.$types->{$block}.'</label><br />'); |
} |
} |
Line 2215 END
|
Line 2220 END
|
sub blocktype_text { |
sub blocktype_text { |
my %types = &Apache::lonlocal::texthash( |
my %types = &Apache::lonlocal::texthash( |
'com' => 'Messaging', |
'com' => 'Messaging', |
'chat' => 'Chat', |
'chat' => 'Chat Room', |
'boards' => 'Discussion', |
'boards' => 'Discussion', |
'port' => 'Portfolio', |
'port' => 'Portfolio', |
'groups' => 'Groups', |
'groups' => 'Groups', |
Line 2278 sub displaymessage {
|
Line 2283 sub displaymessage {
|
&printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'}); |
&printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'}); |
my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'}); |
my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'}); |
|
|
# Functions and Actions |
|
my $li_start='<span class="LC_nobreak">• '; |
|
my $li_end='</span> '; |
|
|
|
# Prepare available functions |
# Prepare available functions |
my $functionlist=''; |
my @functionlist; |
if (!$content{'noreplies'}) { |
if (!$content{'noreplies'}) { |
$functionlist.=$li_start |
push(@functionlist,'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">' |
.'<a href="/adm/email?replyto='.&escape($msgid).$sqs.'">' |
|
.&mt('Reply') |
.&mt('Reply') |
.'</a>' |
.'</a>'); |
.$li_end; |
|
} |
} |
$functionlist.=$li_start |
push(@functionlist,'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">' |
.'<a href="/adm/email?forward='.&escape($msgid).$sqs.'">' |
|
.&mt('Forward') |
.&mt('Forward') |
.'</a>' |
.'</a>'); |
.$li_end; |
push(@functionlist,'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">' |
$functionlist.=$li_start |
|
.'<a href="/adm/email?markunread='.&escape($msgid).$sqs.'">' |
|
.&mt('Mark Unread') |
.&mt('Mark Unread') |
.'</a>' |
.'</a>'); |
.$li_end; |
push(@functionlist,'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">' |
$functionlist.=$li_start |
|
.'<a href="/adm/email?markdel='.&escape($msgid).$sqs.'">' |
|
.&mt('Delete') |
.&mt('Delete') |
.'</a>' |
.'</a>'); |
.$li_end; |
push(@functionlist,'<a href="/adm/email?'.$sqs.'">' |
$functionlist.=$li_start |
|
.'<a href="/adm/email?'.$sqs.'">' |
|
.&mt('Back to Folder Display') |
.&mt('Back to Folder Display') |
.'</a>' |
.'</a>'); |
.$li_end; |
|
if ($counter > 0){ |
if ($counter > 0){ |
$functionlist.=$li_start |
push(@functionlist,'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">' |
.'<a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.'">' |
.&mt('Previous') |
.&mt('Previous') |
.'</a>'); |
.'</a>' |
|
.$li_end; |
|
} |
} |
if ($counter < $number_of_messages - 1){ |
if ($counter < $number_of_messages - 1){ |
$functionlist.=$li_start |
push(@functionlist,'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">' |
.'<a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.'">' |
.&mt('Next') |
.&mt('Next') |
.'</a>'); |
.'</a>' |
|
.$li_end; |
|
} |
} |
# Print functions |
# Print functions |
|
my $legendtext='<span class="LC_mail_functions">' |
|
.&mt('Functions') |
|
.'</span>'; |
$r->print('<div class="LC_left_float">' |
$r->print('<div class="LC_left_float">' |
.'<fieldset>' |
.&Apache::lontemplate::start_functionslist($legendtext) |
.'<legend><span class="LC_mail_functions">' |
); |
.&mt('Functions') |
foreach my $item (@functionlist) { |
.'</span></legend>' |
$r->print(&Apache::lontemplate::item_functionslist($item)); |
.$functionlist |
} |
.'</fieldset>' |
$r->print(&Apache::lontemplate::end_functionslist() |
.'</div>' |
.'</div>' |
); |
); |
|
|
Line 2344 sub displaymessage {
|
Line 2334 sub displaymessage {
|
$symb=&Apache::lonnet::symbread($content{'baseurl'}); |
$symb=&Apache::lonnet::symbread($content{'baseurl'}); |
} |
} |
if ($env{'user.adv'}) { |
if ($env{'user.adv'}) { |
my $actionlist=''; |
my @actionlist; |
|
|
if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) { |
if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) { |
$actionlist.=$li_start |
push(@actionlist,&Apache::loncommon::track_student_link( |
.&Apache::loncommon::track_student_link( |
&mt('View recent activity') |
&mt('View recent activity'),$content{'sendername'},$content{'senderdomain'},'check') |
,$content{'sendername'} |
.$li_end; |
,$content{'senderdomain'} |
|
,'check')); |
} |
} |
if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) { |
if (&Apache::lonnet::allowed('opa',$env{'request.course.id'}) && $symb) { |
$actionlist.=$li_start |
push(@actionlist,&Apache::loncommon::pprmlink( |
.&Apache::loncommon::pprmlink( |
&mt('Set/Change parameters') |
&mt('Set/Change parameters'),$content{'sendername'},$content{'senderdomain'},$symb,'check') |
,$content{'sendername'} |
.$li_end; |
,$content{'senderdomain'} |
|
,$symb |
|
,'check')); |
} |
} |
if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) { |
if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'}) && $symb) { |
$actionlist.=$li_start |
push(@actionlist,&Apache::loncommon::pgrdlink( |
.&Apache::loncommon::pgrdlink( |
&mt('Set/Change grades') |
&mt('Set/Change grades'),$content{'sendername'},$content{'senderdomain'},$symb,'check') |
,$content{'sendername'} |
.$li_end; |
,$content{'senderdomain'} |
|
,$symb |
|
,'check')); |
} |
} |
|
|
# Print actions |
# Print actions |
if ($actionlist) { |
if (@actionlist) { |
|
$legendtext=&mt('[_1]Currently available actions[_2] (will open extra window):' |
|
,'<span class="LC_mail_functions">','</span>'); |
$r->print('<div class="LC_left_float">' |
$r->print('<div class="LC_left_float">' |
.'<fieldset>' |
.&Apache::lontemplate::start_functionslist($legendtext) |
.'<legend>' |
); |
.&mt('[_1]Currently available actions[_2] (will open extra window):','<span class="LC_mail_functions">','</span>') |
foreach my $item (@actionlist) { |
.'</legend>' |
$r->print(&Apache::lontemplate::item_functionslist($item)); |
.$actionlist |
} |
.'</fieldset>' |
$r->print(&Apache::lontemplate::end_functionslist() |
.'</div>' |
.'</div>' |
); |
); |
} |
} |
Line 2800 sub displayresource {
|
Line 2797 sub displayresource {
|
|
|
sub header { |
sub header { |
my ($r,$title,$baseurl)=@_; |
my ($r,$title,$baseurl)=@_; |
|
|
my $extra = &Apache::loncommon::studentbrowser_javascript(); |
my $extra = &Apache::loncommon::studentbrowser_javascript(); |
if ($baseurl) { |
if ($baseurl) { |
$extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />"; |
$extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />"; |
} |
} |
$r->print(&Apache::loncommon::start_page('Communication and Messages', |
$r->print(&Apache::loncommon::start_page('Communication', |
$extra)); |
$extra)); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
(($title?$title:'Communication and Messages'))); |
(($title?$title:'Send and Receive Messages'))); |
} |
} |
|
|
# ---------------------------------------------------------------- Print header |
# ---------------------------------------------------------------- Print header |
Line 3179 sub sendoffmail {
|
Line 3175 sub sendoffmail {
|
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
} |
} |
} else { |
} else { |
$r->print('<p><span class="LC_error">'.&mt('Could not deliver message').'</span> '. |
$r->print('<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'<br /> '. |
&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>'); |
&mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'</p>'); |
} |
} |
} |
} |
Line 3483 sub handler {
|
Line 3479 sub handler {
|
my $showfolder = $env{'form.newfolder'}; |
my $showfolder = $env{'form.newfolder'}; |
my ($makeresult,$warning) = &makefolder($env{'form.newfolder'}); |
my ($makeresult,$warning) = &makefolder($env{'form.newfolder'}); |
if ($makeresult eq 'ok') { |
if ($makeresult eq 'ok') { |
$r->print(&mt('Mail folder "[_1]" created.',$showfolder).'<br />'); |
$r->print(&mt('Folder "[_1]" created.',$showfolder).'<br />'); |
} else { |
} else { |
$r->print(&mt('Creation failed.').' '.$makeresult.'<br />'. |
$r->print(&mt('Creation failed.').' '.$makeresult.'<br />'. |
$warning); |
$warning); |
Line 3498 sub handler {
|
Line 3494 sub handler {
|
my $showfolder = ''; |
my $showfolder = ''; |
my $delresult = &deletefolder($folder); |
my $delresult = &deletefolder($folder); |
if ($delresult eq 'ok') { |
if ($delresult eq 'ok') { |
$r->print(&mt('Mail folder "[_1]" deleted.',$folder).'<br />'); |
$r->print(&mt('Folder "[_1]" deleted.',$folder).'<br />'); |
$env{'form.folder'} = ''; |
$env{'form.folder'} = ''; |
} else { |
} else { |
$r->print(&mt('Deletion failed.').' '.$delresult.'<br />'); |
$r->print(&mt('Deletion failed.').' '.$delresult.'<br />'); |
Line 3511 sub handler {
|
Line 3507 sub handler {
|
my $showfolder = $env{'form.renamed'}; |
my $showfolder = $env{'form.renamed'}; |
my $renresult = &renamefolder($folder); |
my $renresult = &renamefolder($folder); |
if ($renresult eq 'ok') { |
if ($renresult eq 'ok') { |
$r->print(&mt('Mail folder "[_1]" renamed "[_2]".',$folder,$showfolder).'<br />'); |
$r->print(&mt('Folder "[_1]" renamed to "[_2]".',$folder,$showfolder).'<br />'); |
} else { |
} else { |
$r->print(&mt('Renaming failed.').' '.$renresult.'<br />'); |
$r->print(&mt('Renaming failed.').' '.$renresult.'<br />'); |
$showfolder = $folder; |
$showfolder = $folder; |
Line 3519 sub handler {
|
Line 3515 sub handler {
|
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
&disall($r,$showfolder,$msgstatus); |
&disall($r,$showfolder,$msgstatus); |
} else { |
} else { |
&printheader($r,'','Display all Messages'); |
&printheader($r,'','Display All Messages'); |
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
&disall($r,($folder?$folder:$dismode),$msgstatus); |
&disall($r,($folder?$folder:$dismode),$msgstatus); |
} |
} |