Diff for /loncom/homework/outputtags.pm between versions 1.52 and 1.58

version 1.52, 2008/11/14 21:27:17 version 1.58, 2016/08/09 23:43:42
Line 26 Line 26
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
 =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 HANDLER SUBROUTINE  
   
 start_displayduedate()  
   
 =head1 OTHER SUBROUTINES  
   
 =over  
   
 =item *  
   
 initialize_outputtags() : Empties the hash of tags that have already been displayed that should only be displayed once.  
   
 =item *  
   
 end_displayduedate()  
   
 =item *  package Apache::outputtags; 
   
 start_displaytitle()  
   
 =item *  use strict;
   use Apache::lonlocal;
   use Apache::lonnet;
   use POSIX qw(strftime);
   
 end_displaytitle()  BEGIN {
       &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight','displaystudentphoto'));
   }
   
 =item *  ################################ utilities ###########################
   
 multipart()  # 
   #  Does a simple substitution of a tab when the opening tag can
   #  be replaced by a fixed string.. and same for the closing tag.
   #  Parameters:
   #    $input   - String in in which to do the substitutions.
   #    $tag     - name of tag without the <>'s e.g. sub for <sub></sub>
   #    $opening - What to replace <$tag> with
   #    $closing - What to replace </$tag> with.
   #  Returns:
   #    Input string appropriately substituted.
   #
   sub substitute_tag {
       my ($input,
    $tag,
    $opening,
    $closing) = @_;
   
 =item *      $input =~ s/<$tag>/$opening/gi;
       $input =~ s/<\/$tag>/$closing/gi;
   
 start_displayweight()      return $input;
   }  
   
 =item *  #
   #  Substitutes the simple formatting tags in a string
   #  Parameters:
   #    $string - input string.
   #  Returns
   #    Result of string after simple substitutions
   #  Tags we handle are:
   #    <sub>, <sup> <em>
   #
   sub substitute_simple_tags_latex {
       my ($string)  = @_;
   
 end_displayweight()      # restore the <>'s:
   
 =item *      $string =~ s/\\ensuremath\{<}/</g;
       $string =~ s/\\ensuremath\{>}/>/g;
   
 start_displaystudentphoto()  
   
 =item *      # Substitute the tags:
   
 end_displaystudentphoto()      $string = &substitute_tag($string, "sub", '\ensuremath{_', '}');
       $string = &substitute_tag($string, 'sup', '\ensuremath{^', '}');
       $string = &substitute_tag($string, 'em', '\em{', '}');
   
   
 =back      # Escape the remaining <>'s again:
   
 =cut      $string =~ s/</\\ensuremath{<}/g;
       $string =~ s/>/\\ensuremath{>}/g;
   
 package Apache::outputtags;   
   
 use strict;  
 use Apache::lonlocal;  
 use Apache::lonnet;  
 use POSIX qw(strftime);  
   
 BEGIN {      return $string;
     &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight','displaystudentphoto'));  
 }  }
   
   ################################ The parser ##########################
   
 sub initialize_outputtags {  sub initialize_outputtags {
     %Apache::outputtags::showonce=();      %Apache::outputtags::showonce=();
 }  }
   
   
   
 sub start_displayduedate {  sub start_displayduedate {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result;      my $result;
Line 164  sub start_displayduedate { Line 168  sub start_displayduedate {
  my $duetext = &Apache::lonnavmaps::timeToHumanString($date, '', $format);   my $duetext = &Apache::lonnavmaps::timeToHumanString($date, '', $format);
  if (lc($style) !~ 'plain') {   if (lc($style) !~ 'plain') {
     # The due date will be put in a box.      # The due date will be put in a box.
           # at the start of the line to ensure it won't overlap
     $result = '\framebox{'      # the 1 col boundary.
   
       $result = '\vspace{1.0 ex} \framebox{'
           .&mt('Due').' '.$duetext.'}';            .&mt('Due').' '.$duetext.'}';
  } else {   } else {
     $result = &mt('Due') . ' '.$duetext;      $result = &mt('Due') . ' '.$duetext;
Line 209  sub start_displaytitle { Line 215  sub start_displaytitle {
  $result.=&Apache::edit::end_table();   $result.=&Apache::edit::end_table();
     } elsif ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {      } elsif ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {
  $name=&Apache::lonxml::latex_special_symbols($name);   $name=&Apache::lonxml::latex_special_symbols($name);
    $name = &substitute_simple_tags_latex($name);
  if (lc($style) !~ 'plain') {    if (lc($style) !~ 'plain') { 
     $result='\vskip 0 mm\noindent\textbf{'.$name.'}\vskip 0 mm';      $result='\vskip 0 mm\noindent\textbf{'.$name.'}\vskip 0 mm';
  } else {   } else {
Line 336  sub end_displaystudentphoto { Line 343  sub end_displaystudentphoto {
   
 1;  1;
 __END__  __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

Removed from v.1.52  
changed lines
  Added in v.1.58


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>