--- loncom/homework/lonhomework.pm 2007/04/07 00:12:42 1.267 +++ loncom/homework/lonhomework.pm 2007/07/23 23:30:47 1.268 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.267 2007/04/07 00:12:42 albertel Exp $ +# $Id: lonhomework.pm,v 1.268 2007/07/23 23:30:47 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -901,6 +901,7 @@ sub renderpage { my @targets = @{$targets || [&get_target()]}; &Apache::lonhomework::showhashsubset(\%env,'form.'); &Apache::lonxml::debug("Running targets ".join(':',@targets)); + my $overall_result; foreach my $target (@targets) { # FIXME need to do something intelligent when a problem goes @@ -977,7 +978,9 @@ sub get_template_list { my @allnames; &Apache::lonxml::debug("Looking for :$extension:"); foreach my $file () { + &Apache::lonxml::debug("Looking at $file"); my $name=&Apache::lonnet::metadata($file,'title'); + &Apache::lonxml::debug("Got a name $name"); if ($namewanted && ($name eq $namewanted)) { $result=$file; last; @@ -1047,6 +1050,24 @@ $errormsg return ''; } +sub update_construct_style { + if ($env{'request.state'} eq "construct" + && $env{'form.problemmode'} eq &mt('View') + && defined($env{'form.submitted'}) + && !defined($env{'form.resetdata'}) + && !defined($env{'form.newrandomization'})) { + if ((!$env{'form.style_file'} && $env{'construct.style'}) + ||$env{'form.clear_style_file'}) { + &Apache::lonnet::delenv('construct\\.style'); + } elsif ($env{'form.style_file'} + && $env{'construct.style'} ne $env{'form.style_file'}) { + &Apache::lonnet::appenv('construct.style' => + $env{'form.style_file'}); + } + } +} + + sub handler { #my $t0 = [&gettimeofday()]; my $request=$_[0]; @@ -1097,6 +1118,7 @@ sub handler { } elsif ($env{'form.problemmode'} eq &mt('Calculate answers')) { &analyze($request,$file); } else { + &update_construct_style(); &renderpage($request,$file); } } else {