[LON-CAPA-cvs] cvs: loncom /homework outputtags.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 02 May 2003 19:10:43 -0000
albertel Fri May 2 15:10:43 2003 EDT
Modified files:
/loncom/homework outputtags.pm
Log:
- part 2 of BUG#1276
- <displayweight /> now for multipart problems adds up all of the weights if it is outside of a <part> tag inside of a problem
Index: loncom/homework/outputtags.pm
diff -u loncom/homework/outputtags.pm:1.26 loncom/homework/outputtags.pm:1.27
--- loncom/homework/outputtags.pm:1.26 Fri May 2 14:56:29 2003
+++ loncom/homework/outputtags.pm Fri May 2 15:10:43 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# tags that create controlled output
#
-# $Id: outputtags.pm,v 1.26 2003/05/02 18:56:29 albertel Exp $
+# $Id: outputtags.pm,v 1.27 2003/05/02 19:10:43 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -123,10 +123,25 @@
my $status=$Apache::inputtags::status['-1'];
if ($target eq 'web' || $target eq 'tex') {
my $id = $Apache::inputtags::part;
- my $weight = &Apache::lonnet::EXT("resource.$id.weight");
- &Apache::lonxml::debug("duedatebox found $weight for $id");
- if (!defined($weight) || ($weight eq '')) { $weight=1; }
- $result.=$weight;
+ if ($id ne '0') {
+ my $weight = &Apache::lonnet::EXT("resource.$id.weight");
+ if (!defined($weight) || ($weight eq '')) { $weight=1; }
+ $result.=$weight;
+ } else {
+ my $metadata = &Apache::lonnet::metadata($ENV{'request.uri'},
+ 'packages');
+ &Apache::lonxml::debug("metadata for $ENV{'request.uri'} is $metadata");
+ my $weight;
+ foreach (split(/\,/,$metadata)) {
+ if ($_ =~ /^part_(.*)$/) {
+ my $part = $1;
+ my $pweight=&Apache::lonnet::EXT("resource.$part.weight");
+ if (!defined($pweight) || ($pweight eq '')) { $pweight=1; }
+ $weight+=$pweight;
+ }
+ }
+ $result=$weight;
+ }
} elsif ( $target eq 'edit' ) {
$result=&Apache::edit::tag_start($target,$token);
$result.='</td></tr>';