Diff for /loncom/homework/structuretags.pm between versions 1.106 and 1.109

version 1.106, 2002/08/26 20:29:30 version 1.109, 2002/08/29 21:21:09
Line 387  sub end_problem { Line 387  sub end_problem {
       $status ne 'UNCHECKEDOUT') {        $status ne 'UNCHECKEDOUT') {
       # if part is zero, no <part>s existed, so we need show the current         # if part is zero, no <part>s existed, so we need show the current 
       # grading status        # grading status
       my $gradesatement = &Apache::inputtags::gradestatus($Apache::inputtags::part);        my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part);
       if ($target eq 'tex') {        #FIXME this is ugly we should just generate tex in inputtags
   $gradesatement =~ s/<table>//;        if ($target eq 'tex') { $gradestatus=&html_to_tex($gradestatus); }
   $gradesatement =~ s/<\/table>//;        $result.= $gradestatus;
   $gradesatement =~ s/<tr([^>]*)>//g;  
   $gradesatement =~ s/<\/tr>//g;  
   $gradesatement =~ s/<td([^>]*)>//g;  
   $gradesatement =~ s/<\/td>//g;  
   $gradesatement =~ s/<b>/\\textbf{/g;  
   $gradesatement =~ s/<\/b>/}/g;  
   $gradesatement =~ s/<br \/>/\\vskip 0 mm /g;  
   $gradesatement =~ s/<input([^>]*)>//g;  
       }  
       $result.= $gradesatement;  
       if ($target eq 'tex') {  
   $result .= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}';  
   if (not $ENV{'request.symb'} =~ m/\.page_/) {  
       $result .= '\end{document} ';  
   } else {  
       $result .= '} ';  
   }  
       }  
     }      }
     if (      if (
  (($target eq 'web' || $target eq 'tex') && ($ENV{'request.state'} ne 'construct')) ||   (($target eq 'web' || $target eq 'tex') && ($ENV{'request.state'} ne 'construct')) ||
Line 450  sub end_problem { Line 432  sub end_problem {
   return $result;    return $result;
 }  }
   
   #FIXME I am ugly shoot me
   sub html_to_tex {
     my ($string)=@_;
     $string =~ s/<table>//;
     $string =~ s/<\/table>//;
     $string =~ s/<tr([^>]*)>//g;
     $string =~ s/<\/tr>//g;
     $string =~ s/<td([^>]*)>//g;
     $string =~ s/<\/td>//g;
     $string =~ s/<b>/\\textbf{/g;
     $string =~ s/<\/b>/}/g;
     $string =~ s/<br \/>/\\vskip 0 mm /g;
     $string =~ s/<input([^>]*)>//g;
     return $string;
   }
   
 sub start_library {  sub start_library {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
   my ($result,$head_tag_start,$body_tag_start,$form_tag_start)=    my ($result,$head_tag_start,$body_tag_start,$form_tag_start);
     &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);  
   if ($target eq 'edit') {    if ($target eq 'edit') {
       ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
         &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
     $result.=$head_tag_start."</head>".$body_tag_start.$form_tag_start.      $result.=$head_tag_start."</head>".$body_tag_start.$form_tag_start.
       &problem_edit_header();        &problem_edit_header();
     my $temp=&Apache::edit::insertlist($target,$token);      my $temp=&Apache::edit::insertlist($target,$token);
Line 463  sub start_library { Line 463  sub start_library {
     $result=$token->[4];      $result=$token->[4];
     $result.=&Apache::edit::handle_insert();      $result.=&Apache::edit::handle_insert();
   } elsif ($target eq 'web' && $ENV{'request.state'} eq "construct" ) {    } elsif ($target eq 'web' && $ENV{'request.state'} eq "construct" ) {
       ($result,$head_tag_start,$body_tag_start,$form_tag_start)=
         &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval);
     my $name=&get_resource_name($parstack,$safeeval);      my $name=&get_resource_name($parstack,$safeeval);
     my $rndseed=&setup_rndseed($safeeval);      my $rndseed=&setup_rndseed($safeeval);
     $result.="$head_tag_start<title>$name</title></head>      $result.="$head_tag_start<title>$name</title></head>
Line 653  sub end_part { Line 655  sub end_part {
   if ( $target eq 'grade' && $status eq 'CAN_ANSWER') {    if ( $target eq 'grade' && $status eq 'CAN_ANSWER') {
     return &Apache::inputtags::grade;      return &Apache::inputtags::grade;
   }    }
   if ($target eq 'web') {    if ($target eq 'web' || $target eq 'tex' ) {
     return &Apache::inputtags::gradestatus($Apache::inputtags::part);      my $gradestatus=&Apache::inputtags::gradestatus($Apache::inputtags::part);
       #FIXME this is ugly we should just generate tex in inputtags
       if ($target eq 'tex') { $gradestatus=&html_to_tex($gradestatus); }
       return $gradestatus;
   }    }
   return '';    return '';
 }  }

Removed from v.1.106  
changed lines
  Added in v.1.109


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