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, 8 months ago) by harris41
Branches: MAIN
CVS tags: HEAD
beautify/optimize

# The LON-CAPA output tags handler
#
# Handles output tags.
#
# YEAR=2001
# 1/11,1/15,4/26,6/1,6/2 Guy Albertelli
# 8/6 Scott Harrison

package Apache::outputtags; 

use strict;
use Apache::lonnet;
use POSIX qw(strftime);

# ======================================================================= BEGIN
sub BEGIN {
    &Apache::lonxml::register('Apache::outputtags',('displayduedate',
						    'displaytitle'));
}

# =============================== Start display due date (return scalar string)
sub start_displayduedate {
    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
    my $result;
    my $status=$Apache::inputtags::status['-1'];
    &Apache::lonxml::debug("got a $status in duedatebox");
    if (($status =~ /CAN.*_ANSWER/) && ($target eq 'web')) {
	my $format = &Apache::lonxml::get_param('format',$parstack,$safeeval);
	if ($format eq '') {
	    &Apache::lonxml::debug("using default format");
	    $format="%c";
	}
	my $id = $Apache::inputtags::part;
	my $date = &Apache::lonnet::EXT("resource.$id.duedate");
	&Apache::lonxml::debug("duedatebox found $date for $id");
	if ($date) {
	    $result = '<table border="on"><tr><td>Due at '.
	              POSIX::strftime($format,localtime($date)).
		      '</td></tr></table>';
	} else {
	    $result = '<table border="on"><tr><td>No due date set.</td></tr>'.
		      '</table>';
	}
    }
    return $result;
}

# ======================================================== End display due date
sub end_displayduedate {
    return '';
}

# ================================== Start display title (return scalar string)
sub start_displaytitle {
    my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
    my $result = '';
    if ($target eq 'web') {
	$result = "<h1>$Apache::lonhomework::name</h1>";
    }
    return $result;
}

# =========================================================== End display title
sub end_displaytitle {
  return '';
}

1;

__END__

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