--- loncom/xml/lonxml.pm 2007/09/05 01:03:21 1.449.2.1 +++ loncom/xml/lonxml.pm 2007/08/17 20:34:31 1.450 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.449.2.1 2007/09/05 01:03:21 albertel Exp $ +# $Id: lonxml.pm,v 1.450 2007/08/17 20:34:31 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1350,11 +1350,12 @@ SIMPLECONTENT sub inserteditinfo { - my ($result,$filecontents,$filetype)=@_; + my ($filecontents,$filetype)=@_; $filecontents = &HTML::Entities::encode($filecontents,'<>&"'); # my $editheader='Edit below
'; my $xml_help = ''; my $initialize=''; + my $add_to_onload; if ($filetype eq 'html') { my $addbuttons=&Apache::lonhtmlcommon::htmlareaaddbuttons(); $initialize=&Apache::lonhtmlcommon::spellheader(); @@ -1382,7 +1383,7 @@ $addbuttons FULLPAGE } - $result=~s/\]*)\>/\/i; + $add_to_onload = 'initDocument();'; $xml_help=&Apache::loncommon::helpLatexCheatsheet(); } my $cleanbut = ''; @@ -1416,9 +1417,7 @@ $buttons
$titledisplay ENDFOOTER -# $result=~s/(\]*\>)/$1$editheader/is; - $result=~s/(\<\/body\>)/$editfooter/is; - return $result; + return ($editfooter,$add_to_onload);; } sub get_target { @@ -1514,13 +1513,9 @@ ENDNOTFOUND ['editmode']); } if (!$env{'form.editmode'} || $env{'form.viewmode'} || $env{'form.discardview'}) { - &Apache::structuretags::reset_problem_globals(); $result = &Apache::lonxml::xmlparse($request,$target,$filecontents, '',%mystyle); - # .html files may contain or need to clean - # up if it did - &Apache::structuretags::reset_problem_globals(); - &Apache::lonhomework::finished_parsing(); + undef($Apache::lonhomework::parsing_a_task); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['rawmode']); if ($env{'form.rawmode'}) { $result = $filecontents; } @@ -1532,24 +1527,30 @@ ENDNOTFOUND # unless ($env{'request.state'} eq 'published') { if ($env{'form.editmode'} && (!($env{'form.viewmode'})) && (!($env{'form.discardview'}))) - { + { + my ($edit_info, $add_to_onload)= + &inserteditinfo($filecontents,$filetype); + my $displayfile=$request->uri; $displayfile=~s/^\/[^\/]*//; - my %options = (); + my %options = + ('add_entries' => + {'onload' => $add_to_onload, }); if ($env{'environment.remote'} ne 'off') { $options{'bgcolor'} = '#FFFFFF'; + $options{'only_body'} = 1; } my $start_page = &Apache::loncommon::start_page(undef,undef, \%options); $result=$start_page. &Apache::lonxml::message_location().'

'. $displayfile. - '

'.&Apache::loncommon::end_page(); - $result=&inserteditinfo($result,$filecontents,$filetype); + ''. + $edit_info. + &Apache::loncommon::end_page(); } } if ($filetype eq 'html') { &writeallows($request->uri); } - &Apache::lonxml::add_messages(\$result); $request->print($result);