--- loncom/xml/lonxml.pm 2002/01/30 16:04:04 1.151
+++ loncom/xml/lonxml.pm 2002/02/21 04:11:25 1.152
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# XML Parser Module
#
-# $Id: lonxml.pm,v 1.151 2002/01/30 16:04:04 albertel Exp $
+# $Id: lonxml.pm,v 1.152 2002/02/21 04:11:25 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -538,7 +538,7 @@ sub inner_xmlparse {
&Apache::lonxml::warning('Using tag </'.$token->[1].'> as end tag to <'.$$stack[-1].'>');
last;
} else {
- &Apache::lonxml::warning('Found tag </'.$$stack[-1].'> when looking for </'.$token->[1].'> in file');
+ &Apache::lonxml::warning('Found tag </'.$token->[1].'> when looking for </'.$$stack[-1].'> in file');
&end_tag($stack,$parstack,$token);
}
}
@@ -626,7 +626,7 @@ sub recurse {
&Apache::lonxml::warning('Using tag </'.$tokenpat->[1].'> as end tag to <'.$innerstack[-1].'>');
last;
} else {
- &Apache::lonxml::warning('Found tag </'.$innerstack[-1].'> when looking for </'.$tokenpat->[1].'> in file');
+ &Apache::lonxml::warning('Found tag </'.$tokenpat->[1].'> when looking for </'.$innerstack[-1].'> in file');
&end_tag(\@innerstack,\@innerparstack,$tokenpat);
}
}
@@ -689,13 +689,13 @@ sub callsub {
}
if (!$deleted) {
if ($space) {
- #&Apache::lonxml::debug("Calling sub $sub in $space $metamode
\n");
+ #&Apache::lonxml::debug("Calling sub $sub in $space $metamode");
$sub1="$space\:\:$sub";
($currentstring,$nodefault) = &$sub1($target,$token,$tagstack,
$parstack,$parser,$safeeval,
$style);
} else {
- #&Apache::lonxml::debug("NOT Calling sub $sub in $space $metamode
\n");
+ #&Apache::lonxml::debug("NOT Calling sub $sub in $space $metamode");
if ($metamode <1) {
if (defined($token->[4]) && ($metamode < 1)) {
$currentstring = $token->[4];
@@ -1069,10 +1069,30 @@ ENDFOOTER
return $result;
}
+sub get_target {
+ my $viewgrades=&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'});
+ if ( $ENV{'request.state'} eq 'published') {
+ if ( defined($ENV{'form.grade_target'})
+ && ($viewgrades == 'F' )) {
+ return ($ENV{'form.grade_target'});
+ } else {
+ return 'web';
+ }
+ } elsif ($ENV{'request.state'} eq 'construct') {
+ if ( defined($ENV{'form.grade_target'})) {
+ return ($ENV{'form.grade_target'});
+ } else {
+ return 'web';
+ }
+ } else {
+ return 'web';
+ }
+}
+
sub handler {
my $request=shift;
- my $target='web';
+ my $target=&get_target();
$Apache::lonxml::debug=0;