--- loncom/xml/lonxml.pm 2008/10/27 19:15:35 1.488 +++ loncom/xml/lonxml.pm 2009/04/13 20:15:44 1.492 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.488 2008/10/27 19:15:35 raeburn Exp $ +# $Id: lonxml.pm,v 1.492 2009/04/13 20:15:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,6 +37,25 @@ # to any other parties under any circumstances. # +=pod + +=head1 NAME + +Apache::lonxml + +=head1 SYNOPSIS + +XML Parsing Module + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + + +=head1 SUBROUTINES + +=cut + + package Apache::lonxml; use vars @@ -658,6 +677,7 @@ sub setup_globals { $Apache::lonxml::request=$request; $errorcount=0; $warningcount=0; + $Apache::lonxml::internal_error=0; $Apache::lonxml::default_homework_loaded=0; $Apache::lonxml::usestyle=1; &init_counter(); @@ -1531,6 +1551,7 @@ sub inserteditinfo { my $xml_help = ''; my $initialize=''; my $textarea_id = 'filecont'; + my $dragmath_button; my ($add_to_onload, $add_to_onresize); $initialize=&Apache::lonhtmlcommon::spellheader(); if ($filetype eq 'html' @@ -1568,6 +1589,10 @@ FULLPAGE } FULLPAGE + if ($filetype eq 'html') { + $initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); + $dragmath_button = &Apache::lonhtmlcommon::dragmath_button('filecont',1); + } } $add_to_onload = 'initDocument();'; @@ -1586,9 +1611,12 @@ FULLPAGE my $spelllink .=&Apache::lonhtmlcommon::spelllink('xmledit','filecont'); my $textarea_events = &Apache::edit::element_change_detection(); my $form_events = &Apache::edit::form_change_detection(); - my $htmlerror=&verify_html($filecontents); - if ($htmlerror) { - $htmlerror=''.$htmlerror.''; + my $htmlerror; + if ($filetype eq 'html') { + $htmlerror=&verify_html($filecontents); + if ($htmlerror) { + $htmlerror=''.$htmlerror.''; + } } my $editfooter=(< - $spelllink $htmlerror + $dragmath_button $spelllink $htmlerror
@@ -1828,6 +1856,8 @@ sub error { $errorcount++; + $Apache::lonxml::internal_error=1; + if (defined($Apache::inputtags::part)) { if ( @Apache::inputtags::response ) { push(@errors,