--- loncom/homework/chemresponse.pm 2005/02/18 23:12:29 1.48 +++ loncom/homework/chemresponse.pm 2005/05/25 21:45:07 1.53 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # chemical equation style response # -# $Id: chemresponse.pm,v 1.48 2005/02/18 23:12:29 albertel Exp $ +# $Id: chemresponse.pm,v 1.53 2005/05/25 21:45:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -85,7 +85,6 @@ JMESECTION Molecule Editor @@ -109,7 +107,7 @@ You have to enable Java and JavaScript o $molecule
-JME Editor courtesy of Peter Ertl, Novartis +JME Editor courtesy of Peter Ertl, Novartis

@@ -123,9 +121,10 @@ $molecule CHEMPAGE $body=&HTML::Entities::encode($body,'<>&"'); $body=~s/\n/ /g; + my $nothing=&Apache::lonhtmlcommon::javascript_nothing(); my $docopen=&Apache::lonhtmlcommon::javascript_docopen(); my $result=< + CHEMINPUT return $result; } @@ -237,7 +236,7 @@ sub end_organicresponse { } &Apache::response::handle_previous(\%previous,$ad); $Apache::lonhomework::results{"resource.$partid.$id.awarddetail"}=$ad; - $Apache::lonhomework::results{"resource.$partid.$id.molecule"}=$ENV{"form.MOLECULE_$id"}; + $Apache::lonhomework::results{"resource.$partid.$id.molecule"}=$env{"form.MOLECULE_$id"}; } } elsif ($target eq "edit") { $result.= &Apache::edit::tag_end($target,$token,''); @@ -274,7 +273,7 @@ sub start_organicstructure { if (!$texwidth) { $texwidth='90'; } my $molecule=&Apache::lonxml::get_param('molecule',$parstack,$safeeval); my $options=&Apache::lonxml::get_param('options',$parstack,$safeeval); - my $filename = $ENV{'user.name'}.'_'.$ENV{'user.domain'}. + my $filename = $env{'user.name'}.'_'.$env{'user.domain'}. '_'.time.'_'.$$.int(rand(1000)).'_organicstructure'; my $id=$filename; &Apache::lonnet::appenv( @@ -366,8 +365,11 @@ sub start_reactionresponse { } if ( &Apache::response::show_answer() ) { my $ans=&Apache::lonxml::get_param('answer',$parstack,$safeeval); - $ans=~s/(\\|\')/\\$1/g; - $Apache::inputtags::answertxt{$id}=&Apache::run::run("return &chemparse('$ans');",$safeeval); + if (!$Apache::lonxml::default_homework_loaded) { + &Apache::lonxml::default_homework_load($safeeval); + } + @Apache::scripttag::parser_env = @_; + $Apache::inputtags::answertxt{$id}=&Apache::run::run("return &chemparse(q\0$ans\0);",$safeeval); } } elsif ($target eq "edit") { $result .=&Apache::edit::tag_start($target,$token);