Annotation of loncom/homework/outputtags.pm, revision 1.12

1.1       albertel    1: package Apache::outputtags; 
                      2: 
                      3: use strict;
                      4: use Apache::lonnet;
                      5: use POSIX qw(strftime);
                      6: 
                      7: sub BEGIN {
1.10      albertel    8:   &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle'));
1.1       albertel    9: }
                     10: 
1.2       albertel   11: sub start_displayduedate {
1.10      albertel   12:   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
                     13:   my $result;
                     14:   my $status=$Apache::inputtags::status['-1'];
                     15:   &Apache::lonxml::debug("got a $status in duedatebox");
                     16:   if (($status =~ /CAN.*_ANSWER/) && ($target eq 'web')) {
                     17:     my $format = &Apache::lonxml::get_param('format',$parstack,$safeeval);
                     18:     if ($format eq '') {
                     19:       &Apache::lonxml::debug("using default format");
                     20:       $format="%c";
                     21:     }
                     22:     my $id = $Apache::inputtags::part;
                     23:     my $date = &Apache::lonnet::EXT("resource.$id.duedate");
                     24:     &Apache::lonxml::debug("duedatebox found $date for $id");
                     25:     if ($date) {
                     26:        $result ='<table border="on"><tr><td>Due at '.
                     27:          POSIX::strftime($format,localtime($date)).
                     28: 	   '</td></tr></table>';
                     29:     } else {
                     30:       $result ='<table border="on"><tr><td>No due date set.</td></tr></table>';
1.5       www        31:     }
1.11      albertel   32:   } elsif ( $target eq 'edit' ) {
                     33:     $result=&Apache::edit::tag_start($target,$token,
                     34: 				     &Apache::lonxml::description($token));
                     35:     $result.='</td></tr>';
                     36:     $result.=&Apache::edit::end_table();
1.10      albertel   37:   }
                     38:   return $result;
1.1       albertel   39: }
                     40: 
1.2       albertel   41: sub end_displayduedate {
1.11      albertel   42:   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
                     43:   my @result;
1.12    ! albertel   44:   if ($target eq 'edit') { $result[1]='no'; }
1.11      albertel   45:   return @result;
1.2       albertel   46: }
                     47: 
                     48: sub start_displaytitle {
1.10      albertel   49:   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
                     50:   my $result='';
                     51:   if ($target eq 'web') {
                     52:     $result="<h1>$Apache::lonhomework::name</h1>";
1.11      albertel   53:   } elsif ($target eq 'edit') {
                     54:     $result=&Apache::edit::tag_start($target,$token,
                     55: 				     &Apache::lonxml::description($token));
                     56:     $result.='</td></tr>';
                     57:     $result.=&Apache::edit::end_table();
1.10      albertel   58:   }
                     59:   return $result;
1.2       albertel   60: }
                     61: 
                     62: sub end_displaytitle {
1.11      albertel   63:   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
                     64:   my @result;
1.12    ! albertel   65:   if ($target eq 'edit') { $result[1]='no'; }
1.11      albertel   66:   return @result;
1.1       albertel   67: }
                     68: 
                     69: 1;
                     70: __END__

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>