Diff for /loncom/interface/lonfeedback.pm between versions 1.290.2.1 and 1.290.2.2

version 1.290.2.1, 2010/05/27 14:34:41 version 1.290.2.2, 2010/08/14 18:14:29
Line 49  use LONCAPA; Line 49  use LONCAPA;
   
 sub discussion_open {  sub discussion_open {
     my ($status,$symb)=@_;      my ($status,$symb)=@_;
   # Advanced roles can always discuss
     if ($env{'request.role.adv'}) { return 1; }      if ($env{'request.role.adv'}) { return 1; }
   # Get discussion closing date
       my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb);
   # If it is defined and in the future, the instructor wants this discussion to be open
       if (defined($close) && $close ne '' && $close > time) {
           return 1;
       }
   # It was not explicitly open, check if the problem is available.
   # If the problem is not available, close the discussion
     if (defined($status) &&      if (defined($status) &&
  !($status eq 'CAN_ANSWER' || $status eq 'CANNOT_ANSWER'          !($status eq 'CAN_ANSWER' || $status eq 'CANNOT_ANSWER'
   || $status eq 'OPEN')) {            || $status eq 'OPEN')) {
  return 0;          return 0;
     }      }
     my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb);  # The problem is available, but check if the instructor explictly closed discussion
     if (defined($close) && $close ne '' && $close < time) {      if (defined($close) && $close ne '' && $close < time) {
  return 0;          return 0;
     }      }
     return 1;      return 1;
 }  }
Line 317  sub list_discussion { Line 326  sub list_discussion {
         'dpwn' => 'Deleted posts will no longer be visible to you and other students',          'dpwn' => 'Deleted posts will no longer be visible to you and other students',
         'bwco' => 'but will continue to be visible to your instructor',          'bwco' => 'but will continue to be visible to your instructor',
         'depo' => 'Deleted posts will no longer be visible to you or anyone else.',          'depo' => 'Deleted posts will no longer be visible to you or anyone else.',
           'discussions' => 'DISCUSSIONS'
     );      );
   
     my $currdisp = $lt{'allposts'};      my $currdisp = $lt{'allposts'};
Line 368  sub list_discussion { Line 378  sub list_discussion {
 # Print the discusssion  # Print the discusssion
         if ($outputtarget eq 'tex') {          if ($outputtarget eq 'tex') {
             $discussion.='<tex>{\tiny \vskip 0 mm\noindent\makebox[2 cm][b]{\hrulefill}'.              $discussion.='<tex>{\tiny \vskip 0 mm\noindent\makebox[2 cm][b]{\hrulefill}'.
                          '\textbf{DISCUSSIONS}\makebox[2 cm][b]{\hrulefill}'.                           '\textbf{'.$lt{'discussions'}.'}\makebox[2 cm][b]{\hrulefill}\vskip 0 mm'.
                          '\vskip 0 mm\noindent\textbf{'.$lt{'cuse'}.'}:\vskip 0 mm'.  
                          '\noindent\textbf{'.$lt{'disa'}.'}: \textit{'.$currdisp.'}\vskip 0 mm'.                           '\noindent\textbf{'.$lt{'disa'}.'}: \textit{'.$currdisp.'}\vskip 0 mm'.
                          '\noindent\textbf{'.$lt{'npce'}.'}: \textit{'.$currmark.'}}</tex>';                           '\noindent\textbf{'.$lt{'npce'}.'}: \textit{'.$currmark.'}}</tex>';
         } elsif ($outputtarget eq 'export') {          } elsif ($outputtarget eq 'export') {
Line 514  imscp_v1p1.xsd http://www.imsglobal.org/ Line 523  imscp_v1p1.xsd http://www.imsglobal.org/
  $threadinsert='<br /><strong>Reply: '.$thisdepth.'</strong>';   $threadinsert='<br /><strong>Reply: '.$thisdepth.'</strong>';
     }      }
     $discussionitems[$alldiscussion{$post}]=~s/<\/td><td([^>]*)>/$threadinsert<\/td><td TeXwidth="65 mm" align="left">/;      $discussionitems[$alldiscussion{$post}]=~s/<\/td><td([^>]*)>/$threadinsert<\/td><td TeXwidth="65 mm" align="left">/;
     $discussionitems[$alldiscussion{$post}]=~s/<a([^>]+)>(Edit|Hide|Delete|Reply|Submissions)<\/a>//g;  
                     $discussionitems[$alldiscussion{$post}]=~s/(<b>|<\/b>|<\/a>|<a([^>]+)>)//g;                      $discussionitems[$alldiscussion{$post}]=~s/(<b>|<\/b>|<\/a>|<a([^>]+)>)//g;
   
     $discussionitems[$alldiscussion{$post}]='<tex>\vskip 0 mm\noindent\makebox[2 cm][b]{\hrulefill}</tex>'.$discussionitems[$alldiscussion{$post}];      $discussionitems[$alldiscussion{$post}]='<tex>\vskip 0 mm\noindent\makebox[2 cm][b]{\hrulefill}</tex>'.$discussionitems[$alldiscussion{$post}];
Line 719  END Line 727  END
                 $attachnum += @{$currnewattach};                  $attachnum += @{$currnewattach};
             }              }
         }          }
  if (&discussion_open($status)) {   if (&discussion_open($status) && ($outputtarget ne 'tex')) {
             if (($group ne '') && ($mode eq 'board')) {                if (($group ne '') && ($mode eq 'board')) {  
                 if (&check_group_priv($group,'pgd') eq 'ok') {                  if (&check_group_priv($group,'pgd') eq 'ok') {
                     $discussion .=                      $discussion .=
Line 735  END Line 743  END
  $currnewattach,$currdelold,'',$crstype);   $currnewattach,$currdelold,'',$crstype);
             }              }
  }   }
     } else {      } elsif ($outputtarget ne 'tex') {
         $discussion.='<div class="LC_feedback_link">';          $discussion.='<div class="LC_feedback_link">';
         if (&discussion_open($status) &&          if (&discussion_open($status) &&
             &Apache::lonnet::allowed('pch',              &Apache::lonnet::allowed('pch',
            $env{'request.course.id'}.             $env{'request.course.id'}.
         ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) {          ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) {
     if ($outputtarget ne 'tex') {      $discussion.= &send_feedback_link($ressymb,$target);
  $discussion.= &send_feedback_link($ressymb,$target);              if ($env{'request.role.adv'}) {
                   my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb);
                   if (defined($close) && $close ne '' && $close < time) {
                       $discussion .= '&nbsp;'.&mt('(Closed for [_1] roles)',
                                                   &Apache::lonnet::plaintext('st',$crstype));
                   }
             }              }
  }          } else {
         if ($outputtarget ne 'tex') {              $discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>';
     $discussion.= &send_message_link($ressymb);  
         }          }
         $discussion.='</div>';   $discussion.= &send_message_link($ressymb).
                         '</div>';
     }      }
     return $discussion;      return $discussion;
 }  }
Line 839  sub postingform_display { Line 852  sub postingform_display {
     if ($crstype eq 'Community') {      if ($crstype eq 'Community') {
         $lt{'note'} = &mt('Note: in anonymous discussion, your name is visible only to community facilitators');          $lt{'note'} = &mt('Note: in anonymous discussion, your name is visible only to community facilitators');
     }      }
     my $postingform = (<<ENDDISCUSS);      my ($postingform,$textareaclass);
       if (&Apache::lonhtmlcommon::htmlareabrowser()) {
           $postingform = &Apache::lonhtmlcommon::htmlareaselectactive();
           $textareaclass = 'class="LC_richDefaultOff"';
       }
       $postingform .= (<<ENDDISCUSS);
 <form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" />  <form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" />
 <input type="submit" name="anondiscuss" value="$lt{'poan'}" /> <input type="hidden" name="symb" value="$ressymb" />  <input type="submit" name="anondiscuss" value="$lt{'poan'}" /> <input type="hidden" name="symb" value="$ressymb" />
 <input type="hidden" name="sendit" value="true" />  <input type="hidden" name="sendit" value="true" />
Line 847  sub postingform_display { Line 865  sub postingform_display {
 <br /><a name="newpost"></a>  <br /><a name="newpost"></a>
 <font size="1">$lt{'note'}</font><br />  <font size="1">$lt{'note'}</font><br />
 <b>$lt{'title'}:</b>&nbsp;<input type="text" name="subject" value="$subject" size="30" /><br /><br />  <b>$lt{'title'}:</b>&nbsp;<input type="text" name="subject" value="$subject" size="30" /><br /><br />
 <textarea name="comment" cols="80" rows="14" >$comment</textarea>  <textarea name="comment" cols="80" rows="14"id="comment" $textareaclass>$comment</textarea>
 ENDDISCUSS  ENDDISCUSS
     if ($env{'form.origpage'}) {      if ($env{'form.origpage'}) {
         $postingform .= '<input type="hidden" name="origpage" value="'.          $postingform .= '<input type="hidden" name="origpage" value="'.
Line 869  ENDDISCUSS Line 887  ENDDISCUSS
         $postingform .= &add_blog_checkbox($crstype);          $postingform .= &add_blog_checkbox($crstype);
     }      }
     $postingform .= "</form>\n";      $postingform .= "</form>\n";
     if ($outputtarget ne 'tex') {      $postingform .= &generate_attachments_button('',$attachnum,$ressymb,
         $postingform .= &generate_attachments_button('',$attachnum,$ressymb,                                                   $now,$currnewattach,
                                                      $now,$currnewattach,                                                   $currdelold,'',$mode,
                                                      $currdelold,'',$mode,                                                   $blockblog);
                                                      $blockblog);      if ((ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)) {
         if ((ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)) {          $newattachmsg = '<br /><b>'.$lt{'newa'}.'</b><br />';
             $newattachmsg = '<br /><b>'.$lt{'newa'}.'</b><br />';          if (@{$currnewattach} > 1) {
             if (@{$currnewattach} > 1) {              $newattachmsg .= '<ol>';
                 $newattachmsg .= '<ol>';              foreach my $item (@{$currnewattach}) {
                 foreach my $item (@{$currnewattach}) {                  $item =~ m#.*/([^/]+)$#;
                     $item =~ m#.*/([^/]+)$#;                  $newattachmsg .= '<li><a href="'.$item.'">'.$1.'</a></li>'."\n";
                     $newattachmsg .= '<li><a href="'.$item.'">'.$1.'</a></li>'."\n";  
                 }  
                 $newattachmsg .= '</ol>'."\n";  
             } else {  
                 $$currnewattach[0] =~ m#.*/([^/]+)$#;  
                 $newattachmsg .= '<a href="'.$$currnewattach[0].'">'.$1.'</a><br />'."\n";  
             }              }
               $newattachmsg .= '</ol>'."\n";
           } else {
               $$currnewattach[0] =~ m#.*/([^/]+)$#;
               $newattachmsg .= '<a href="'.$$currnewattach[0].'">'.$1.'</a><br />'."\n";
         }          }
         $postingform .= $newattachmsg;  
         $postingform .= &generate_preview_button();  
     }      }
       $postingform .= $newattachmsg;
       $postingform .= &generate_preview_button();
     return $postingform;      return $postingform;
 }  }
   
Line 1052  sub build_posting_display { Line 1068  sub build_posting_display {
                             } else {                              } else {
                                 @{$$namesort{$lastname}{$firstname}} = ("$idx");                                  @{$$namesort{$lastname}{$firstname}} = ("$idx");
                             }                              }
                             if (&editing_allowed($escsymb.':::'.$idx,$group)) {                              if ($outputtarget ne 'tex') {
                                 if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) {                                  if (&editing_allowed($escsymb.':::'.$idx,$group)) {
                                     $sender.=' <a href="/adm/feedback?editdisc='.                                      if (($env{'user.domain'} eq $contrib{$idx.':senderdomain'}) && ($env{'user.name'} eq $contrib{$idx.':sendername'})) {
                                          $escsymb.':::'.$idx;                                          $sender.=' <a href="/adm/feedback?editdisc='.
                                     if ($$newpostsflag) {                                               $escsymb.':::'.$idx;
                                         $sender .= '&amp;previous='.$prevread;                                          if ($$newpostsflag) {
                                     }                                              $sender .= '&amp;previous='.$prevread;
     $sender .= &group_args($group);                                          }
                                     $sender .= '" '.$target.'>'.&mt('Edit').'</a>';          $sender .= &group_args($group);
                                           $sender .= '" '.$target.'>'.&mt('Edit').'</a>';
                                                                           
                                     unless ($seeid) {                                          unless ($seeid) {
                                         my $grpargs = &group_args($group);                                              my $grpargs = &group_args($group);
                                         $sender.=" <a href=\"javascript:verifydelete('studentdelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')";                                              $sender.=" <a href=\"javascript:verifydelete('studentdelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')";
                                         $sender .= '">'.&mt('Delete').'</a>';                                              $sender .= '">'.&mt('Delete').'</a>';
                                           }
                                     }                                      }
                                 }                                  }
                             }                                   if ($seeid) {
     if ($seeid) {              if ($hidden) {
         if ($hidden) {                                          unless ($studenthidden) {
                                     unless ($studenthidden) {                      $sender.=' <a href="/adm/feedback?unhide='.
                 $sender.=' <a href="/adm/feedback?unhide='.                      $escsymb.':::'.$idx;
                 $escsymb.':::'.$idx;                                              if ($$newpostsflag) {
                                                   $sender .= '&amp;previous='.$prevread;
                                               }
                                               $sender .= '">'.&mt('Make Visible').'</a>';
                                           }
               } else {
           $sender.=' <a href="/adm/feedback?hide='.
               $escsymb.':::'.$idx;
                                         if ($$newpostsflag) {                                          if ($$newpostsflag) {
                                             $sender .= '&amp;previous='.$prevread;                                              $sender .= '&amp;previous='.$prevread;
                                         }                                          }
                                         $sender .= '">'.&mt('Make Visible').'</a>';          $sender .= &group_args($group);
                                     }                                          $sender .= '">'.&mt('Hide').'</a>';
         } else {              }
     $sender.=' <a href="/adm/feedback?hide='.                                      my $grpargs = &group_args($group);
         $escsymb.':::'.$idx;              $sender.= 
                                     if ($$newpostsflag) {                                          " <a href=\"javascript:verifydelete('seeiddelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')\">";
                                         $sender .= '&amp;previous='.$prevread;                                      $sender .= &mt('Delete').'</a>';
                                     }                                  }
     $sender .= &group_args($group);  
                                     $sender .= '">'.&mt('Hide').'</a>';  
         }  
                                 my $grpargs = &group_args($group);  
         $sender.=   
                                     " <a href=\"javascript:verifydelete('seeiddelete','$escsymb','$idx','$$newpostsflag','$prevread','$grpargs')\">";  
                                 $sender .= &mt('Delete').'</a>';  
                             }                              }
         } else {          } else {
     if ($screenname) {      if ($screenname) {
Line 1119  sub build_posting_display { Line 1137  sub build_posting_display {
                                 @{$$namesort{'__anon'}{'__anon'}} = ("$idx");                                  @{$$namesort{'__anon'}{'__anon'}} = ("$idx");
                             }                              }
         }          }
         if (&discussion_open($status)) {                          if ($outputtarget ne 'tex') {
                             if (($group ne '') &&                               if (&discussion_open($status)) {
                                 (&check_group_priv($group,'pgd') eq 'ok')) {                                  if (($group ne '') && 
                                  $sender.=' <a href="/adm/feedback?replydisc='.                                      (&check_group_priv($group,'pgd') eq 'ok')) {
                                           $escsymb.':::'.$idx;                                       $sender.=' <a href="/adm/feedback?replydisc='.
                                 if ($$newpostsflag) {                                                $escsymb.':::'.$idx;
                                     $sender .= '&amp;previous='.$prevread;                                      if ($$newpostsflag) {
                                 }                                          $sender .= '&amp;previous='.$prevread;
                                 $sender .= &group_args($group);                                      }
                                 $sender .= '" '.$target.'>'.&mt('Reply').'</a>';                                      $sender .= &group_args($group);
                             } elsif (&Apache::lonnet::allowed('pch',                                       $sender .= '" '.$target.'>'.&mt('Reply').'</a>';
  $env{'request.course.id'}.                                  } elsif (&Apache::lonnet::allowed('pch', 
  ($env{'request.course.sec'}?'/'.       $env{'request.course.id'}.
                                   $env{'request.course.sec'}:''))) {       ($env{'request.course.sec'}?'/'.
          $sender.=' <a href="/adm/feedback?replydisc='.                                        $env{'request.course.sec'}:''))) {
                   $escsymb.':::'.$idx;               $sender.=' <a href="/adm/feedback?replydisc='.
                                 if ($$newpostsflag) {                        $escsymb.':::'.$idx;
                                     $sender .= '&amp;previous='.$prevread;                                      if ($$newpostsflag) {
                                           $sender .= '&amp;previous='.$prevread;
                                       }
                                       $sender .= '" '.$target.'>'.&mt('Reply').'</a>';
                                 }                                  }
                                 $sender .= '" '.$target.'>'.&mt('Reply').'</a>';  
                             }                              }
                         }                              if ($viewgrades) {
         if ($viewgrades) {  
         $vgrlink=&Apache::loncommon::submlink(&mt('Submissions'),          $vgrlink=&Apache::loncommon::submlink(&mt('Submissions'),
                             $contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$ressymb);                                  $contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$ressymb);
         }              }
                         if ($$dischash{$readkey}=~/\.$idx\./) {                               if ($$dischash{$readkey}=~/\.$idx\./) {
                             $ctlink = '<label><b>'.&mt('Mark unread').'?</b>&nbsp;<input type="checkbox" name="postunread_'.$idx.'" /></label>';                                  $ctlink = '<label><b>'.&mt('Mark unread').'?</b>&nbsp;<input type="checkbox" name="postunread_'.$idx.'" /></label>';
                         } else {                              } else {
                             $ctlink = '<label><b>'.&mt('Mark read').'?</b>&nbsp;<input type="checkbox" name="postread_'.$idx.'" /></label>';                                  $ctlink = '<label><b>'.&mt('Mark read').'?</b>&nbsp;<input type="checkbox" name="postread_'.$idx.'" /></label>';
                               }
                         }                          }
                     }                      }
 #figure out at what position this needs to print  #figure out at what position this needs to print
Line 1668  END Line 1688  END
 </script>  </script>
 END  END
   
     my ($textareaheader,$textareaclass);
     if (&Apache::lonhtmlcommon::htmlareabrowser()) {
         $textareaheader = &Apache::lonhtmlcommon::htmlareaselectactive();
         $textareaclass = 'class="LC_richDefaultOff"';
     }
   
   # Breadcrumbs    # Breadcrumbs
   my $brcrum = [{'href' => '',    my $brcrum = [{'href' => '',
                  'text' => 'Resource Feedback and Discussion'}];                   'text' => 'Resource Feedback and Discussion'}];
Line 1707  END Line 1733  END
   $r->print(<<END);    $r->print(<<END);
 $options<hr />  $options<hr />
 $quote  $quote
 <p>$lt{'myqu'}</p>  <p>$lt{'myqu'}
   $textareaheader
   </p>
 <p>  <p>
 $latexHelp  $latexHelp
 </p>  </p>
 <p>  <p>
 $lt{'title'}: <input type="text" name="subject" size="30" value="$subject" /></p>  $lt{'title'}: <input type="text" name="subject" size="30" value="$subject" /></p>
 <p>  <p>
 <textarea name="comment" id="comment" cols="60" rows="10">$comment  <textarea name="comment" id="comment" cols="60" rows="10"  $textareaclass>$comment
 </textarea></p>  </textarea></p>
 END  END
     if ( ($env{'form.editdisc'}) || ($env{'form.replydisc'}) ) {      if ( ($env{'form.editdisc'}) || ($env{'form.replydisc'}) ) {
Line 1792  END Line 1820  END
         }          }
     }      }
     $r->print(&generate_preview_button().      $r->print(&generate_preview_button().
               &Apache::lonhtmlcommon::htmlareaselectactive('comment').  
       &Apache::loncommon::end_page());        &Apache::loncommon::end_page());
   
 }  }
Line 2674  sub resource_output { Line 2701  sub resource_output {
 }  }
   
 sub clear_out_html {  sub clear_out_html {
   my ($message,$override,$ignore_htmlarea)=@_;    my ($message,$override)=@_;
   if (!$ignore_htmlarea  
       && !&Apache::lonhtmlcommon::htmlareablocked()) { return $message; }  
 # Always allow the <m>-tag  # Always allow the <m>-tag
   my %html=(M=>1);    my %html=(M=>1);
 # Check if more is allowed  # Check if more is allowed
Line 2687  sub clear_out_html { Line 2712  sub clear_out_html {
       # <BLOCKQUOTE> <DIV .*> <DIV> <IMG> <M> <SPAN> <H1> <H2> <H3> <H4> <SUB>        # <BLOCKQUOTE> <DIV .*> <DIV> <IMG> <M> <SPAN> <H1> <H2> <H3> <H4> <SUB>
       # <SUP> <TABLE> <TR> <TD> <TH> <TBODY>        # <SUP> <TABLE> <TR> <TD> <TH> <TBODY>
       %html=(B=>1, I=>1, P=>1, A=>1, LI=>1, OL=>1, UL=>1, EM=>1,        %html=(B=>1, I=>1, P=>1, A=>1, LI=>1, OL=>1, UL=>1, EM=>1,
      BR=>1, TT=>1, STRONG=>1, BLOCKQUOTE=>1, DIV=>1, IMG=>1,               BR=>1, TT=>1, STRONG=>1, BLOCKQUOTE=>1, PRE=>1, DIV=>1, IMG=>1,
      M=>1, ALGEBRA=>1, SUB=>1, SUP=>1, SPAN=>1,                M=>1, CHEM=>1, ALGEBRA=>1, SUB=>1, SUP=>1, SPAN=>1,
      H1=>1, H2=>1, H3=>1, H4=>1, H5=>1, H6=>1,        H1=>1, H2=>1, H3=>1, H4=>1, H5=>1, H6=>1, 
      TABLE=>1, TR=>1, TD=>1, TH=>1, TBODY=>1);       TABLE=>1, TR=>1, TD=>1, TH=>1, TBODY=>1);
   }    }
Line 2936  sub show_preview { Line 2961  sub show_preview {
     &newline_to_br(\$message);      &newline_to_br(\$message);
     $message=&Apache::lonspeller::markeduptext($message);      $message=&Apache::lonspeller::markeduptext($message);
     $message=&Apache::lontexconvert::msgtexconverted($message);      $message=&Apache::lontexconvert::msgtexconverted($message);
     my $subject=&clear_out_html($env{'form.subject'},undef,1);      my $subject=&clear_out_html($env{'form.subject'});
     $subject=~s/\n/\<br \/\>/g;      $subject=~s/\n/\<br \/\>/g;
     $subject=&Apache::lontexconvert::msgtexconverted($subject);      $subject=&Apache::lontexconvert::msgtexconverted($subject);
   
Line 3048  END Line 3073  END
                                    {'bread_crumbs' => $brcrum,});                                     {'bread_crumbs' => $brcrum,});
   
     my $orig_subject = &unescape($env{'form.subject'});      my $orig_subject = &unescape($env{'form.subject'});
     my $subject=&clear_out_html($orig_subject,undef,1);      my $subject=&clear_out_html($orig_subject);
     $subject=~s/\n/\<br \/\>/g;      $subject=~s/\n/\<br \/\>/g;
     $subject=&Apache::lontexconvert::msgtexconverted($subject);      $subject=&Apache::lontexconvert::msgtexconverted($subject);
     my $timestamp=$env{'form.timestamp'};      my $timestamp=$env{'form.timestamp'};
Line 3900  ENDREDIR Line 3925  ENDREDIR
       my ($typestyle,%to) = &Apache::lonmsg::decide_receiver($feedurl);        my ($typestyle,%to) = &Apache::lonmsg::decide_receiver($feedurl);
   
 # Actually send mail  # Actually send mail
       my ($status,$numsent)=&send_msg(&clear_out_html($env{'form.subject'},        my ($status,$numsent)=&send_msg(&clear_out_html($env{'form.subject'}),
       undef,1),  
       $feedurl,$email,$citations,        $feedurl,$email,$citations,
       $attachmenturl,$usersymb,%to);        $attachmenturl,$usersymb,%to);
   
Line 3910  ENDREDIR Line 3934  ENDREDIR
       if (  ($env{'form.discuss'} ne ''        if (  ($env{'form.discuss'} ne ''
      && $env{'form.discuss'} !~ /^(?:author|question|course|policy)/)       && $env{'form.discuss'} !~ /^(?:author|question|course|policy)/)
    || $env{'form.anondiscuss'} ne '') {     || $env{'form.anondiscuss'} ne '') {
   my $subject = &clear_out_html($env{'form.subject'},undef,1);    my $subject = &clear_out_html($env{'form.subject'});
   my $anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} );    my $anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} );
   $typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl,    $typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl,
   $subject);    $subject);
Line 3921  ENDREDIR Line 3945  ENDREDIR
   
       my $blog='';        my $blog='';
       if ($env{'form.blog'}) {        if ($env{'form.blog'}) {
   my $subject = &clear_out_html($env{'form.subject'},undef,1);    my $subject = &clear_out_html($env{'form.subject'});
   $status.=&Apache::lonrss::addentry($env{'user.name'},    $status.=&Apache::lonrss::addentry($env{'user.name'},
     $env{'user.domain'},      $env{'user.domain'},
     'CourseBlog_'.$env{'request.course.id'},      'CourseBlog_'.$env{'request.course.id'},

Removed from v.1.290.2.1  
changed lines
  Added in v.1.290.2.2


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