Diff for /loncom/xml/lonxml.pm between versions 1.190 and 1.194

version 1.190, 2002/09/04 03:57:18 version 1.194, 2002/09/10 20:53:36
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 183  sub xmlend { Line 188  sub xmlend {
                   }                    }
                   my $sender='Anonymous';                    my $sender='Anonymous';
                   if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {                    if ((!$contrib{$idx.':anonymous'}) || ($seeid)) {
                       $sender=$contrib{$idx.':plainname'}.' ('.                        $sender=&Apache::loncommon::aboutmewrapper(
                                  $contrib{$idx.':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'}) {
Line 211  sub xmlend { Line 219  sub xmlend {
         }          }
                }                  } 
               }                }
               $discussion.='</address>';                unless ($discussiononly) {
                    $discussion.='</address>';
         }
             }
             if ($discussiononly) {
         $discussion.='<h1>'.$symb.'</h1>';
           }            }
        }         }
     }      }
     return $discussion.'</html>';      return $discussion.($discussiononly?'':'</html>');
 }  }
   
 sub tokeninputfield {  sub tokeninputfield {
Line 539  sub htmlclean { Line 552  sub htmlclean {
     return $output;      return $output;
 }  }
   
 sub latex_special_sumbols {  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 578  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;
     }      }
Line 636  sub inner_xmlparse { Line 647  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 ($target eq 'tex') {   if ($target eq 'tex') {
     $result=&latex_special_sumbols($result,$stack,$parstack);      $result=&latex_special_symbols($result,$stack,$parstack);
  }   }
       }        }
   

Removed from v.1.190  
changed lines
  Added in v.1.194


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