Diff for /loncom/interface/lonmsg.pm between versions 1.86 and 1.88

version 1.86, 2004/03/01 01:06:10 version 1.88, 2004/03/01 02:21:57
Line 949  sub facetoface { Line 949  sub facetoface {
     unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {      unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
  return;   return;
     }      }
       &Apache::lonhtmlcommon::add_breadcrumb
    ({href=>'/adm/dropadd?recordftf=query',
     text=>"User Notes, Face-to-Face, Critical Messages",
    faq=>12,bug=>'Communication Tools'});
       &header($r);
 # from query string  # from query string
   
     if ($ENV{'form.recname'}) { $ENV{'form.recuname'}=$ENV{'form.recname'}; }      if ($ENV{'form.recname'}) { $ENV{'form.recuname'}=$ENV{'form.recname'}; }
     if ($ENV{'form.recdom'}) { $ENV{'form.recdomain'}=$ENV{'form.recdom'}; }      if ($ENV{'form.recdom'}) { $ENV{'form.recdomain'}=$ENV{'form.recdom'}; }
   
Line 960  sub facetoface { Line 966  sub facetoface {
     my $domform = &Apache::loncommon::select_dom_form($defdom,'recdomain');      my $domform = &Apache::loncommon::select_dom_form($defdom,'recdomain');
     my $stdbrws = &Apache::loncommon::selectstudent_link      my $stdbrws = &Apache::loncommon::selectstudent_link
  ('stdselect','recuname','recdomain');   ('stdselect','recuname','recdomain');
       my %lt=&Apache::lonlocal::texthash('user' => 'Username',
          'dom' => 'Domain',
          'head' => 'User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course',
          'subm' => 'Retrieve discussion and message records',
          'newr' => 'New Record (record is visible to course faculty and staff)',
          'post' => 'Post this Record');
     $r->print(<<"ENDTREC");      $r->print(<<"ENDTREC");
 <h3>User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course</h3>  <h3>$lt{'head'}</h3>
 <form method="post" action="/adm/email" name="stdselect">  <form method="post" action="/adm/email" name="stdselect">
 <input type="hidden" name="recordftf" value="retrieve" />  <input type="hidden" name="recordftf" value="retrieve" />
 <table>  <table>
 <tr><td>Username:</td><td><input type=text size=12 name=recuname value="$ENV{'form.recuname'}"></td>  <tr><td>$lt{'user'}:</td><td><input type="text" size="12" name="recuname" value="$ENV{'form.recuname'}" /></td>
 <td rowspan="2">  <td rowspan="2">
 $stdbrws  $stdbrws
 <input type="submit" value="Retrieve discussion and message records"></td>  <input type="submit" value="$lt{'subm'}" /></td>
 </tr>  </tr>
 <tr><td>Domain:</td>  <tr><td>$lt{'dom'}:</td>
 <td>$domform</td></tr>  <td>$domform</td></tr>
 </table>  </table>
 </form>  </form>
Line 982  ENDTREC Line 994  ENDTREC
            &user_normal_msg_raw(             &user_normal_msg_raw(
             $ENV{'course.'.$ENV{'request.course.id'}.'.num'},              $ENV{'course.'.$ENV{'request.course.id'}.'.num'},
             $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},              $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
             'Record ['.$ENV{'form.recuname'}.':'.$ENV{'form.recdomain'}.']',              &mt('Record').
        ' ['.$ENV{'form.recuname'}.':'.$ENV{'form.recdomain'}.']',
     $ENV{'form.newrecord'});      $ENV{'form.newrecord'});
         }          }
         $r->print('<h3>'.&Apache::loncommon::plainname($ENV{'form.recuname'},          $r->print('<h3>'.&Apache::loncommon::plainname($ENV{'form.recuname'},
Line 994  ENDTREC Line 1007  ENDTREC
 <input name="recuname" value="$ENV{'form.recuname'}" type="hidden" />  <input name="recuname" value="$ENV{'form.recuname'}" type="hidden" />
 ENDRHEAD  ENDRHEAD
         $r->print(<<ENDBFORM);          $r->print(<<ENDBFORM);
 <hr />New Record (record is visible to course faculty and staff)<br />  <hr />$lt{'newr'}<br />
 <textarea name="newrecord" cols="80" rows="10" wrap="hard"></textarea>  <textarea name="newrecord" cols="80" rows="10" wrap="hard"></textarea>
 <br />  <br />
 <input type="hidden" name="recordftf" value="post" />  <input type="hidden" name="recordftf" value="post" />
 <input type="submit" value="Post this record" />  <input type="submit" value="$lt{'post'}" />
 </form>  </form>
 ENDBFORM  ENDBFORM
     }      }
 }  }
   
   # ================================================================== The Header
   
   sub header {
       my ($r,$baseurl)=@_;
       $r->print('<html><head><title>Communication and Messages</title>');
       if ($baseurl) {
    $r->print("<base href=\"http://$ENV{'SERVER_NAME'}/$baseurl\" />");
       }
       $r->print(&Apache::loncommon::studentbrowser_javascript().'</head>'.
         &Apache::loncommon::bodytag('Communication and Messages'));
           $r->print(&Apache::lonhtmlcommon::breadcrumbs
                     (undef,'Communication and Messages'));
   
   }
   
 # ===================================================================== Handler  # ===================================================================== Handler
   
 sub handler {  sub handler {
     my $r=shift;      my $r=shift;
   
 # ----------------------------------------------------------- Set document type  # ----------------------------------------------------------- Set document type
       
   &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
   $r->send_http_header;      $r->send_http_header;
       
   return OK if $r->header_only;      return OK if $r->header_only;
       
 # --------------------------- Get query string for limited number of parameters  # --------------------------- Get query string for limited number of parameters
     &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',
Line 1023  sub handler { Line 1051  sub handler {
          'recordftf','sortedby']);           'recordftf','sortedby']);
     $sqs='&sortedby='.$ENV{'form.sortedby'};      $sqs='&sortedby='.$ENV{'form.sortedby'};
 # ------------------------------------------------------ They checked for email  # ------------------------------------------------------ They checked for email
   &Apache::lonnet::put('email_status',{'recnewemail'=>0});      &Apache::lonnet::put('email_status',{'recnewemail'=>0});
   
   # ----------------------------------------------------------------- Breadcrumbs
   
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       &Apache::lonhtmlcommon::add_breadcrumb
           ({href=>"/adm/communicate",
             text=>"Communication/Messages",
             faq=>12,bug=>'Communication Tools',});
   
 # --------------------------------------------------------------- Render Output  # --------------------------------------------------------------- Render Output
   if (!$ENV{'form.display'}) {  
       $r->print('<html><head><title>EMail and Messaging</title>'.      if ($ENV{'form.display'}) {
  &Apache::loncommon::studentbrowser_javascript().'</head>'.   my $msgid=$ENV{'form.display'};
  &Apache::loncommon::bodytag('EMail and Messages').   &statuschange($msgid,'read');
      &Apache::loncommon::help_open_faq(12).   my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
      &Apache::loncommon::help_open_bug('Communication Tools'));   my %content=&unpackagemsg($message{$msgid});
   }  
   if ($ENV{'form.display'}) {  
       my $msgid=$ENV{'form.display'};  
       &statuschange($msgid,'read');  
       my %message=&Apache::lonnet::get('nohist_email',[$msgid]);  
       my %content=&unpackagemsg($message{$msgid});  
 # info to generate "next" and "previous" buttons  # info to generate "next" and "previous" buttons
       my @messages=&sortedmessages();   my @messages=&sortedmessages();
       my $counter=0;   my $counter=0;
       $r->print('<pre>');   $r->print('<pre>');
       my $escmsgid=&Apache::lonnet::escape($msgid);   my $escmsgid=&Apache::lonnet::escape($msgid);
       foreach (@messages) {   foreach (@messages) {
    if ($_->[5] eq $escmsgid){      if ($_->[5] eq $escmsgid){
        last;   last;
    }      }
    $counter++;      $counter++;
       }   }
       $r->print('</pre>');   $r->print('</pre>');
       my $number_of_messages = scalar(@messages); #subtract 1 for last index   my $number_of_messages = scalar(@messages); #subtract 1 for last index
 # start output  # start output
       $r->print('<html><head><title>EMail and Messaging</title>');   $r->print('<html><head><title>EMail and Messaging</title>');
       if (defined($content{'baseurl'})) {   $r->print(&Apache::loncommon::studentbrowser_javascript().
   $r->print("<base href=\"http://$ENV{'SERVER_NAME'}/$content{'baseurl'}\" />");    '</head>'.
       }    &Apache::loncommon::bodytag('EMail and Messages').
       $r->print(&Apache::loncommon::studentbrowser_javascript().    &Apache::loncommon::help_open_faq(12).
  '</head>'.    &Apache::loncommon::help_open_bug('Communication Tools'));
  &Apache::loncommon::bodytag('EMail and Messages').   my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'});
      &Apache::loncommon::help_open_faq(12).  
      &Apache::loncommon::help_open_bug('Communication Tools'));   $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.
       my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'});    '<br /><b>'.&mt('From').':</b> '.
     &Apache::loncommon::aboutmewrapper(
       $r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}.       &Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),
              '<br /><b>'.&mt('From').':</b> '.       $content{'sendername'},$content{'senderdomain'}).' ('.
 &Apache::loncommon::aboutmewrapper(    $content{'sendername'}.' at '.
 &Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}),    $content{'senderdomain'}.') '.
 $content{'sendername'},$content{'senderdomain'}).' ('.    ($content{'courseid'}?'<br /><b>'.&mt('Course').':</b> '.$courseinfo{'description'}.
                                  $content{'sendername'}.' at '.     ($content{'coursesec'}?' ('.&mt('Group/Section').': '.$content{'coursesec'}.')':''):'').
                                  $content{'senderdomain'}.') '.    '<br /><b>'.&mt('Time').':</b> '.$content{'time'}.'<p>'.
      ($content{'courseid'}?'<br /><b>'.&mt('Course').':</b> '.$courseinfo{'description'}.    '<table border=2><tr bgcolor="#FFFFAA"><td>'.&mt('Functions').':</td>'.
 ($content{'coursesec'}?' ('.&mt('Group/Section').': '.$content{'coursesec'}.')':''):'').    '<td><a href="/adm/email?replyto='.&Apache::lonnet::escape($msgid).$sqs.
              '<br /><b>'.&mt('Time').':</b> '.$content{'time'}.'<p>'.    '"><b>'.&mt('Reply').'</b></a></td>'.
              '<table border=2><tr bgcolor="#FFFFAA"><td>'.&mt('Functions').':</td>'.    '<td><a href="/adm/email?forward='.&Apache::lonnet::escape($msgid).$sqs.
            '<td><a href="/adm/email?replyto='.&Apache::lonnet::escape($msgid).$sqs.    '"><b>'.&mt('Forward').'</b></a></td>'.
              '"><b>'.&mt('Reply').'</b></a></td>'.    '<td><a href="/adm/email?markunread='.&Apache::lonnet::escape($msgid).$sqs.
            '<td><a href="/adm/email?forward='.&Apache::lonnet::escape($msgid).$sqs.    '"><b>'.&mt('Mark Unread').'</b></a></td>'.
              '"><b>'.&mt('Forward').'</b></a></td>'.    '<td><a href="/adm/email?markdel='.&Apache::lonnet::escape($msgid).$sqs.
         '<td><a href="/adm/email?markunread='.&Apache::lonnet::escape($msgid).$sqs.    '"><b>Delete</b></a></td>'.
              '"><b>'.&mt('Mark Unread').'</b></a></td>'.    '<td><a href="/adm/email?sortedby='.$ENV{'form.sortedby'}.
         '<td><a href="/adm/email?markdel='.&Apache::lonnet::escape($msgid).$sqs.    '"><b>'.&mt('Display all Messages').'</b></a></td>');
              '"><b>Delete</b></a></td>'.   if ($counter > 0){
  '<td><a href="/adm/email?sortedby='.$ENV{'form.sortedby'}.      $r->print('<td><a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.
  '"><b>'.&mt('Display all Messages').'</b></a></td>');        '"><b>'.&mt('Previous').'</b></a></td>');
       if ($counter > 0){   }
    $r->print('<td><a href="/adm/email?display='.$messages[$counter-1]->[5].$sqs.   if ($counter < $number_of_messages - 1){
            '"><b>'.&mt('Previous').'</b></a></td>');      $r->print('<td><a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.
        }        '"><b>'.&mt('Next').'</b></a></td>');
        if ($counter < $number_of_messages - 1){   }
    $r->print('<td><a href="/adm/email?display='.$messages[$counter+1]->[5].$sqs.   $r->print('</tr></table><p><pre>'.
            '"><b>'.&mt('Next').'</b></a></td>');    &Apache::lontexconvert::msgtexconverted($content{'message'},1).
        }    '</pre><hr>'.$content{'citation'});
        $r->print('</tr></table><p><pre>'.      } elsif ($ENV{'form.replyto'}) {
              &Apache::lontexconvert::msgtexconverted($content{'message'},1).   &comprep($r,$ENV{'form.replyto'});
              '</pre><hr>'.$content{'citation'});      } elsif ($ENV{'form.sendreply'}) {
   } elsif ($ENV{'form.replyto'}) {   if ($ENV{'form.send'}) {
       &comprep($r,$ENV{'form.replyto'});      my $msgid=$ENV{'form.sendreply'};
   } elsif ($ENV{'form.sendreply'}) {      my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
       if ($ENV{'form.send'}) {      my %content=&unpackagemsg($message{$msgid},1);
   my $msgid=$ENV{'form.sendreply'};      &statuschange($msgid,'replied');
   my %message=&Apache::lonnet::get('nohist_email',[$msgid]);      if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && 
   my %content=&unpackagemsg($message{$msgid},1);   (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {
   &statuschange($msgid,'replied');   $r->print(&mt('Sending critical message').': '.
   if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) &&     &user_crit_msg($content{'sendername'},
       (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {   $content{'senderdomain'},
       $r->print(&mt('Sending critical message').': '.   &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
  &user_crit_msg($content{'sendername'},   &Apache::lonfeedback::clear_out_html($ENV{'form.message'}),
        $content{'senderdomain'},   $ENV{'form.sendbck'}));
        &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),      } else {
        &Apache::lonfeedback::clear_out_html($ENV{'form.message'}),   $r->print(&mt('Sending').': '.&user_normal_msg($content{'sendername'},
        $ENV{'form.sendbck'}));         $content{'senderdomain'},
   } else {         &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
       $r->print(&mt('Sending').': '.&user_normal_msg($content{'sendername'},         &Apache::lonfeedback::clear_out_html($ENV{'form.message'})));
      $content{'senderdomain'},      }
      &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),   }
      &Apache::lonfeedback::clear_out_html($ENV{'form.message'})));   if ($ENV{'form.displayedcrit'}) {
   }      &discrit($r);
       }   } else {
       if ($ENV{'form.displayedcrit'}) {      &disall($r);
           &discrit($r);   }
       } else {      } elsif ($ENV{'form.confirm'}) {
   &disall($r);   foreach (keys %ENV) {
       }      if ($_=~/^form\.rec\_(.*)$/) {
   } elsif ($ENV{'form.confirm'}) {   $r->print('<b>Confirming Receipt:</b> '.
       foreach (keys %ENV) {    &user_crit_received($1).'<br>');
           if ($_=~/^form\.rec\_(.*)$/) {      }
       $r->print('<b>Confirming Receipt:</b> '.      if ($_=~/^form\.reprec\_(.*)$/) {
                         &user_crit_received($1).'<br>');   my $msgid=$1;
           }   $r->print('<b>Confirming Receipt:</b> '.
           if ($_=~/^form\.reprec\_(.*)$/) {    &user_crit_received($msgid).'<br>');
               my $msgid=$1;   &comprep($r,$msgid);
       $r->print('<b>Confirming Receipt:</b> '.      }
                         &user_crit_received($msgid).'<br>');   }
               &comprep($r,$msgid);   &discrit($r);
           }      } elsif ($ENV{'form.critical'}) {
       }   &discrit($r);
       &discrit($r);      } elsif ($ENV{'form.forward'}) {
   } elsif ($ENV{'form.critical'}) {   &compout($r,$ENV{'form.forward'});
       &discrit($r);      } elsif ($ENV{'form.markread'}) {
   } elsif ($ENV{'form.forward'}) {      } elsif ($ENV{'form.markdel'}) {
       &compout($r,$ENV{'form.forward'});   &statuschange($ENV{'form.markdel'},'deleted');
   } elsif ($ENV{'form.markread'}) {   &disall($r);
   } elsif ($ENV{'form.markdel'}) {      } elsif ($ENV{'form.markeddel'}) {
       &statuschange($ENV{'form.markdel'},'deleted');   my $total=0;
       &disall($r);   foreach (keys %ENV) {
   } elsif ($ENV{'form.markeddel'}) {      if ($_=~/^form\.delmark_(.*)$/) {
       my $total=0;   &statuschange(&Apache::lonnet::unescape($1),'deleted');
       foreach (keys %ENV) {   $total++;
           if ($_=~/^form\.delmark_(.*)$/) {      }
       &statuschange(&Apache::lonnet::unescape($1),'deleted');   }
               $total++;   $r->print('Deleted '.$total.' message(s)<p>');
           }   &disall($r);
       }      } elsif ($ENV{'form.markunread'}) {
       $r->print('Deleted '.$total.' message(s)<p>');   &statuschange($ENV{'form.markunread'},'new');
       &disall($r);   &disall($r);
   } elsif ($ENV{'form.markunread'}) {      } elsif ($ENV{'form.compose'}) {
       &statuschange($ENV{'form.markunread'},'new');   &compout($r,'',$ENV{'form.compose'});
       &disall($r);      } elsif ($ENV{'form.recordftf'}) {
   } elsif ($ENV{'form.compose'}) {   &facetoface($r,$ENV{'form.recordftf'});
       &compout($r,'',$ENV{'form.compose'});      } elsif ($ENV{'form.sendmail'}) {
   } elsif ($ENV{'form.recordftf'}) {   my $sendstatus='';
       &facetoface($r,$ENV{'form.recordftf'});   if ($ENV{'form.send'}) {
   } elsif ($ENV{'form.sendmail'}) {      my %content=();
       my $sendstatus='';      undef %content;
       if ($ENV{'form.send'}) {      if ($ENV{'form.forwid'}) {
   my %content=();   my $msgid=$ENV{'form.forwid'};
   undef %content;   my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
   if ($ENV{'form.forwid'}) {   %content=&unpackagemsg($message{$msgid},1);
       my $msgid=$ENV{'form.forwid'};   &statuschange($msgid,'forwarded');
       my %message=&Apache::lonnet::get('nohist_email',[$msgid]);   $ENV{'form.message'}.="\n\n-- Forwarded message --\n\n".
       %content=&unpackagemsg($message{$msgid},1);      $content{'message'};
       &statuschange($msgid,'forwarded');      }
       $ENV{'form.message'}.="\n\n-- Forwarded message --\n\n".      my %toaddr=();
   $content{'message'};      undef %toaddr;
   }      if ($ENV{'form.sendmode'} eq 'group') {
   my %toaddr=();   foreach (keys %ENV) {
   undef %toaddr;      if ($_=~/^form\.send\_to\_\&\&\&[^\&]*\&\&\&\_(.+)$/) {
   if ($ENV{'form.sendmode'} eq 'group') {   $toaddr{$1}='';
       foreach (keys %ENV) {      }
   if ($_=~/^form\.send\_to\_\&\&\&[^\&]*\&\&\&\_(.+)$/) {   }
       $toaddr{$1}='';      } elsif ($ENV{'form.sendmode'} eq 'upload') {
   }   foreach (split(/[\n\r\f]+/,$ENV{'form.upfile'})) {
       }      my ($rec,$txt)=split(/\s*\:\s*/,$_);
   } elsif ($ENV{'form.sendmode'} eq 'upload') {      if ($txt) {
       foreach (split(/[\n\r\f]+/,$ENV{'form.upfile'})) {   $rec=~s/\@/\:/;
   my ($rec,$txt)=split(/\s*\:\s*/,$_);   $toaddr{$rec}.=$txt."\n";
   if ($txt) {      }
       $rec=~s/\@/\:/;   }
       $toaddr{$rec}.=$txt."\n";      } else {
   }   $toaddr{$ENV{'form.recuname'}.':'.$ENV{'form.recdomain'}}='';
       }      }
   } else {      if ($ENV{'form.additionalrec'}) {
       $toaddr{$ENV{'form.recuname'}.':'.$ENV{'form.recdomain'}}='';   foreach (split(/\,/,$ENV{'form.additionalrec'})) {
   }      my ($auname,$audom)=split(/\@/,$_);
   if ($ENV{'form.additionalrec'}) {      $toaddr{$auname.':'.$audom}='';
       foreach (split(/\,/,$ENV{'form.additionalrec'})) {   }
   my ($auname,$audom)=split(/\@/,$_);      }
   $toaddr{$auname.':'.$audom}='';      foreach (keys %toaddr) {
       }   my ($recuname,$recdomain)=split(/\:/,$_);
   }   my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'});
   foreach (keys %toaddr) {   if ($toaddr{$_}) { $msgtxt.='<hr>'.$toaddr{$_}; }    
       my ($recuname,$recdomain)=split(/\:/,$_);   if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) && 
       my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'});      (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {
       if ($toaddr{$_}) { $msgtxt.='<hr>'.$toaddr{$_}; }          $r->print(&mt('Sending critical message').' ...');
       if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) &&       $sendstatus.=' '.&user_crit_msg($recuname,$recdomain,
   (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {      &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
   $r->print(&mt('Sending critical message').' ...');      $msgtxt,
                   $sendstatus.=' '.&user_crit_msg($recuname,$recdomain,      $ENV{'form.sendbck'});
    &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),   } else {
    $msgtxt,      $r->print(&mt('Sending').' ...');
    $ENV{'form.sendbck'});      $sendstatus.=' '.&user_normal_msg($recuname,$recdomain,
       } else {        &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
   $r->print(&mt('Sending').' ...');        $msgtxt,
                   $sendstatus.=' '.&user_normal_msg($recuname,$recdomain,        $content{'citation'});
                          &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),   }
  $msgtxt,   $r->print('<br />');
  $content{'citation'});      }
       }   }
       $r->print('<br />');   if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {
   }      $r->print('<br /><font color="green">'.&mt('Completed.').'</font>');
       }      if ($ENV{'form.displayedcrit'}) {
       if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {   &discrit($r);
   $r->print('<br /><font color="green">'.&mt('Completed.').'</font>');      } else {
   if ($ENV{'form.displayedcrit'}) {   &disall($r);
       &discrit($r);      }
   } else {   } else {
       &disall($r);      $r->print(
   }        '<h2><font color="red">'.&mt('Could not deliver message').'</font></h2>'.
       } else {        &mt('Please use the browser "Back" button and correct the recipient addresses')
   $r->print(        );
   '<h2><font color="red">'.&mt('Could not deliver message').'</font></h2>'.   }
   &mt('Please use the browser "Back" button and correct the recipient addresses')      } else {
     );   &disall($r);
       }      }
   } else {      $r->print('</body></html>');
       &disall($r);      return OK;
   }  
   $r->print('</body></html>');  
   return OK;  
   
 }  }
 # ================================================= Main program, reset counter  # ================================================= Main program, reset counter
   

Removed from v.1.86  
changed lines
  Added in v.1.88


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