Diff for /loncom/xml/londefdef.pm between versions 1.286 and 1.291

version 1.286, 2005/09/19 10:59:08 version 1.291, 2005/11/03 21:42:15
Line 55  BEGIN { Line 55  BEGIN {
   
 }  }
   
   
 sub initialize_londefdef {  sub initialize_londefdef {
     $Apache::londefdef::TD_redirection=0;      $Apache::londefdef::TD_redirection=0;
     @Apache::londefdef::table = ();      @Apache::londefdef::table = ();
Line 1206  sub start_br { Line 1207  sub start_br {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my @tempo=@$tagstack;   my @tempo=@$tagstack;
  my $signal=0;   my $signal=0;
    #  Not going to factor this to is_inside_of since that would require
           #  multiple stack traversals.
    #
  for (my $i=$#tempo;$i>=0;$i--) {   for (my $i=$#tempo;$i>=0;$i--) {
     if (($tempo[$i] eq 'b') || ($tempo[$i] eq 'strong') ||      if (($tempo[$i] eq 'b') || ($tempo[$i] eq 'strong') ||
                 ($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul') ||                  ($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul') ||
Line 2527  sub start_img { Line 2531  sub start_img {
  my $inside = &Apache::lonxml::get_all_text("/img",$parser);   my $inside = &Apache::lonxml::get_all_text("/img",$parser);
  return '';   return '';
     }      }
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src;      &Apache::lonxml::extlink($src);
     my $currentstring = '';      my $currentstring = '';
     my $scaling = .3;      my $scaling = .3;
   
Line 2560  sub start_img { Line 2564  sub start_img {
   $safeeval,    $safeeval,
   undef,1));    undef,1));
  if(!$align) {   if(!$align) {
     $align = "bottom"; # This is html's default so it's ours too.      if (&is_inside_of($tagstack, "table")) {
    $align = "right";      # Force wraptext use. 
       } else {
    $align = "bottom"; # This is html's default so it's ours too.
       }
  }   }
  #   #
  &Apache::lonxml::debug("Alignemnt = $align");   &Apache::lonxml::debug("Alignemnt = $align");
Line 2577  sub start_img { Line 2585  sub start_img {
     undef,0);      undef,0);
  &Apache::lonxml::debug("LaTeX rendering = $latex_rendering");   &Apache::lonxml::debug("LaTeX rendering = $latex_rendering");
  if(!$latex_rendering) {   if(!$latex_rendering) {
     $latex_rendering = "parbox";      $latex_rendering = "texwrap";
  }   }
  &Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src");   &Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src");
   
Line 2733  sub start_applet { Line 2741  sub start_applet {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
           
     my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,undef,1);      my $code=&Apache::lonxml::get_param('code',$parstack,$safeeval,undef,1);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$code;      &Apache::lonxml::extlink($code);
       
     my $archive=&Apache::lonxml::get_param('archive',$parstack,$safeeval,      my $archive=&Apache::lonxml::get_param('archive',$parstack,$safeeval,
    undef,1);     undef,1);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$archive;      &Apache::lonxml::extlink($archive);
       
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  if ($env{'browser.appletsuppress'} ne 'on') {   if ($env{'browser.appletsuppress'} ne 'on') {
Line 2784  sub end_applet { Line 2790  sub end_applet {
 sub start_embed {      sub start_embed {    
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);      my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src;      &Apache::lonxml::extlink($src);
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  if ($env{'browser.embedsuppress'} ne 'on') {   if ($env{'browser.embedsuppress'} ne 'on') {
Line 2815  sub end_embed { Line 2821  sub end_embed {
 #-- <param> tag (end tag forbidden)  #-- <param> tag (end tag forbidden)
 sub start_param {  sub start_param {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     if (&Apache::lonxml::get_param      if (&Apache::lonxml::get_param('name',$parstack,
  ('name',$parstack,$safeeval,undef,1)=~/^cabbase$/i) {     $safeeval,undef,1)=~/^cabbase$/i) {
  $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   my $value=&Apache::lonxml::get_param('value',$parstack,
     &Apache::lonxml::get_param('value',$parstack,$safeeval,undef,1);       $safeeval,undef,1);
     }      &Apache::lonxml::extlink($value);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=         } 
  &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);    
       my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);
       &Apache::lonxml::extlink($src);
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  my %toconvert;   my %toconvert;
Line 2853  sub end_param { Line 2861  sub end_param {
 sub start_allow {  sub start_allow {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);      my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);
     $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);      &Apache::lonxml::extlink($src);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=  
  &Apache::lonnet::clutter($src);  
     if ($target eq 'tex') { &image_replication($src); }      if ($target eq 'tex') { &image_replication($src); }
     my $result;      my $result;
     if ($target eq 'edit') {      if ($target eq 'edit') {
Line 3452  sub start_link { Line 3459  sub start_link {
     my ($target,$token) = @_;      my ($target,$token) = @_;
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
    my $href=&Apache::lonxml::get_param('href',$parstack,$safeeval,
       undef,1);
    &Apache::lonxml::extlink($href);
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     }       } 
     return $currentstring;      return $currentstring;
Line 4091  sub LATEX_length { Line 4101  sub LATEX_length {
 }  }
   
   
   # is_inside_of $tagstack $tag
   #    This sub returns true if the current state of Xml processing
   #    is inside of the tag.   
   # Parameters:
   #     tagstack   - The tagstack from the parser.
   #     tag        - The tag (without the <>'s.).
   # Sample usage:
   #     if (is_inside_of($tagstack "table")) {
   #          # I'm in a table....
   #      }
   sub is_inside_of {
       my ($tagstack, $tag) = @_;
       my @stack = @$tagstack;
       for (my $i = ($#stack - 1); $i >= 0; $i--) {
    if ($stack[$i] eq $tag) {
       return 1;
    }
       }
       return 0;
   }
   
   
 1;  1;

Removed from v.1.286  
changed lines
  Added in v.1.291


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