--- rat/lonpage.pm 2004/09/14 01:21:49 1.60 +++ rat/lonpage.pm 2005/02/17 09:09:57 1.67 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Page Handler # -# $Id: lonpage.pm,v 1.60 2004/09/14 01:21:49 raeburn Exp $ +# $Id: lonpage.pm,v 1.67 2005/02/17 09:09:57 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,17 +25,6 @@ # # 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; @@ -232,13 +221,21 @@ sub handler { $lcm*=($#colcont+1)/euclid($lcm,($#colcont+1)); foreach (@colcont) { my $src=$hash{'src_'.$_}; - $src=~/\.(\w+)$/; + my ($extension)=($src=~/\.(\w+)$/); + if ($hash{'encrypted_'.$_}) { + $src=&Apache::lonenc::encrypted($src); + } $metalink{$_}=$src.'.meta'; - $cellemb{$_}=Apache::loncommon::fileembstyle($1); + $cellemb{$_}= + &Apache::loncommon::fileembstyle($extension); if ($cellemb{$_} eq 'ssi') { # --------------------------------------------------------- This is an SSI cell + my ($mapid,$resid)=split(/\./,$_); + my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$src); + my $prefix=$_.'_'; - my %posthash=('request.prefix' => $prefix); + my %posthash=('request.prefix' => $prefix, + 'symb' => $symb); if ($ENV{'form.grade_target'} eq 'tex') { $posthash{'grade_target'}=$ENV{'form.grade_target'}; $posthash{'textwidth'}=$ENV{'form.textwidth'}; @@ -257,8 +254,7 @@ sub handler { } } my $output=Apache::lonnet::ssi($src,%posthash); - $output=~ - s/\/\/ BEGIN LON\-CAPA Internal.+\/\/ END LON\-CAPA Internal\s//gs; + $output=~s|//(\s*)?\s||gs; if ($target eq 'tex') { $output =~ s/^([^&]+)\\begin{document}//; $output =~ s/\\end{document}//; @@ -397,7 +393,8 @@ sub handler { # ------------------------------------------------------------------ Start form if ($nforms) { $r->print('
'); + &Apache::lonenc::check_encrypt($requrl) + .'">'); } } elsif ($target eq 'tex') { $r->print('\documentclass{article} @@ -413,7 +410,7 @@ sub handler { $r->print('\begin{longtable}INSERTTHEHEADOFLONGTABLE\endfirsthead\endhead '); if ($number_of_columns le $lcm) {$number_of_columns=$lcm;}; } else { - $r->print(''); + $r->print('
'); } for ($i=0;$i<=$#rows;$i++) { if ($rows[$i]) { @@ -425,16 +422,21 @@ sub handler { for ($j=0;$j<=$#colcont;$j++) { my $rid=$colcont[$j]; 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/-) { - $metainfo =''. + $metainfo =''. ''. ''. ''; } $metainfo .= ''. ''. ''; @@ -545,11 +547,12 @@ sub handler { } else { $r->print('\end{document}'.$number_of_columns); } + &Apache::lonnet::symblist($requrl,%symbhash); # -------------------------------------------------------------------- End page } # ------------------------------------------------------------- End render page } else { - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; &Apache::lonsequence::viewmap($r,$requrl); } @@ -564,7 +567,7 @@ sub handler { } } } - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; &Apache::lonsequence::viewmap($r,$requrl); return OK;