--- loncom/xml/lonxml.pm 2003/06/10 18:17:03 1.262 +++ loncom/xml/lonxml.pm 2003/09/27 04:15:26 1.266.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # XML Parser Module # -# $Id: lonxml.pm,v 1.262 2003/06/10 18:17:03 matthew Exp $ +# $Id: lonxml.pm,v 1.266.2.2 2003/09/27 04:15:26 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -70,6 +70,7 @@ use Math::Cephes(); use Math::Random(); use Opcode(); + sub register { my ($space,@taglist) = @_; foreach my $temptag (@taglist) { @@ -95,6 +96,8 @@ use Apache::run(); use Apache::londefdef(); use Apache::scripttag(); use Apache::edit(); +use Apache::inputtags(); +use Apache::outputtags(); use Apache::lonnet(); use Apache::File(); use Apache::loncommon(); @@ -155,6 +158,9 @@ $Apache::lonxml::usestyle=1; $Apache::lonxml::style_values=''; $Apache::lonxml::style_end_values=''; +#array of ssi calls that need to occur after we are done parsing +@Apache::lonxml::ssi_info=(); + sub xmlbegin { my $output=''; if ($ENV{'browser.mathml'}) { @@ -386,7 +392,7 @@ sub fontsettings() { if (($ENV{'browser.os'} eq 'mac') && (!$ENV{'browser.mathml'})) { $headerstring.= ''; - } elsif (!$ENV{'browser.mathml'}) { + } elsif (!$ENV{'browser.mathml'} && $ENV{'browser.unicode'}) { $headerstring.= ''; } @@ -448,6 +454,7 @@ sub xmlparse { if ($ENV{'request.uri'}) { &writeallows($ENV{'request.uri'}); } + &do_registered_ssi(); if ($Apache::lonxml::counter_changed) { &store_counter() } return $finaloutput; } @@ -696,6 +703,7 @@ sub setup_globals { &init_counter(); @Apache::lonxml::pwd=(); @Apache::lonxml::extlinks=(); + @Apache::lonxml::ssi_info=(); if ($target eq 'meta') { $Apache::lonxml::redirection = 0; $Apache::lonxml::metamode = 1; @@ -1069,6 +1077,19 @@ sub writeallows { &Apache::lonnet::appenv(%httpref); } +sub register_ssi { + my ($url,%form)=@_; + push (@Apache::lonxml::ssi_info,{'url'=>$url,'form'=>\%form}); + return ''; +} + +sub do_registered_ssi { + foreach my $info (@Apache::lonxml::ssi_info) { + my %form=%{ $info->{'form'}}; + my $url=$info->{'url'}; + &Apache::lonnet::ssi($url,%form); + } +} # # Afterburner handles anchors, highlights and links # @@ -1139,13 +1160,7 @@ sub inserteditinfo { my ($result,$filecontents)=@_; $filecontents = &HTML::Entities::encode($filecontents); # my $editheader='Edit below
'; - my $xml_help = '
'. - &Apache::loncommon::help_open_topic("Greek_Symbols",'Greek Symbols', - undef,undef,600) - .''. - &Apache::loncommon::help_open_topic("Other_Symbols",'Other Symbols', - undef,undef,600) - .'
'; + my $xml_help = Apache::loncommon::helpLatexCheatsheet(); my $titledisplay=&display_title(); my $buttons=(<