[LON-CAPA-cvs] cvs: loncom /xml lonplot.pm lonxml.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Sat, 27 Sep 2003 04:08:56 -0000
albertel Sat Sep 27 00:08:56 2003 EDT
Modified files:
/loncom/xml lonxml.pm lonplot.pm
Log:
- Can't do Apache::lonnet::ssi when &xmlparse()ing from inside the safe space, register the url and call it after we absolutely out of the safe space.
Index: loncom/xml/lonxml.pm
diff -u loncom/xml/lonxml.pm:1.280 loncom/xml/lonxml.pm:1.281
--- loncom/xml/lonxml.pm:1.280 Sun Sep 21 17:40:06 2003
+++ loncom/xml/lonxml.pm Sat Sep 27 00:08:56 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# XML Parser Module
#
-# $Id: lonxml.pm,v 1.280 2003/09/21 21:40:06 www Exp $
+# $Id: lonxml.pm,v 1.281 2003/09/27 04:08:56 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -160,6 +160,9 @@
$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'}) {
@@ -353,6 +356,7 @@
if ($ENV{'request.uri'}) {
&writeallows($ENV{'request.uri'});
}
+ &do_registered_ssi();
if ($Apache::lonxml::counter_changed) { &store_counter() }
return $finaloutput;
}
@@ -603,6 +607,7 @@
&init_counter();
@Apache::lonxml::pwd=();
@Apache::lonxml::extlinks=();
+ @Apache::lonxml::ssi_info=();
if ($target eq 'meta') {
$Apache::lonxml::redirection = 0;
$Apache::lonxml::metamode = 1;
@@ -998,6 +1003,19 @@
&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
#
Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.90 loncom/xml/lonplot.pm:1.91
--- loncom/xml/lonplot.pm:1.90 Fri Sep 19 16:05:29 2003
+++ loncom/xml/lonplot.pm Sat Sep 27 00:08:56 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Dynamic plot
#
-# $Id: lonplot.pm,v 1.90 2003/09/19 20:05:29 matthew Exp $
+# $Id: lonplot.pm,v 1.91 2003/09/27 04:08:56 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -530,8 +530,8 @@
alt = "$plot{'alttag'}" />
ENDIMAGE
} elsif ($target eq 'tex') {
- &Apache::lonnet::ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps");
-
+ #might be inside the safe space, register the URL for later
+ &Apache::lonxml::register_ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps");
$result = '\graphicspath{{/home/httpd/perl/tmp/}}\includegraphics[width='.$plot{'texwidth'}.' mm]{'.&Apache::lonnet::unescape($filename).'.eps}';
}
} elsif ($target eq 'edit') {