--- loncom/homework/outputtags.pm 2006/04/20 19:09:48 1.47 +++ loncom/homework/outputtags.pm 2009/05/14 10:57:40 1.55 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # tags that create controlled output # -# $Id: outputtags.pm,v 1.47 2006/04/20 19:09:48 albertel Exp $ +# $Id: outputtags.pm,v 1.55 2009/05/14 10:57:40 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,8 @@ # http://www.lon-capa.org/ # + + package Apache::outputtags; use strict; @@ -36,9 +38,7 @@ use POSIX qw(strftime); BEGIN { &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight','displaystudentphoto')); } -# Empties the hash of tags that have already been displayed -# that should only be displayed once. -# + sub initialize_outputtags { %Apache::outputtags::showonce=(); } @@ -73,15 +73,7 @@ sub start_displayduedate { } if (($status =~ /CAN.*_ANSWER/)) { my $id = $Apache::inputtags::part; - my $date; - my $interval= &Apache::lonnet::EXT("resource.$id.interval"); - if ($interval) { - my $first_access=&Apache::lonnet::get_first_access('map'); - if ($first_access) { $date = $first_access+$interval; } - } - if (!defined($date)) { - $date = &Apache::lonnet::EXT("resource.$id.duedate"); - } + my $date = &Apache::lonhomework::due_date($id); &Apache::lonxml::debug("duedatebox found $date for $id"); # Only show the due date if the current date is @@ -113,8 +105,10 @@ sub start_displayduedate { my $duetext = &Apache::lonnavmaps::timeToHumanString($date, '', $format); if (lc($style) !~ 'plain') { # The due date will be put in a box. - - $result = '\framebox{' + # at the start of the line to ensure it won't overlap + # the 1 col boundary. + + $result = '\\\\ \framebox{' .&mt('Due').' '.$duetext.'}'; } else { $result = &mt('Due') . ' '.$duetext; @@ -177,7 +171,7 @@ sub end_displaytitle { sub multipart { my ($uri)=@_; if (!defined($uri)) { $uri=$env{'request.uri'}; } - my ($symb)=&Apache::lonxml::whichuser(); + my ($symb)=&Apache::lonnet::whichuser(); my @parts; my $metadata = &Apache::lonnet::metadata($uri,'packages'); @@ -244,7 +238,7 @@ sub end_displayweight { sub start_displaystudentphoto { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $result; - my (undef,undef,$domain,$user) = &Apache::lonxml::whichuser(); + my (undef,undef,$domain,$user) = &Apache::lonnet::whichuser(); if ($target eq 'web' && $user eq $env{'user.name'}) { my $url=&Apache::lonnet::studentphoto($domain,$user,"gif"); my $args; @@ -285,3 +279,47 @@ sub end_displaystudentphoto { 1; __END__ + + +=head1 NAME + +Apache::outputtags; + +=head1 SYNOPSIS + +Handles tags associated with output. Seems to +relate to due dates of the assignment. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 SUBROUTINES + +=over + +=item start_displayduedate() + +=item initialize_outputtags() + +Empties the hash of tags that have already been displayed that should only be displayed once. + +=item end_displayduedate() + +=item start_displaytitle() + +=item end_displaytitle() + +=item multipart() + +=item start_displayweight() + +=item end_displayweight() + +=item start_displaystudentphoto() + +=item end_displaystudentphoto() + + +=back + +=cut