package Apache::outputtags;
use strict;
use Apache::lonnet;
use POSIX qw(strftime);
sub BEGIN {
&Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle'));
}
sub start_displayduedate {
my ($target,$token,$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 $args ='';
if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
my $format = &Apache::run::run("{$args;".'return $format}',$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 ='
Due at '.
POSIX::strftime($format,localtime($date)).
' |
';
} else {
$result ='';
}
}
return $result;
}
sub end_displayduedate {
return '';
}
sub start_displaytitle {
my ($target,$token,$parstack,$parser,$safeeval)=@_;
my $result='';
if ($target eq 'web') {
$result="$Apache::lonhomework::name
";
}
return $result;
}
sub end_displaytitle {
return '';
}
1;
__END__