Diff for /rat/lonpage.pm between versions 1.60 and 1.69

version 1.60, 2004/09/14 01:21:49 version 1.69, 2005/03/01 00:40:05
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # (TeX Content Handler  
 #  
 # YEAR=2000  
 # 05/29/00,05/30 Gerd Kortemeyer)  
 # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,  
 # 10/02,10/10,10/14,10/16,10/18,10/19,10/31,11/6,11/14,11/16,  
 # YEAR=2001  
 # 08/13/01,08/30,10/1 Gerd Kortemeyer  
 # YEAR=2002  
 # 03/19 Gerd Kortemeyer  
 #  
 ###  ###
   
 package Apache::lonpage;  package Apache::lonpage;
Line 192  sub handler { Line 181  sub handler {
      if ($rows[$i]) {       if ($rows[$i]) {
                         my @colcont=split(/\&/,$rows[$i]);                          my @colcont=split(/\&/,$rows[$i]);
                         foreach (@colcont) {                          foreach (@colcont) {
                            $symbhash{$hash{'src_'.$_}}='';                             $symbhash{$hash{'src_'.$_}}=['page','notasymb'];
         }          }
      }       }
   }    }
Line 232  sub handler { Line 221  sub handler {
                       $lcm*=($#colcont+1)/euclid($lcm,($#colcont+1));                        $lcm*=($#colcont+1)/euclid($lcm,($#colcont+1));
                       foreach (@colcont) {                        foreach (@colcont) {
                           my $src=$hash{'src_'.$_};                            my $src=$hash{'src_'.$_};
                           $src=~/\.(\w+)$/;    my ($extension)=($src=~/\.(\w+)$/);
     if ($hash{'encrypted_'.$_}) {
         $src=&Apache::lonenc::encrypted($src);
     }
                           $metalink{$_}=$src.'.meta';                            $metalink{$_}=$src.'.meta';
                           $cellemb{$_}=Apache::loncommon::fileembstyle($1);                            $cellemb{$_}=
         &Apache::loncommon::fileembstyle($extension);
                           if ($cellemb{$_} eq 'ssi') {                            if ($cellemb{$_} eq 'ssi') {
 # --------------------------------------------------------- This is an SSI cell  # --------------------------------------------------------- This is an SSI cell
         my ($mapid,$resid)=split(/\./,$_);
         my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$src);
         
       my $prefix=$_.'_';        my $prefix=$_.'_';
                               my %posthash=('request.prefix' => $prefix);                                my %posthash=('request.prefix' => $prefix,
       'symb' => $symb);
       if ($ENV{'form.grade_target'} eq 'tex') {        if ($ENV{'form.grade_target'} eq 'tex') {
   $posthash{'grade_target'}=$ENV{'form.grade_target'};    $posthash{'grade_target'}=$ENV{'form.grade_target'};
   $posthash{'textwidth'}=$ENV{'form.textwidth'};    $posthash{'textwidth'}=$ENV{'form.textwidth'};
Line 257  sub handler { Line 254  sub handler {
                                }                                 }
       }        }
                               my $output=Apache::lonnet::ssi($src,%posthash);                                my $output=Apache::lonnet::ssi($src,%posthash);
       $output=~        $output=~s|//(\s*<!--)? BEGIN LON-CAPA Internal.+// END LON-CAPA Internal\s*(-->)?\s||gs;
     s/\/\/ BEGIN LON\-CAPA Internal.+\/\/ END LON\-CAPA Internal\s//gs;  
                               if ($target eq 'tex') {                                if ($target eq 'tex') {
   $output =~ s/^([^&]+)\\begin{document}//;    $output =~ s/^([^&]+)\\begin{document}//;
   $output =~ s/\\end{document}//;    $output =~ s/\\end{document}//;
Line 397  sub handler { Line 393  sub handler {
 # ------------------------------------------------------------------ Start form  # ------------------------------------------------------------------ Start form
   if ($nforms) {    if ($nforms) {
       $r->print('<form method="post" action="'.        $r->print('<form method="post" action="'.
  $requrl.'">');   &Apache::lonenc::check_encrypt($requrl)
    .'">');
   }    }
       } elsif ($target eq 'tex') {        } elsif ($target eq 'tex') {
   $r->print('\documentclass{article}    $r->print('\documentclass{article}
Line 413  sub handler { Line 410  sub handler {
   $r->print('\begin{longtable}INSERTTHEHEADOFLONGTABLE\endfirsthead\endhead ');    $r->print('\begin{longtable}INSERTTHEHEADOFLONGTABLE\endfirsthead\endhead ');
   if ($number_of_columns le $lcm) {$number_of_columns=$lcm;};    if ($number_of_columns le $lcm) {$number_of_columns=$lcm;};
       } else {        } else {
   $r->print('<table cols="'.$lcm.'" border="0">');    $r->print('<table width="100%" cols="'.$lcm.'" border="0">');
       }        }
                       for ($i=0;$i<=$#rows;$i++) {                        for ($i=0;$i<=$#rows;$i++) {
  if ($rows[$i]) {   if ($rows[$i]) {
Line 425  sub handler { Line 422  sub handler {
                           for ($j=0;$j<=$#colcont;$j++) {                            for ($j=0;$j<=$#colcont;$j++) {
                               my $rid=$colcont[$j];                                my $rid=$colcont[$j];
                               my $metainfo = '';                                my $metainfo = '';
                               print STDERR "src is $hash{'src_'.$rid}\n";        my $esrc=&Apache::lonnet::declutter($hash{'src_'.$rid});
         my ($mapid,$resid)=split(/\./,$rid);
         my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid});
         if ($hash{'encrypted_'.$rid}) {
     $symb=&Apache::lonenc::encrypted($symb);
     $esrc=&Apache::lonenc::encrypted($esrc);
         }
                               unless ($hash{'src_'.$rid} =~ m-^/uploaded/-) {                                 unless ($hash{'src_'.$rid} =~ m-^/uploaded/-) { 
                                   $metainfo ='<a name="'.                                    $metainfo ='<a name="'.&Apache::lonnet::escape($symb).'" />'.
  &Apache::lonnet::escape(&Apache::lonnet::declutter($hash{'src_'.$rid})).'" />'.  
                                   '<a href="'.$metalink{$rid}.'" target="LONcatInfo">'.                                    '<a href="'.$metalink{$rid}.'" target="LONcatInfo">'.
                                   '<img src="/adm/lonMisc/cat_button.gif" border=0>'.                                    '<img src="/adm/lonMisc/cat_button.gif" border=0>'.
                                   '</img></a>';                                    '</img></a>';
                               }                                }
                               $metainfo .= '<a href="/adm/evaluate?postdata='.                                $metainfo .= '<a href="/adm/evaluate?postdata='.
  &Apache::lonnet::escape(&Apache::lonnet::declutter($hash{'src_'.$rid})).    &Apache::lonnet::escape($esrc).
                                   '" target="LONcatInfo">'.                                    '" target="LONcatInfo">'.
                                   '<img src="/adm/lonMisc/eval_button.gif" border=0>'.                                    '<img src="/adm/lonMisc/eval_button.gif" border=0>'.
                                   '</img></a>';                                    '</img></a>';
Line 545  sub handler { Line 547  sub handler {
       } else {        } else {
   $r->print('\end{document}'.$number_of_columns);    $r->print('\end{document}'.$number_of_columns);
       }        }
         &Apache::lonnet::symblist($requrl,%symbhash);
         my ($map,$id,$url)=&Apache::lonnet::decode_symb(&Apache::lonnet::symbread());
         &Apache::lonnet::symblist($map,'last_known'=>[$url,$id]);
 # -------------------------------------------------------------------- End page  # -------------------------------------------------------------------- End page
                   }                                      }                  
 # ------------------------------------------------------------- End render page  # ------------------------------------------------------------- End render page
               } else {                } else {
                   $r->content_type('text/html');                    &Apache::loncommon::content_type($r,'text/html');
                   $r->send_http_header;                    $r->send_http_header;
                   &Apache::lonsequence::viewmap($r,$requrl);                    &Apache::lonsequence::viewmap($r,$requrl);
               }                }
Line 564  sub handler { Line 569  sub handler {
           }            }
       }         } 
   }    }
   $r->content_type('text/html');    &Apache::loncommon::content_type($r,'text/html');
   $r->send_http_header;    $r->send_http_header;
   &Apache::lonsequence::viewmap($r,$requrl);    &Apache::lonsequence::viewmap($r,$requrl);
   return OK;     return OK; 

Removed from v.1.60  
changed lines
  Added in v.1.69


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