--- loncom/homework/structuretags.pm 2005/06/28 19:17:36 1.295 +++ loncom/homework/structuretags.pm 2005/09/23 18:39:55 1.301 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.295 2005/06/28 19:17:36 albertel Exp $ +# $Id: structuretags.pm,v 1.301 2005/09/23 18:39:55 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -88,11 +88,10 @@ sub body_tag_start { $body_tag_start.=' style="font-size: x-large;" '; } $body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1); + + &Apache::lontexconvert::jsMath_reset(); if ($env{'environment.texengine'} eq 'jsMath') { - $body_tag_start.=''."\n". - ''."\n"; + $body_tag_start.=&Apache::lontexconvert::jsMath_header(); } return $body_tag_start; } @@ -119,14 +118,16 @@ sub page_start { my $body_tag_start; if (!defined($found{'body'}) && $env{'request.state'} eq 'construct' && $env{'environment.remote'} eq 'off') { - $body_tag_start=&Apache::loncommon::bodytag(); - $body_tag_start.=&Apache::lonxml::message_location(); + if ($target eq 'web' || $target eq 'edit') { + $body_tag_start=&Apache::loncommon::bodytag(); + $body_tag_start.=&Apache::lonxml::message_location(); + } } elsif (!defined($found{'body'})) { my $background=&Apache::lonxml::get_param('background',$parstack, $safeeval); my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack, $safeeval); - $body_tag_start=&body_tag_start($background,$bgcolor); + $body_tag_start=&body_tag_start($target,$background,$bgcolor); if ( ($target eq 'web' || $target eq 'webgrade') && $env{'request.state'} ne 'construct') { my ($symb,undef,undef,undef,$publicuser)= @@ -510,7 +511,6 @@ sub start_problem { defined($env{'form.problemtype'})) { $Apache::lonhomework::type=$env{'form.problemtype'}; } - $Apache::lonhomework::default_type = $Apache::lonhomework::type; &Apache::lonxml::debug("Found this to be of type :$Apache::ltonhomework::type:"); } if ($Apache::lonhomework::type eq '' ) { @@ -523,6 +523,7 @@ sub start_problem { &Apache::lonxml::debug("Using default type, problem, :$uri:"); } } + $Apache::lonhomework::default_type = $Apache::lonhomework::type; #added vars to the scripting enviroment my $expression='$external::part=\''.$Apache::inputtags::part.'\';'; @@ -565,11 +566,12 @@ sub start_problem { value="'.$env{'form.username'}.'" />'; if ($env{'user.adv'}) { $form_tag_start.= - ' '; } $form_tag_start.='
'; } @@ -1135,7 +1137,7 @@ sub start_part { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $result=''; my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval); - if ($id eq '') { $id = $Apache::lonxml::curdepth; } + if ($id =~ /^\s*$/) { $id = $Apache::lonxml::curdepth; } $Apache::inputtags::part=$id; push(@Apache::inputtags::partlist,$id); @Apache::inputtags::response=(); @@ -1270,7 +1272,8 @@ sub start_preduedate { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { &Apache::lonxml::debug("State in preduedate is ". $Apache::inputtags::status['-1']); - if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && + if (!$Apache::lonhomework::scantronmode && + $Apache::inputtags::status['-1'] ne 'CAN_ANSWER' && $Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') { &Apache::lonxml::debug("Wha? ". ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER')); &Apache::lonxml::get_all_text("/preduedate",$parser); @@ -1286,7 +1289,8 @@ sub end_preduedate { sub start_postanswerdate { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; if ($target eq 'web' || $target eq 'grade') { - if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { + if ($Apache::lonhomework::scantronmode || + $Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') { &Apache::lonxml::get_all_text("/postanswerdate",$parser); } } elsif ($target eq 'tex') {