--- loncom/interface/lonmsgdisplay.pm 2019/08/06 17:53:56 1.181.2.2 +++ loncom/interface/lonmsgdisplay.pm 2021/12/14 00:20:07 1.181.2.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.181.2.2 2019/08/06 17:53:56 raeburn Exp $ +# $Id: lonmsgdisplay.pm,v 1.181.2.8 2021/12/14 00:20:07 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -782,11 +782,14 @@ sub groupmail_header { if ($grouppagelink) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>$grouppagelink, - text=>"Group: $description", - title=>"Go to group's home page"},); + text=>&mt('Group').": $description", + title=>&mt("Go to group's home page"), + no_mt=>1, + },); } else { &Apache::lonhtmlcommon::add_breadcrumb - ({text=>"Group: $description",}); + ({text=>&mt('Group').": $description", + no_mt=>1,}); } &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/email?compose=group&group=". @@ -799,8 +802,9 @@ sub groupmail_header { title=>"E-mails sent"},); } my $groupheader = &Apache::loncommon::start_page('Group Message'); - $groupheader .= &Apache::lonhtmlcommon::breadcrumbs - ('Group - '.$env{'form.group'}.' Email'); + $groupheader .= &Apache::lonhtmlcommon::breadcrumbs( + &mt('Group messages - [_1]',$description), + undef,undef,undef,undef,1); return $groupheader; } @@ -861,7 +865,7 @@ sub discrit { .&Apache::lonhtmlcommon::row_closure(1); } $result .= &Apache::lonhtmlcommon::row_title(&mt('Message'),undef,'LC_evenrow_value') - .'
'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'' + .'
'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'' .&Apache::lonhtmlcommon::row_closure() .&Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value') .'
'); @@ -1124,7 +1131,7 @@ ENDDISHEADER } $r->print('
'); if ($numblocked > 0) { - $r->print(&blocked_in_folder($numblocked,$startblock,$endblock, + $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,$by_ip,$clientip,$blockdom, \%setters)); } return; @@ -1314,20 +1321,26 @@ ENDDISHEADER $r->print(''); if ($numblocked > 0) { $r->print(&blocked_in_folder($numblocked,$startblock,$endblock, - \%setters)); + $by_ip,$clientip,$blockdom,\%setters)); } } sub blocked_in_folder { - my ($numblocked,$startblock,$endblock,$setters) = @_; - my $beginblock = &Apache::lonlocal::locallocaltime($startblock); - my $finishblock = &Apache::lonlocal::locallocaltime($endblock); - my $output = ''. + ''. &Apache::lontexconvert::msgtexconverted($content{'message'}). ''; } @@ -2099,14 +2115,16 @@ sub displaymessage { my %setters = (); my $numblocked = 0; my $crstype = &Apache::loncommon::course_type(); + my $clientip = &Apache::lonnet::get_requestor_ip($r); # info to generate "next" and "previous" buttons and check if message is blocked - my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com'); - my @messages=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus); + my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) = + &Apache::loncommon::blockcheck(\%setters,'com',$clientip); + my @messages=&sortedmessages(\%blocked,$startblock,$endblock,$by_ip,\$numblocked,$folder,$msgstatus); if ( $blocked{$msgid} eq 'ON' ) { &printheader($r,'/adm/email',&mt('Display a Message')); #$r->print(&mt('You attempted to display a message that is currently blocked because you are enrolled in one or more courses for which there is an ongoing online exam.')); - my($blocked, $blocktext) = &Apache::loncommon::blocking_status("com"); + my($blocked, $blocktext) = &Apache::loncommon::blocking_status("com",$clientip); $r->print("
".$blocktext); return; } @@ -2140,8 +2158,28 @@ sub displaymessage { my $number_of_messages = scalar(@messages); #subtract 1 for last index + my $head_extra; + +# if student's view of resource will be included +# get tag(s) for css file(s) in use, and pass to &header to include +# in call to loncommon::start_page() + + if (($env{'request.course.id'} eq $content{'courseid'}) && + (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) { + my $symb; + if (defined($content{'symb'})) { + $symb = $content{'symb'}; + } elsif (defined($content{'baseurl'})) { + $symb=&Apache::lonnet::symbread($content{'baseurl'}); + } + if ($symb) { + $head_extra = &Apache::loncommon::css_links($symb); + } + } + # start output - &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'}); + &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','', + $content{'baseurl'},$head_extra); # Prepare available functions my @functionlist; @@ -2490,7 +2528,7 @@ sub displaymessage { # Message $r->print(&Apache::lonhtmlcommon::row_title(&mt('Message')) - .'' + .'' .&Apache::lontexconvert::msgtexconverted($content{'message'},1) .'' ); @@ -2675,11 +2713,16 @@ sub displayresource { # ================================================================== The Header sub header { - my ($r,$title,$baseurl)=@_; + my ($r,$title,$baseurl,$head_extra)=@_; my $extra = &Apache::loncommon::studentbrowser_javascript(); if ($baseurl) { $extra .= ""; } + $extra .= ''; + if ($head_extra) { + $extra .= "\n$head_extra"; + } $r->print(&Apache::loncommon::start_page('Messages', $extra)); $r->print(&Apache::lonhtmlcommon::breadcrumbs @@ -2689,11 +2732,11 @@ sub header { # ---------------------------------------------------------------- Print header sub printheader { - my ($r,$url,$desc,$title,$baseurl)=@_; + my ($r,$url,$desc,$title,$baseurl,$head_extra)=@_; &Apache::lonhtmlcommon::add_breadcrumb ({href=>$url, text=>$desc}); - &header($r,$title,$baseurl); + &header($r,$title,$baseurl,$head_extra); } # ------------------------------------------------------------ Store the comment @@ -2920,7 +2963,7 @@ sub sendoffmail { &Apache::lonnet::logthis('Failed to store To, Bcc and Cc recipients for '.$env{'user.name'}.':'.$env{'user.domain'}); } if ($env{'form.attachment'}) { - if (length($env{'form.attachment'})<131072) { + if (length($env{'form.attachment'}) <= 1048576) { $attachmenturl=&Apache::lonnet::userfileupload('attachment',undef,'feedback/'.$now); } else { $r->print(' '.&mt('Attachment not included - exceeded permitted length').'
');