--- rat/lonpage.pm 2006/04/04 19:54:51 1.74 +++ rat/lonpage.pm 2009/10/26 09:59:12 1.91.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Page Handler # -# $Id: lonpage.pm,v 1.74 2006/04/04 19:54:51 albertel Exp $ +# $Id: lonpage.pm,v 1.91.2.2 2009/10/26 09:59:12 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -27,6 +27,9 @@ # ### + + + package Apache::lonpage; use strict; @@ -39,6 +42,9 @@ use Apache::lonmenu; use HTML::TokeParser; use GDBM_File; use Apache::lonsequence; +use lib '/home/httpd/lib/perl/'; +use LONCAPA; + # -------------------------------------------------------------- Module Globals my %hash; @@ -75,7 +81,7 @@ sub tracetable { my $frid=$hash{'map_finish_'.$hash{'src_'.$rid}}; $sofar= &tracetable($sofar,$hash{'map_start_'.$hash{'src_'.$rid}}, - '&'.$frid.'&'); + '&'.$frid.$beenhere); $sofar++; if ($hash{'src_'.$frid}) { my $brepriv=&Apache::lonnet::allowed('bre',$hash{'src_'.$frid}); @@ -203,8 +209,6 @@ sub handler { my %ssivlink=(); my %ssialink=(); - my %metalink=(); - my %cellemb=(); my $allscript=''; @@ -227,7 +231,6 @@ sub handler { if ($hash{'encrypted_'.$_}) { $src=&Apache::lonenc::encrypted($src); } - $metalink{$_}=$src.'.meta'; $cellemb{$_}= &Apache::loncommon::fileembstyle($extension); if ($cellemb{$_} eq 'ssi') { @@ -267,11 +270,11 @@ sub handler { } } my $output=Apache::lonnet::ssi($src,%posthash); - $output=~s|//(\s*)?\s||gs; + $output=~s|//(\s*)?\s||gs; if ($target eq 'tex') { $output =~ s/^([^&]+)\\begin{document}//; $output =~ s/\\end{document}//; - $output = '\parbox{\minipagewidth}{ '.$output.' }'; +# $output = '\parbox{\minipagewidth}{ '.$output.' }'; #some additional cleanup necessary for LateX (due to limitations of table environment $output =~ s/(\\vskip\s*\d+mm)\s*(\\\\)+/$1/g; } @@ -335,11 +338,11 @@ sub handler { $output=~s/\
'); } unless ($target eq 'tex') { - $r->print(&Apache::loncommon::end_page()); + $r->print(&Apache::loncommon::end_page({'discussion' + => 1,})); } else { $r->print('\end{document}'.$number_of_columns); } @@ -571,9 +535,69 @@ sub handler { return OK; } +sub get_buttons { + my ($hash,$rid) = @_; + + # which icons do we use? + my $extension='png'; + if ($env{'environment.icons'} eq 'classic') { $extension='gif'; } + + my $metainfo = ''; + 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); + } + if ($hash->{'src_'.$rid} !~ m-^/uploaded/- + && !$env{'request.enc'} + && ($env{'request.role.adv'} + || !$hash->{'encrypted_'.$rid})) { + $metainfo .=''. + ''. + '