--- rat/lonpage.pm 2005/04/07 06:56:27 1.70 +++ rat/lonpage.pm 2007/06/22 21:24:54 1.80 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Page Handler # -# $Id: lonpage.pm,v 1.70 2005/04/07 06:56:27 albertel Exp $ +# $Id: lonpage.pm,v 1.80 2007/06/22 21:24:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -39,6 +39,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; @@ -180,8 +183,10 @@ sub handler { for ($i=0;$i<=$#rows;$i++) { if ($rows[$i]) { my @colcont=split(/\&/,$rows[$i]); - foreach (@colcont) { - $symbhash{$hash{'src_'.$_}}=['page','notasymb']; + foreach my $rid (@colcont) { + my ($mapid,$resid)=split(/\./,$rid); + $symbhash{$hash{'src_'.$rid}}= + [$hash{'src_'.$rid},$resid]; } } } @@ -235,6 +240,7 @@ sub handler { my $prefix=$_.'_'; my %posthash=('request.prefix' => $prefix, + 'LONCAPA_INTERNAL_no_discussion' => 'true', 'symb' => $symb); if ($env{'form.grade_target'} eq 'tex') { $posthash{'grade_target'}=$env{'form.grade_target'}; @@ -243,18 +249,28 @@ sub handler { $posthash{'latex_type'}=$env{'form.latex_type'}; $posthash{'rndseed'}=$env{'form.rndseed'}; } - if (($env{'form.'.$prefix.'submit'}) - || ($env{'form.all_submit'})) { - foreach (keys %env) { - if ($_=~/^form.$prefix/) { - my $name=$_; - $name=~s/^form.$prefix//; - $posthash{$name}=$env{$_}; - } - } + my $submitted=exists($env{'form.all_submit'}); + if (!$submitted) { + foreach my $key (keys(%env)) { + if ($key=~/^form.\Q$prefix\Esubmit_/) { + $submitted=1;last; + } + } + } + if ($submitted) { + foreach my $key (keys(%env)) { + if ($key=~/^form.\Q$prefix\E/) { + my $name=$key; + $name=~s/^form.\Q$prefix\E//; + $posthash{$name}=$env{$key}; + } + } + if (exists($env{'form.all_submit'})) { + $posthash{'all_submit'}='yes'; + } } 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}//; @@ -322,7 +338,7 @@ sub handler { $output=~s/\
'); } unless ($target eq 'tex') { - $r->print(''.&Apache::lonxml::xmlend()); + $r->print(&Apache::loncommon::end_page({'discussion' + => 1,})); } else { $r->print('\end{document}'.$number_of_columns); }