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

version 1.52, 2008/11/14 21:27:17 version 1.58.2.1, 2017/11/16 23:58:59
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 314  sub start_displaystudentphoto { Line 321  sub start_displaystudentphoto {
  my $response=$ua->request($request);   my $response=$ua->request($request);
  if ($response->is_success) {   if ($response->is_success) {
     my $file=$user."_".$domain."_studentphoto.eps";      my $file=$user."_".$domain."_studentphoto.eps";
     open(FILE,">".$Apache::lonnet::perlvar{'lonPrtDir'}."/$file");      open(FILE,">",$Apache::lonnet::perlvar{'lonPrtDir'}."/$file");
     print FILE $response->content;      print FILE $response->content;
     close(FILE);      close(FILE);
     my $width_param=&Apache::londefdef::image_size($Apache::lonnet::perlvar{'lonPrtDir'}."/$file",'0.3',$parstack,$safeeval);      my $width_param=&Apache::londefdef::image_size($Apache::lonnet::perlvar{'lonPrtDir'}."/$file",'0.3',$parstack,$safeeval);
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.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.