1: package Apache::outputtags;
2:
3: use strict;
4: use Apache::lonnet;
5: use POSIX qw(strftime);
6:
7: sub BEGIN {
8: &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle'));
9: }
10:
11: sub start_displayduedate {
12: my ($target,$token,$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 $args ='';
18: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
19: my $format = &Apache::run::run("{$args;".'return $format}',$safeeval);
20: if ($format eq '') {
21: &Apache::lonxml::debug("using default format");
22: $format="%c";
23: }
24: my $id = $Apache::inputtags::part;
25: my $date = &Apache::lonnet::EXT("resource.$id.duedate");
26: &Apache::lonxml::debug("duedatebox found $date for $id");
27: if ($date) {
28: $result ='<table border="on"><tr><td>Due at '.
29: POSIX::strftime($format,localtime($date)).
30: '</td></tr></table>';
31: } else {
32: $result ='<table border="on"><tr><td>No due date set.</td></tr></table>';
33: }
34: }
35: return $result;
36: }
37:
38: sub end_displayduedate {
39: return '';
40: }
41:
42: sub start_displaytitle {
43: my ($target,$token,$parstack,$parser,$safeeval)=@_;
44: my $result='';
45: if ($target eq 'web') {
46: $result="<h1>$Apache::lonhomework::name</h1>";
47: }
48: return $result;
49: }
50:
51: sub end_displaytitle {
52: return '';
53: }
54:
55: 1;
56: __END__
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>