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>