Diff for /loncom/interface/lonmsgdisplay.pm between versions 1.181.2.9.2.3 and 1.182

version 1.181.2.9.2.3, 2023/10/07 01:47:21 version 1.182, 2015/06/18 20:19:06
Line 102  use HTML::TokeParser(); Line 102  use HTML::TokeParser();
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::longroup;  
 use Apache::lonnavmaps;  
 use Apache::lontexconvert();  use Apache::lontexconvert();
 use HTML::Entities();  use HTML::Entities();
 use Apache::lonlocal;  use Apache::lonlocal;
Line 111  use Apache::loncommunicate; Line 109  use Apache::loncommunicate;
 use Apache::lonfeedback;  use Apache::lonfeedback;
 use Apache::lonrss();  use Apache::lonrss();
 use Apache::lonselstudent();  use Apache::lonselstudent();
 use Apache::lonenc();  
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
   
Line 776  sub groupmail_header { Line 773  sub groupmail_header {
               text=>"Groups",                text=>"Groups",
               title=>$brtitle});                title=>$brtitle});
     }      }
     my $view_permission =  
           &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));  
     my $navmap=Apache::lonnavmaps::navmap->new();  
     my $grouppagelink = &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap,$view_permission,$refarg);  
     if ($grouppagelink) {  
         &Apache::lonhtmlcommon::add_breadcrumb  
             ({href=>$grouppagelink,  
               text=>&mt('Group').": $description",  
               title=>&mt("Go to group's home page"),  
               no_mt=>1,  
              },);  
     } else {  
         &Apache::lonhtmlcommon::add_breadcrumb  
             ({text=>&mt('Group').": $description",  
               no_mt=>1,});  
     }  
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
          ({href=>"/adm/email?compose=group&group=".          ({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg",
                  "$env{'form.group'}&$refarg",            text=>"Group: $description",
            text=>"Send a Message in a Group",            title=>"Go to group's home page"},
            title=>"Compose Group Message"},);           {href=>"/adm/email?compose=group&group=".
                   "$env{'form.group'}&$refarg",
             text=>"Send a Message in a Group",
             title=>"Compose Group Message"},);
     if ($action eq 'sending') {      if ($action eq 'sending') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                          ({text=>"Messages being sent.",                           ({text=>"Messages being sent.",
                            title=>"E-mails sent"},);                             title=>"E-mails sent"},);
     }      }
     my $groupheader = &Apache::loncommon::start_page('Group Message');      my $groupheader = &Apache::loncommon::start_page('Group Message');
     $groupheader .= &Apache::lonhtmlcommon::breadcrumbs(      $groupheader .= &Apache::lonhtmlcommon::breadcrumbs
                                     &mt('Group messages - [_1]',$description),                  ('Group - '.$env{'form.group'}.' Email');
                                                         undef,undef,undef,undef,1);  
     return $groupheader;      return $groupheader;
 }  }
   
Line 866  sub discrit { Line 849  sub discrit {
                       .&Apache::lonhtmlcommon::row_closure(1);                        .&Apache::lonhtmlcommon::row_closure(1);
         }          }
         $result .= &Apache::lonhtmlcommon::row_title(&mt('Message'),undef,'LC_evenrow_value')          $result .= &Apache::lonhtmlcommon::row_title(&mt('Message'),undef,'LC_evenrow_value')
                   .'<pre class="LC_wordwrap">'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'</pre>'                    .'<pre>'.&Apache::lontexconvert::msgtexconverted($content{'message'}).'</pre>'
                   .&Apache::lonhtmlcommon::row_closure()                    .&Apache::lonhtmlcommon::row_closure()
                   .&Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value')                    .&Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value')
                   .'<div class="LC_warning">';                    .'<div class="LC_warning">';
Line 913  sub discrit { Line 896  sub discrit {
 }  }
   
 sub sortedmessages {  sub sortedmessages {
     my ($blocked,$startblock,$endblock,$by_ip,$numblocked,$folder,$msgstatus) = @_;      my ($blocked,$startblock,$endblock,$numblocked,$folder,$msgstatus) = @_;
     my $suffix=&Apache::lonmsg::foldersuffix($folder);      my $suffix=&Apache::lonmsg::foldersuffix($folder);
     my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix);      my @messages = &Apache::lonnet::getkeys('nohist_email'.$suffix);
     #unpack the varibles and repack into temp for sorting      #unpack the varibles and repack into temp for sorting
Line 945  sub sortedmessages { Line 928  sub sortedmessages {
     push(@temp1,$content{'recuser'},$content{'recdomain'});      push(@temp1,$content{'recuser'},$content{'recdomain'});
  }   }
         # Check whether message was sent during blocking period.          # Check whether message was sent during blocking period.
         if (($by_ip) ||          if ($sendtime >= $startblock && ($sendtime <= $endblock && $endblock > 0) ) {
             (($sendtime >= $startblock) && ($sendtime <= $endblock && $endblock > 0))) {  
             $$blocked{$msgid} = 'ON';              $$blocked{$msgid} = 'ON';
             $$numblocked ++;              $$numblocked ++;
         } else {           } else { 
Line 1073  sub disfolder { Line 1055  sub disfolder {
     my %blocked = ();      my %blocked = ();
     my %setters = ();      my %setters = ();
     my $numblocked = 0;      my $numblocked = 0;
     my $clientip = &Apache::lonnet::get_requestor_ip($r);      my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com');
     my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =  
         &Apache::loncommon::blockcheck(\%setters,'com',$clientip);  
     my %js_lt = &Apache::lonlocal::texthash(      my %js_lt = &Apache::lonlocal::texthash(
                       sede => 'Select a destination folder to which the messages will be moved.',                        sede => 'Select a destination folder to which the messages will be moved.',
                       nome => 'No messages have been selected to apply this action to.',                        nome => 'No messages have been selected to apply this action to.',
Line 1119  sub disfolder { Line 1099  sub disfolder {
 ENDDISHEADER  ENDDISHEADER
   
     my $fsqs='&amp;folder='.$folder;      my $fsqs='&amp;folder='.$folder;
     my @temp=&sortedmessages(\%blocked,$startblock,$endblock,$by_ip,\$numblocked,$folder,$msgstatus);      my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);
     my $totalnumber=$#temp+1;      my $totalnumber=$#temp+1;
     if ($totalnumber < 1) {      if ($totalnumber < 1) {
         $r->print('<p class="LC_info">');          $r->print('<p class="LC_info">');
Line 1132  ENDDISHEADER Line 1112  ENDDISHEADER
         }          }
         $r->print('</p>');          $r->print('</p>');
         if ($numblocked > 0) {          if ($numblocked > 0) {
             $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,$by_ip,$clientip,$blockdom,              $r->print(&blocked_in_folder($numblocked,$startblock,$endblock,
                                          \%setters));                                           \%setters));
         }          }
         return;          return;
Line 1322  ENDDISHEADER Line 1302  ENDDISHEADER
     $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,
                                      $by_ip,$clientip,$blockdom,\%setters));                                       \%setters));
     }      }
 }  }
   
 sub blocked_in_folder {  sub blocked_in_folder {
     my ($numblocked,$startblock,$endblock,$by_ip,$clientip,$blockdom,$setters) = @_;      my ($numblocked,$startblock,$endblock,$setters) = @_;
     my $output;      my $beginblock = &Apache::lonlocal::locallocaltime($startblock);
     if ($by_ip) {      my $finishblock = &Apache::lonlocal::locallocaltime($endblock);
         $output = '<br /><br />'.      my $output = '<br /><br />'.
                   &mt('[quant,_1,message is, messages are] not viewable because display of LON-CAPA messages is blocked for your current IP address: [_2].',$numblocked,$clientip).'<br />'.  
                   &mt('Note: communication is being blocked for certain IP address(es).');  
     } else {  
         my $beginblock = &Apache::lonlocal::locallocaltime($startblock);  
         my $finishblock = &Apache::lonlocal::locallocaltime($endblock);  
         $output = '<br /><br />'.  
                   &mt('[quant,_1,message is, messages are] not viewable because display of LON-CAPA messages sent to you by other students between [_2] and [_3] is currently being blocked because of online exams.',$numblocked,$beginblock,$finishblock);                    &mt('[quant,_1,message is, messages are] not viewable because display of LON-CAPA messages sent to you by other students between [_2] and [_3] is currently being blocked because of online exams.',$numblocked,$beginblock,$finishblock);
     }  
     #$output .= &Apache::loncommon::build_block_table($startblock,$endblock,      #$output .= &Apache::loncommon::build_block_table($startblock,$endblock,
     #                                                 $setters);      #                                                 $setters);
     my ($blocked, $blocktext) = &Apache::loncommon::blocking_status("com",$clientip);      
       my ($blocked, $blocktext) = &Apache::loncommon::blocking_status("com");
     $output .="<br /><br />".$blocktext;      $output .="<br /><br />".$blocktext;
   
     return $output;      return $output;
Line 1352  sub blocked_in_folder { Line 1326  sub blocked_in_folder {
 sub compout {  sub compout {
     my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder,$dismode,      my ($r,$forwarding,$replying,$broadcast,$replycrit,$folder,$dismode,
         $multiforward)=@_;          $multiforward)=@_;
     my $clientip = &Apache::lonnet::get_requestor_ip($r);  
     my %setters;  
     my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =  
         &Apache::loncommon::blockcheck(\%setters,'com',$clientip);  
     if ($by_ip) {  
         my $showdom = &Apache::lonnet::domain($blockdom);  
         if ($showdom eq '') {  
             $showdom = $blockdom;  
         }  
         $r->print(&Apache::loncommon::start_page('Messages'));  
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Send and display messages'));  
         $r->print('<p class="LC_warning">'.  
                  &mt('Sending of LON-CAPA messages is blocked for your current IP address: [_1].',$clientip).'</p>'.  
                  '<ul><li>'.  
                  &mt('Note: communication is being blocked for certain IP address(es).').  
                  '</li><li>'.  
                  &mt('This restriction was set by an administrator in the [_1] LON-CAPA domain.',$showdom).  
                  '</li></ul>');  
         return;  
     }  
     my $suffix=&Apache::lonmsg::foldersuffix($folder);      my $suffix=&Apache::lonmsg::foldersuffix($folder);
     my ($cdom,$cnum,$group,$refarg);      my ($cdom,$cnum,$group,$refarg);
     if (exists($env{'form.group'})) {      if (exists($env{'form.group'})) {
Line 1451  sub compout { Line 1405  sub compout {
                     );                      );
     if (!$forwarding && !$multiforward) {      if (!$forwarding && !$multiforward) {
         $attachrow = '<tr><td colspan="3"><b>'.$lt{'atta'}.'</b> '.$attachmax{'text'}          $attachrow = '<tr><td colspan="3"><b>'.$lt{'atta'}.'</b> '.$attachmax{'text'}
             .': <input type="file" name="attachment" class="LC_flUpload" />'              .': <input type="file" name="attachment" class="flUpload" multiple />'
             .'<input type="hidden" id="LC_free_space" value="'.$attachmax{'num'}.'" />'              .'</td></tr>'
             .'</td></tr>';              .'<input type="hidden" id="free_space" value="'.$attachmax{'num'}.'" />';
     }      }
     if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})      if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})
  || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.   || &Apache::lonnet::allowed('srm',$env{'request.course.id'}.
Line 2008  sub disfacetoface { Line 1962  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 /><pre class="LC_wordwrap">'.              '<br /><pre>'.
               &Apache::lontexconvert::msgtexconverted($content{'message'}).                &Apache::lontexconvert::msgtexconverted($content{'message'}).
       '</pre>';        '</pre>';
      }       }
Line 2136  sub displaymessage { Line 2090  sub displaymessage {
     my %setters = ();      my %setters = ();
     my $numblocked = 0;      my $numblocked = 0;
     my $crstype = &Apache::loncommon::course_type();      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  # info to generate "next" and "previous" buttons and check if message is blocked
     my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =       my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com');
         &Apache::loncommon::blockcheck(\%setters,'com',$clientip);      my @messages=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus);
     my @messages=&sortedmessages(\%blocked,$startblock,$endblock,$by_ip,\$numblocked,$folder,$msgstatus);  
     if ( $blocked{$msgid} eq 'ON' ) {      if ( $blocked{$msgid} eq 'ON' ) {
         &printheader($r,'/adm/email',&mt('Display a Message'));          &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.'));          #$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",$clientip);          my($blocked, $blocktext) = &Apache::loncommon::blocking_status("com");
         $r->print("<br />".$blocktext);          $r->print("<br />".$blocktext);
         return;          return;
     }      }
Line 2179  sub displaymessage { Line 2131  sub displaymessage {
   
   
     my $number_of_messages = scalar(@messages); #subtract 1 for last index      my $number_of_messages = scalar(@messages); #subtract 1 for last index
     my $head_extra;  
   
 # if student's view of resource will be included  
 # get <link> 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  # start output
     &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',      &printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'});
                  $content{'baseurl'},$head_extra);  
   
 # Prepare available functions  # Prepare available functions
     my @functionlist;      my @functionlist;
Line 2245  sub displaymessage { Line 2177  sub displaymessage {
     my @actionlist;      my @actionlist;
     if ($env{'user.adv'}) {      if ($env{'user.adv'}) {
   
  if (($env{'request.course.id'}) && ($from_student) &&   if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
             (&Apache::lonnet::allowed('vgr',$env{'request.course.id'}))) {  
  push(@actionlist,&Apache::loncommon::track_student_link(   push(@actionlist,&Apache::loncommon::track_student_link(
                                       'View recent activity'                                        'View recent activity'
                                      ,$content{'sendername'}                                       ,$content{'sendername'}
Line 2504  sub displaymessage { Line 2435  sub displaymessage {
                               $showsymb,$env{'user.domain'},$env{'user.name'});                                $showsymb,$env{'user.domain'},$env{'user.name'});
                 if ($symb) {                  if ($symb) {
                     if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) {                      if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) {
                         unless ($showsymb =~ m{^/enc/}) {                          $showsymb = &Apache::lonenc::check_encrypt($symb);
                             $showsymb = &Apache::lonenc::encrypted($showsymb);  
                         }  
                     }                      }
                     $symblink = '?symb='.$showsymb;                      $symblink = '?symb='.$showsymb;
                 }                  }
                 if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) {                  if ($encrypturl =~ /^yes$/i && !$env{'request.role.adv'}) {
                     unless ($showurl =~ m{^/enc/}) {                      $showurl = $baseurl;
                         $showurl = &Apache::lonenc::encrypted($showurl);  
                     }  
                 }                  }
                 $r->print(&Apache::lonhtmlcommon::row_title(&mt('Refers to'))                  $r->print(&Apache::lonhtmlcommon::row_title(&mt('Refers to'))
                          .'<a href="'.$showurl.$symblink.'">'.$restitle.'</a>'                           .'<a href="'.$showurl.$symblink.'">'.$restitle.'</a>'
Line 2553  sub displaymessage { Line 2480  sub displaymessage {
   
     # Message      # Message
     $r->print(&Apache::lonhtmlcommon::row_title(&mt('Message'))      $r->print(&Apache::lonhtmlcommon::row_title(&mt('Message'))
              .'<pre class="LC_wordwrap">'               .'<pre>'
      .&Apache::lontexconvert::msgtexconverted($content{'message'},1)       .&Apache::lontexconvert::msgtexconverted($content{'message'},1)
      .'</pre>'       .'</pre>'
     );      );
Line 2707  sub displayresource { Line 2634  sub displayresource {
      && (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) {       && (&Apache::lonnet::allowed('vgr',$content{'courseid'}))) {
         my $symb;          my $symb;
         if (defined($content{'symb'})) {          if (defined($content{'symb'})) {
             $symb = &Apache::lonenc::check_decrypt($content{'symb'});              $symb = $content{'symb'};
         } elsif (defined($content{'baseurl'})) {          } else { 
             $symb =      $symb=&Apache::lonnet::symbread($content{'baseurl'});
                 &Apache::lonnet::symbread(&Apache::lonenc::check_decrypt($content{'baseurl'}));  
         }          }
 # Could not get a symb, give up  # Could not get a symb, give up
  unless ($symb) { return $content{'citation'}; }   unless ($symb) { return $content{'citation'}; }
Line 2739  sub displayresource { Line 2665  sub displayresource {
 # ================================================================== The Header  # ================================================================== The Header
   
 sub header {  sub header {
     my ($r,$title,$baseurl,$head_extra)=@_;      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\" />";
     }      }
     $extra .= '<script type="text/javascript"      $extra .= '<script type="text/javascript"
                 src="/res/adm/includes/file_upload.js"></script>';                  src="/res/adm/includes/file_upload.js"></script>';
     if ($head_extra) {  
         $extra .= "\n$head_extra";  
     }  
     $r->print(&Apache::loncommon::start_page('Messages',      $r->print(&Apache::loncommon::start_page('Messages',
   $extra));    $extra));
     $r->print(&Apache::lonhtmlcommon::breadcrumbs      $r->print(&Apache::lonhtmlcommon::breadcrumbs
Line 2758  sub header { Line 2681  sub header {
 # ---------------------------------------------------------------- Print header  # ---------------------------------------------------------------- Print header
   
 sub printheader {  sub printheader {
     my ($r,$url,$desc,$title,$baseurl,$head_extra)=@_;      my ($r,$url,$desc,$title,$baseurl)=@_;
     &Apache::lonhtmlcommon::add_breadcrumb      &Apache::lonhtmlcommon::add_breadcrumb
  ({href=>$url,   ({href=>$url,
   text=>$desc});    text=>$desc});
     &header($r,$title,$baseurl,$head_extra);      &header($r,$title,$baseurl);
 }  }
   
 # ------------------------------------------------------------ Store the comment  # ------------------------------------------------------------ Store the comment
Line 2819  sub sendoffmail { Line 2742  sub sendoffmail {
         $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};          $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
         $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};          $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     }      }
     my $clientip = &Apache::lonnet::get_requestor_ip($r);      if ($env{'form.send'}) {
     my %setters;  
     my ($startblock,$endblock,$triggerblock,$by_ip,$blockdom) =  
         &Apache::loncommon::blockcheck(\%setters,'com',$clientip);  
     if ($by_ip) {  
         &printheader($r,'','Sending messages blocked from your location.');  
         return 'blocked';  
     } elsif ($env{'form.send'}) {  
         if (!$env{'form.multiforward'}) {           if (!$env{'form.multiforward'}) { 
             if ($group eq '') {              if ($group eq '') {
         &printheader($r,'','Messages being sent.');          &printheader($r,'','Messages being sent.');
Line 2996  sub sendoffmail { Line 2912  sub sendoffmail {
             &Apache::lonnet::logthis('Failed to store To, Bcc and Cc recipients for '.$env{'user.name'}.':'.$env{'user.domain'});              &Apache::lonnet::logthis('Failed to store To, Bcc and Cc recipients for '.$env{'user.name'}.':'.$env{'user.domain'});
         }          }
         if ($env{'form.attachment'}) {          if ($env{'form.attachment'}) {
             if (length($env{'form.attachment'}) <= 1048576) {              if (length($env{'form.attachment'})<131072) {
                 $attachmenturl=&Apache::lonnet::userfileupload('attachment',undef,'feedback/'.$now);                  $attachmenturl=&Apache::lonnet::userfileupload('attachment',undef,'feedback/'.$now);
             } else {              } else {
                 $r->print('<p><span class="LC_warning">'.&mt('Attachment not included - exceeded permitted length').'</span><br /></p>');                  $r->print('<p><span class="LC_warning">'.&mt('Attachment not included - exceeded permitted length').'</span><br /></p>');
Line 3171  sub handler { Line 3087  sub handler {
          'sendreply','compose','sendmail','critical','recname','recdom',           'sendreply','compose','sendmail','critical','recname','recdom',
          'recordftf','sortedby','folder','startdis','interdis',           'recordftf','sortedby','folder','startdis','interdis',
  'showcommentbaseurl','dismode','group','subject','text','ref',   'showcommentbaseurl','dismode','group','subject','text','ref',
          'msgstatus','btoken']);           'msgstatus']);
     $sqs='&amp;sortedby='.$env{'form.sortedby'};      $sqs='&amp;sortedby='.$env{'form.sortedby'};
   
 # ----------- Check if access was from balancer to server with existing session  
   
     if ($env{'form.btoken'}) {  
         my %info = &Apache::lonnet::tmpget($env{'form.btoken'});  
         &Apache::lonnet::tmpdel($env{'form.btoken'});  
         delete($env{'form.btoken'});  
         unless ($env{'form.display'}) {  
             if (($info{'display'}) && ($info{'mailrecip'})) {  
                 if (&unescape($info{'mailrecip'}) eq $env{'user.name'}.':'.$env{'user.domain'}) {  
                     $env{'form.display'} = &unescape($info{'display'});  
                 }  
             }  
         }  
     }  
   
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
     &Apache::lonnet::put('email_status',{'recnewemail'=>0});      &Apache::lonnet::put('email_status',{'recnewemail'=>0});
   
Line 3443  sub handler { Line 3344  sub handler {
                 my $count = keys(%forwardfail);                  my $count = keys(%forwardfail);
                 my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);                  my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Could not forward [quant,_1,message].',$count),1);
                 foreach my $key (keys(%forwardfail)) {                  foreach my $key (keys(%forwardfail)) {
                     $message .= '<br />'.&mt('Could not deliver forwarded message.').' ';                      $message .= '<br />'.&mt('Could not deliver forwarded message.').'</span> '.
                     if ($forwardfail{$key} eq 'blocked') {                                  &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')';
                         $message .= &mt('Sending messages is blocked from your IP address');  
                     } else {  
                         $message .= &mt('The recipient addresses may need to be corrected').' ('.$forwardfail{$key}.')';  
                     }  
                 }                  }
                 $message = &Apache::loncommon::confirmwrapper($message);                  $message = &Apache::loncommon::confirmwrapper($message);
                 $r->print($message);                  $r->print($message);

Removed from v.1.181.2.9.2.3  
changed lines
  Added in v.1.182


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>