Diff for /loncom/xml/londefdef.pm between versions 1.260 and 1.261

version 1.260, 2005/03/02 22:26:36 version 1.261, 2005/03/14 23:48:57
Line 2495  sub start_img { Line 2495  sub start_img {
  if(!$latex_rendering) {   if(!$latex_rendering) {
     $latex_rendering = "parbox";      $latex_rendering = "parbox";
  }   }
  &Apache::lonxml::debug("LaTeX rendering = $latex_rendering");   &Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src");
   
  #if original gif/jpg/png file exist do following:   #if original gif/jpg/png file exist do following:
  my ($path,$file) = &get_eps_image($src);   my ($path,$file) = &get_eps_image($src);
  $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);   $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
    &Apache::lonxml::debug("path = $path file = $file src = $src");
  if (-e $src) {   if (-e $src) {
       &Apache::lonxml::debug("$src exists");
     my ($height_param,$width_param)=      my ($height_param,$width_param)=
  &image_size($src,0.3,$parstack,$safeeval);   &image_size($src,0.3,$parstack,$safeeval);
     $currentstring .= '\graphicspath{{'.$path.'}}'      $currentstring .= '\graphicspath{{'.$path.'}}'
Line 2537  sub start_img { Line 2539  sub start_img {
  # $currentstring = '\raisebox{'.$height_param.'mm}{'.$currentstring.'}';   # $currentstring = '\raisebox{'.$height_param.'mm}{'.$currentstring.'}';
     }      }
  } else {   } else {
       &Apache::lonxml::debug("$src does not exist");
     #original image file doesn't exist so check the alt attribute      #original image file doesn't exist so check the alt attribute
     my $alt =       my $alt = 
  &Apache::lonxml::get_param('alt',$parstack,$safeeval,undef,1);   &Apache::lonxml::get_param('alt',$parstack,$safeeval,undef,1);
Line 2615  sub start_img { Line 2618  sub start_img {
  }   }
  if ($ctag) {$currentstring=&Apache::edit::rebuild_tag($token);}   if ($ctag) {$currentstring=&Apache::edit::rebuild_tag($token);}
     }      }
   
     return $currentstring;      return $currentstring;
 }  }
   
Line 3756  sub image_replication { Line 3760  sub image_replication {
   
 sub image_size {  sub image_size {
     my ($src,$scaling,$parstack,$safeeval,$depth,$cis)=@_;      my ($src,$scaling,$parstack,$safeeval,$depth,$cis)=@_;
   
     #size of image from gif/jpg/jpeg/png       #size of image from gif/jpg/jpeg/png 
     $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);      my $ressrc=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
       if (-e $ressrc) {
    $src = $ressrc;
       }
     my $image = Image::Magick->new;      my $image = Image::Magick->new;
     my $current_figure = $image->Read($src);      my $current_figure = $image->Read($src);
     my $width_param = $image->Get('width') * $scaling;;      my $width_param = $image->Get('width') * $scaling;;
     my $height_param = $image->Get('height') * $scaling;;      my $height_param = $image->Get('height') * $scaling;
       &Apache::lonxml::debug("Image magick says: $src :  Height = $height_param width = $width_param");
     undef($image);      undef($image);
     #do we have any specified LaTeX size of the picture?      #do we have any specified LaTeX size of the picture?
     my $toget='TeXwidth'; if ($cis) { $toget=lc($toget); }      my $toget='TeXwidth'; 
       if ($cis) { 
    $toget=lc($toget); 
       }
     my $TeXwidth = &Apache::lonxml::get_param($toget,$parstack,      my $TeXwidth = &Apache::lonxml::get_param($toget,$parstack,
       $safeeval,$depth,$cis);        $safeeval,$depth,$cis);
     $toget='TeXheight'; if ($cis) { $toget=lc($toget); }      $toget='TeXheight'; if ($cis) { $toget=lc($toget); }
Line 3811  sub image_height { Line 3823  sub image_height {
   
 sub get_eps_image {  sub get_eps_image {
     my ($src)=@_;      my ($src)=@_;
     my $orig_src=$src;      my $orig_src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1], $src);
       &Apache::lonxml::debug("get_eps_image: Original image: $orig_src<BR />");
     $src=~s/\.(gif|png|jpg|jpeg)$/\.eps/i;      $src=~s/\.(gif|png|jpg|jpeg)$/\.eps/i;
     $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);      $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
       &Apache::lonxml::debug("Filelocation gives; $src <BR />");
     if (! -e $src) {      if (! -e $src) {
    &Apache::lonxml::debug("$src does not exist");
  if (&Apache::lonnet::repcopy($src) ne 'OK' ) {   if (&Apache::lonnet::repcopy($src) ne 'OK' ) {
       &Apache::lonxml::debug("Repcopy of $src failed (1)");
     #if replication failed try to find ps file      #if replication failed try to find ps file
     $src=~s/\.eps$/\.ps/;      $src=~s/\.eps$/\.ps/;
       &Apache::lonxml::debug("Now looking for $src");
     #if no ps file try to replicate it      #if no ps file try to replicate it
     if (not -e $src &&      if (not -e $src &&
  &Apache::lonnet::repcopy($src) ne 'OK') {   &Apache::lonnet::repcopy($src) ne 'OK') {
    &Apache::lonxml::debug("Failed to find or replicate $src");
   
  #if replication failed try to produce eps file dynamically   #if replication failed try to produce eps file dynamically
  $src=~s/\.ps$/\.eps/;   $src=~s/\.ps$/\.eps/;
  my $temp_file;   my $temp_file;
  open(FILE,">>/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat");   open(FILE,">>/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat");
  my $newsrc=$orig_src;   my $newsrc=$orig_src;
  $newsrc =~ s|(.*)/res/|/home/httpd/html/res/|;   $newsrc =~ s|(.*)/res/|/home/httpd/html/res/|;
    &Apache::lonxml::debug("queueing $newsrc for dynamic eps production. <BR/>");
  print FILE "$newsrc\n";   print FILE "$newsrc\n";
    close FILE;
  $src=~s|/home/httpd/html/res|/home/httpd/prtspool|;   $src=~s|/home/httpd/html/res|/home/httpd/prtspool|;
  $src=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|;   $src=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|;
     }      }
  }   }
     }      }
     my ($path,$file)=($src=~m|(.*)/([^/]*)$|);      my ($path,$file)=($src=~m|(.*)/([^/]*)$|);
       &Apache::lonxml::debug("get_eps_image returning: $path / $file<BR />");
     return ($path.'/',$file);      return ($path.'/',$file);
 }  }
   

Removed from v.1.260  
changed lines
  Added in v.1.261


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