--- rat/lonpage.pm 2006/04/04 19:54:51 1.74 +++ rat/lonpage.pm 2010/03/16 19:56:02 1.93 @@ -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.93 2010/03/16 19:56:02 droeschl 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,65 @@ sub handler { return OK; } +sub get_buttons { + my ($hash,$rid) = @_; + + 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 .=''. + ''. + ''. + ''; + } + $metainfo .= ''. + ''. + ''; + if (($hash->{'src_'.$rid}=~/\.(problem|exam|quiz|assess|survey|form)$/) && + ($hash->{'src_'.$rid} !~ m-^/uploaded/-)) { + + if (&Apache::lonnet::allowed('mgr',$env{'request.course.id'})) { + $metainfo.= + ''. + '&command=submission">'. + ''. + ''. + ''. + '&command=gradingmenu">'. + ''. + ''; + } + if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) { + $metainfo.= + ''. + '" >'. + ''. + ''; + } + } + return $metainfo; +} + 1; __END__ + =head1 NAME Apache::lonpage - Page Handler @@ -675,5 +695,3 @@ tracetable() : Build page table. =cut - -The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.