version 1.9, 2001/08/06 19:36:17
|
version 1.20, 2002/10/16 19:21:32
|
Line 1
|
Line 1
|
# The LON-CAPA output tags handler |
# The LearningOnline Network with CAPA |
|
# tags that create controlled output |
# |
# |
# Handles output tags. |
# $Id$ |
|
# |
|
# Copyright Michigan State University Board of Trustees |
|
# |
|
# This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
|
# |
|
# LON-CAPA is free software; you can redistribute it and/or modify |
|
# it under the terms of the GNU General Public License as published by |
|
# the Free Software Foundation; either version 2 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# LON-CAPA is distributed in the hope that it will be useful, |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
# GNU General Public License for more details. |
|
# |
|
# You should have received a copy of the GNU General Public License |
|
# along with LON-CAPA; if not, write to the Free Software |
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
# |
|
# /home/httpd/html/adm/gpl.txt |
|
# |
|
# http://www.lon-capa.org/ |
# |
# |
# YEAR=2001 |
|
# 1/11,1/15,4/26,6/1,6/2 Guy Albertelli |
|
# 8/6 Scott Harrison |
|
|
|
package Apache::outputtags; |
package Apache::outputtags; |
|
|
Line 12 use strict;
|
Line 32 use strict;
|
use Apache::lonnet; |
use Apache::lonnet; |
use POSIX qw(strftime); |
use POSIX qw(strftime); |
|
|
# ======================================================================= BEGIN |
BEGIN { |
sub BEGIN { |
&Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle')); |
&Apache::lonxml::register('Apache::outputtags',('displayduedate', |
} |
'displaytitle')); |
|
|
sub initialize_outputtags { |
|
%Apache::outputtags::showonce=(); |
} |
} |
|
|
# =============================== Start display due date (return scalar string) |
|
sub start_displayduedate { |
sub start_displayduedate { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
|
if (exists($Apache::outputtags::showonce{'displayduedate'})) { |
|
return ''; |
|
} else { |
|
$Apache::outputtags::showonce{'displayduedate'}=1; |
|
} |
my $status=$Apache::inputtags::status['-1']; |
my $status=$Apache::inputtags::status['-1']; |
&Apache::lonxml::debug("got a $status in duedatebox"); |
&Apache::lonxml::debug("got a $status in duedatebox"); |
if (($status =~ /CAN.*_ANSWER/) && ($target eq 'web')) { |
if (($status =~ /CAN.*_ANSWER/) && ($target eq 'web')) { |
Line 34 sub start_displayduedate {
|
Line 60 sub start_displayduedate {
|
my $date = &Apache::lonnet::EXT("resource.$id.duedate"); |
my $date = &Apache::lonnet::EXT("resource.$id.duedate"); |
&Apache::lonxml::debug("duedatebox found $date for $id"); |
&Apache::lonxml::debug("duedatebox found $date for $id"); |
if ($date) { |
if ($date) { |
$result = '<table border="on"><tr><td>Due at '. |
$result ='<table border="on"><tr><td>Due at '. |
POSIX::strftime($format,localtime($date)). |
POSIX::strftime($format,localtime($date)). |
'</td></tr></table>'; |
'</td></tr></table>'; |
} else { |
} else { |
$result = '<table border="on"><tr><td>No due date set.</td></tr>'. |
$result ='<table border="on"><tr><td>No due date set.</td></tr></table>'; |
'</table>'; |
|
} |
} |
|
} elsif ( $target eq 'edit' ) { |
|
$result=&Apache::edit::tag_start($target,$token); |
|
$result.='</td></tr>'; |
|
$result.=&Apache::edit::end_table(); |
} |
} |
return $result; |
return $result; |
} |
} |
|
|
# ======================================================== End display due date |
|
sub end_displayduedate { |
sub end_displayduedate { |
return ''; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
my @result; |
|
if ($target eq 'edit') { $result[1]='no'; } |
|
return @result; |
} |
} |
|
|
# ================================== Start display title (return scalar string) |
|
sub start_displaytitle { |
sub start_displaytitle { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result = ''; |
my $result=''; |
|
if (exists($Apache::outputtags::showonce{'displayduedate'})) { |
|
return ''; |
|
} else { |
|
$Apache::outputtags::showonce{'displayduedate'}=1; |
|
} |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result = "<h1>$Apache::lonhomework::name</h1>"; |
$result="<h1>$Apache::lonhomework::name</h1>"; |
|
} elsif ($target eq 'edit') { |
|
$result=&Apache::edit::tag_start($target,$token); |
|
$result.='</td></tr>'; |
|
$result.=&Apache::edit::end_table(); |
|
} elsif ($target eq 'tex') { |
|
$Apache::lonhomework::name=~s/%/\%/g; |
|
$Apache::lonhomework::name=~s/&/\&/g; |
|
$result='\vskip 0 mm\noindent\textbf{'.$Apache::lonhomework::name.'}\vskip 0 mm'; |
} |
} |
return $result; |
return $result; |
} |
} |
|
|
# =========================================================== End display title |
|
sub end_displaytitle { |
sub end_displaytitle { |
return ''; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
my @result; |
|
if ($target eq 'edit') { $result[1]='no'; } |
|
return @result; |
} |
} |
|
|
1; |
1; |
|
|
__END__ |
__END__ |