File:  [LON-CAPA] / loncom / homework / outputtags.pm
Revision 1.9: download - view: text, annotated - select for diffs
Mon Aug 6 19:36:17 2001 UTC (22 years, 9 months ago) by harris41
Branches: MAIN
CVS tags: HEAD
beautify/optimize

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

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