[LON-CAPA-cvs] cvs: loncom /homework outputtags.pm

albertel lon-capa-cvs@mail.lon-capa.org
Wed, 16 Oct 2002 20:50:08 -0000


albertel		Wed Oct 16 16:50:08 2002 EDT

  Modified files:              
    /loncom/homework	outputtags.pm 
  Log:
  - added a weight tag
  
  
Index: loncom/homework/outputtags.pm
diff -u loncom/homework/outputtags.pm:1.21 loncom/homework/outputtags.pm:1.22
--- loncom/homework/outputtags.pm:1.21	Wed Oct 16 16:42:22 2002
+++ loncom/homework/outputtags.pm	Wed Oct 16 16:50:08 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # tags that create controlled output
 #
-# $Id: outputtags.pm,v 1.21 2002/10/16 20:42:22 albertel Exp $
+# $Id: outputtags.pm,v 1.22 2002/10/16 20:50:08 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -33,7 +33,7 @@
 use POSIX qw(strftime);
 
 BEGIN {
-    &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle'));
+    &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight'));
 }
 
 sub initialize_outputtags {
@@ -103,6 +103,36 @@
 }
 
 sub end_displaytitle {
+    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+    my @result;
+    if ($target eq 'edit') { $result[1]='no'; }
+    return @result;
+}
+
+sub start_displayweight {
+    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+    my $result;
+    if (exists($Apache::outputtags::showonce{'displayweight'})) {
+	return '';
+    } else {
+	$Apache::outputtags::showonce{'displayweight'}=1;
+    }
+    my $status=$Apache::inputtags::status['-1'];
+    if (($status =~ /CAN.*_ANSWER/) && ($target eq 'web')) {
+	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=1; }
+	$result.=$weight;
+    } elsif ( $target eq 'edit' ) {
+	$result=&Apache::edit::tag_start($target,$token);
+	$result.='</td></tr>';
+	$result.=&Apache::edit::end_table();
+    }
+    return $result;
+}
+
+sub end_displayweight {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my @result;
     if ($target eq 'edit') { $result[1]='no'; }