--- loncom/homework/lonhomework.pm 2005/07/12 21:50:05 1.212 +++ loncom/homework/lonhomework.pm 2005/07/13 19:48:07 1.213 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.212 2005/07/12 21:50:05 albertel Exp $ +# $Id: lonhomework.pm,v 1.213 2005/07/13 19:48:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -711,7 +711,9 @@ sub editxmlmode { $bodytag=&Apache::loncommon::bodytag(); } my $html=&Apache::lonxml::xmlbegin(); - $result.=$html.$bodytag.&Apache::lonxml::message_location().' + $result.=$html.$bodytag. + &renderpage($request,$file,['no_output_web'],1). + &Apache::lonxml::message_location().'
'. &Apache::structuretags::remember_problem_state().' @@ -737,7 +739,7 @@ sub editxmlmode { # Render the page in whatever target desired. # sub renderpage { - my ($request,$file,$targets) = @_; + my ($request,$file,$targets,$return_string) = @_; my @targets = @{$targets || [&get_target()]}; &Apache::lonhomework::showhashsubset(\%env,'form.'); @@ -771,7 +773,7 @@ sub renderpage { my $result = &Apache::lonxml::xmlparse($request, $target, $problem, &setup_vars($target),%mystyle); undef($Apache::lonhomework::parsing_a_problem); - if (!$output) { $result = &Apache::lonxml::message_location(); } + if (!$output) { $result = '';&Apache::lonxml::message_location().'c'; } #$request->print("Result follows:"); if ($target eq 'modified') { &handle_save_or_undo($request,\$problem,\$result); @@ -792,9 +794,13 @@ sub renderpage { #$request->print(":Result ends"); #my $td=&tv_interval($t0); } - &Apache::lonxml::add_messages(\$overall_result); - $request->print($overall_result); - $request->rflush(); + if (!$return_string) { + &Apache::lonxml::add_messages(\$overall_result); + $request->print($overall_result); + $request->rflush(); + } else { + return $overall_result; + } } # with no arg it returns a HTML