--- loncom/xml/londefdef.pm 2010/06/10 15:54:06 1.417 +++ loncom/xml/londefdef.pm 2010/10/19 19:33:21 1.424 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.417 2010/06/10 15:54:06 bisitz Exp $ +# $Id: londefdef.pm,v 1.424 2010/10/19 19:33:21 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -43,7 +43,6 @@ use Apache::lonnet; use strict; use Apache::lonxml; use Apache::lontable; -use Apache::File(); use Image::Magick; use Apache::lonmenu(); use Apache::lonmeta(); @@ -2048,29 +2047,39 @@ sub start_table { my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0); my $theme = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0); my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0); + my $cell_border = &Apache::lonxml::get_param('rules', $parstack, $safeeval, undef, 0); # The only thing that needs any figuring out is the width.. and then only if it is # a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm # my $table = new Apache::lontable(); - if ($border ne '') { + if ((defined $border) && ($border > 0)) { + # &Apache::lonnet::logthis("Turning on table borders: $border"); $table->table_border(1); + if ($cell_border ne 'none') { + $table->cell_border(1); # html specs that border turns on both...unless rules='none'. + } + } + # Only all or nothing for cell borders for now: + + if ((defined $cell_border) && ($cell_border ne 'none')) { + # &Apache::lonnet::logthis("Turning on cell borders: $cell_border"); $table->cell_border(1); } - if ($theme ne '') { + if (defined $theme) { $table->theme($theme); } - if ($align ne '') { + if (defined $align) { $table->alignment($align); } # Missing width is most of page width - if ($width eq "") { + if (!(defined $width)) { $width = '70%'; } - + # If a percentage, need to calculate what this means in terms of # page width: @@ -2183,7 +2192,9 @@ sub end_table { my $table = pop(@Apache::londefdef::table); my $t = $table->generate(); + # &Apache::lonnet::logthis("Generating string"); $currentstring = $t->generate_string(); + # &Apache::lonnet::logthis("Generated: $currentstring"); &enable_para(); #-------------------------------------------------------------- # Old table code: @@ -3264,21 +3275,28 @@ sub start_img { ['','bottom','middle','top','left','right'],$token,5); $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap', ['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2); + my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); + my $enc= &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval); + $currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl', ['no','yes'], $token, 2); + if (($alt=~/\S/) && (lc($enc) eq 'yes')) { + $currentstring.='
'.&mt('Warning: the description "[_1]" will be available, even for encrypted URL',$alt).'
'; + } $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval); - my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); if ($token->[2]{'src'}=~/\$/) { - $currentstring.='Variable image source'; - } else { + $currentstring.=&mt('Variable image source'); + } elsif ($token->[2]{'src'}=~/\S/) { $currentstring .= ''.$alt.'>/home/httpd/prtspool/$env{'user.name'}_$env{'user.domain'}_printout.dat"); - my $newsrc=$orig_src; - $newsrc =~ s|(.*)/res/|/home/httpd/html/res/|; - &Apache::lonxml::debug("queueing $newsrc for dynamic eps production."); - print FILE ("$newsrc\n"); - close(FILE); + if (open(FILE,">>/home/httpd/prtspool/$env{'user.name'}_$env{'user.domain'}_printout.dat")) { + my $newsrc=$orig_src; + $newsrc =~ s|(.*)/res/|/home/httpd/html/res/|; + &Apache::lonxml::debug("queueing $newsrc for dynamic eps production."); + print FILE ("$newsrc\n"); + close(FILE); + } $src=~s|/home/httpd/html/res|/home/httpd/prtspool|; $src=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|; if ($sext ne "") { # Put the ext. back in to uniquify. @@ -4636,8 +4654,10 @@ sub get_eps_image { sub eps_generation { my ($src,$file,$width_param) = @_; my $filename = "/home/httpd/prtspool/$env{'user.name'}_$env{'user.domain'}_printout.dat"; - my $temp_file = Apache::File->new('>>'.$filename); - print $temp_file "$src\n"; + if (open(my $tmpfile,">>$filename")) { + print $tmpfile "$src\n"; + close($tmpfile); + } my $newsrc = $src; $newsrc =~ s/(\.bmp|\.gif|\.jpg|\.jpeg)$/\.eps/i; $newsrc=~s{/home/httpd/html/res}{};