Diff for /loncom/xml/lonxml.pm between versions 1.191 and 1.196

version 1.191, 2002/09/04 04:55:13 version 1.196, 2002/09/13 20:46:09
Line 154  sub xmlbegin { Line 154  sub xmlbegin {
 }  }
   
 sub xmlend {  sub xmlend {
       my ($discussiononly,$symb)=@_;
     my $discussion='';      my $discussion='';
     if ($ENV{'request.course.id'}) {      if ($ENV{'request.course.id'}) {
        my $crs='/'.$ENV{'request.course.id'};         my $crs='/'.$ENV{'request.course.id'};
Line 162  sub xmlend { Line 163  sub xmlend {
        }                          }                 
        $crs=~s/\_/\//g;         $crs=~s/\_/\//g;
        my $seeid=&Apache::lonnet::allowed('rin',$crs);         my $seeid=&Apache::lonnet::allowed('rin',$crs);
        my $symb=&Apache::lonnet::symbread();         unless ($symb) {
              $symb=&Apache::lonnet::symbread();
          }
        if ($symb) {         if ($symb) {
           my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'},            my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'},
                      $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},                       $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
      $ENV{'course.'.$ENV{'request.course.id'}.'.num'});       $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
           if ($contrib{'version'}) {            if ($contrib{'version'}) {
               $discussion.=                unless ($discussiononly) {
                   '<address><hr /><h2>Course Discussion of Resource</h2>';                   $discussion.=
                     '<address><hr />';
        }
               my $idx;                my $idx;
               for ($idx=1;$idx<=$contrib{'version'};$idx++) {                for ($idx=1;$idx<=$contrib{'version'};$idx++) {
  my $hidden=($contrib{'hidden'}=~/\.$idx\./);   my $hidden=($contrib{'hidden'}=~/\.$idx\./);
Line 181  sub xmlend { Line 186  sub xmlend {
                   if ($hidden) {                    if ($hidden) {
       $message='<font color="#888888">'.$message.'</font>';        $message='<font color="#888888">'.$message.'</font>';
                   }                    }
                     my $screenname=&Apache::loncommon::screenname(
                                  $contrib{$idx.':sendername'},
          $contrib{$idx.':senderdomain'});
                     my $plainname=&Apache::loncommon::nickname(
                                  $contrib{$idx.':sendername'},
          $contrib{$idx.':senderdomain'});
   
                   my $sender='Anonymous';                    my $sender='Anonymous';
                   if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {                    if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {
                       $sender=$contrib{$idx.':plainname'}.' ('.                        $sender=&Apache::loncommon::aboutmewrapper(
                                  $plainname,
                                  $contrib{$idx.':sendername'},
                                  $contrib{$idx.':senderdomain'}).' ('.
                               $contrib{$idx.':sendername'}.' at '.                                $contrib{$idx.':sendername'}.' at '.
       $contrib{$idx.':senderdomain'}.')';        $contrib{$idx.':senderdomain'}.')';
                       if ($contrib{$idx.':anonymous'}) {                        if ($contrib{$idx.':anonymous'}) {
   $sender.=' [anonymous] '.    $sender.=' [anonymous] '.
                                      $contrib{$idx.':screenname'};                                       $screenname;
                       }                        }
                       if ($seeid) {                        if ($seeid) {
   if ($hidden) {    if ($hidden) {
Line 200  sub xmlend { Line 215  sub xmlend {
   }    }
                       }                                           }                   
                   } else {                    } else {
                       if ($contrib{$idx.':screenname'}) {                        if ($screenname) {
   $sender='<i>'.$contrib{$idx.':screenname'}.'</i>';    $sender='<i>'.$screenname.'</i>';
                       }                        }
                   }                    }
   $discussion.='<p><b>'.$sender.'</b> ('.    $discussion.='<p><b>'.$sender.'</b> ('.
Line 211  sub xmlend { Line 226  sub xmlend {
         }          }
                }                  } 
               }                }
               $discussion.='</address>';                unless ($discussiononly) {
                    $discussion.='</address>';
         }
             }
             if ($discussiononly) {
         $discussion.=(<<ENDDISCUSS);
   <form action="/adm/feedback" method="post">
   <input type="submit" name="discuss" value="Post Discussion" />
   <input type="submit" name="anondiscuss" value="Post Anonymous Discussion" />
   <input type="hidden" name="symb" value="$symb" />
   <input type="hidden" name="sendit" value="true" />
   <br />
   <font size="1">Note: in anonymous discussion, your name is visible only to
   course faculty</font><br />
   <textarea name=comment cols=60 rows=10 wrap=hard></textarea>
   </form>
   ENDDISCUSS
           }            }
        }         }
     }      }
     return $discussion.'</html>';      return $discussion.($discussiononly?'':'</html>');
 }  }
   
 sub tokeninputfield {  sub tokeninputfield {
Line 541  sub htmlclean { Line 572  sub htmlclean {
   
 sub latex_special_symbols {  sub latex_special_symbols {
     my ($current_token,$stack,$parstack)=@_;      my ($current_token,$stack,$parstack)=@_;
     my @temp_array = @$stack;      $current_token=~s/\\/\\char92 /g;
     if ($temp_array[-1] ne 'tt') {      $current_token=~s/\^/\\char94 /g;
  if ($current_token=~m/\^/) {$current_token=~s/\^/\\verb|\^|/g;}      $current_token=~s/\~/\\char126 /g;
     } else {      $current_token=~s/(&[^a-z#])/\\$1/g;
  if ($current_token=~m/\^/) {$current_token=~s/\^/}\\verb|\^|{/g;}      $current_token=~s/([^&]\#)/\\$1/g;
     }      $current_token=~s/(\$|_|{|})/\\$1/g;
     if ($current_token=~m/>/) {$current_token=~s/>/\$>\$/g;} #more      $current_token=~s/\\char92 /\\texttt{\\char92}/g;
     if ($current_token=~m/</) {$current_token=~s/</\$<\$/g;} #less      $current_token=~s/>/\$>\$/g; #more
     if ($current_token=~m/\d%/) {$current_token =~ s/%/\\%/g;} #percent after digit      $current_token=~s/</\$<\$/g; #less
     if ($current_token=~m/\s%/) {$current_token =~ s/%/\\%/g;} #persent after space      if ($current_token=~m/\d%/) {$current_token =~ s/(\d)%/$1\\%/g;} #percent after digit
       if ($current_token=~m/\s%/) {$current_token =~ s/(\s)%/$1\\%/g;} #persent after space
   
 #    $current_token = ' start='.$current_token.'=finish ';  
     return $current_token;      return $current_token;
 }  }
   
Line 567  sub inner_xmlparse { Line 596  sub inner_xmlparse {
       if (($token->[0] eq 'T') || ($token->[0] eq 'C') || ($token->[0] eq 'D') ) {        if (($token->[0] eq 'T') || ($token->[0] eq 'C') || ($token->[0] eq 'D') ) {
  if ($metamode<1) {   if ($metamode<1) {
     my $text=$token->[1];      my $text=$token->[1];
     if ($token->[0] eq 'C') {      if ($token->[0] eq 'C' && $target eq 'tex') {
  $text = '%'.$text;   $text = '%'.$text;
  $text =~ s/[\n\r]//g;   $text =~ s/[\n\r]//g;
     }      }

Removed from v.1.191  
changed lines
  Added in v.1.196


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