--- loncom/xml/londefdef.pm	2009/05/02 22:16:58	1.403
+++ loncom/xml/londefdef.pm	2010/08/20 21:20:24	1.403.4.2
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.403 2009/05/02 22:16:58 foxr Exp $
+# $Id: londefdef.pm,v 1.403.4.2 2010/08/20 21:20:24 raeburn Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -2018,29 +2018,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 '') {
-	    $table->table_border(1);
-	    $table->cell_border(1);
-	}
-	if ($theme 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 (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:
 	
@@ -3245,21 +3255,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.='<br /><span class="LC_warning">'.&mt('Warning: the description "[_1]" will be available, even for encrypted URL',$alt).'</span><br />';
+        }
 	$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 .= '<img src="'.$src.'" alt="'.$alt.'" ';
 	   if ($width) { $currentstring.=' width="'.$width.'" '; }
 	   if ($height) { $currentstring.=' height="'.$height.'" '; }
 	   $currentstring .= ' />';
+        } else {
+           $currentstring.=&mt("No image source specified");
         }
     } elsif ($target eq 'modified') {
 	my ($osrc,$owidth,$oheight)=
@@ -4721,7 +4738,7 @@ sub align_latex_image {
     #    Even though we set a default alignment value, the user
     #    could have given us an illegal value.  In that case we
     #    just use the default alignment of bottom..
-    $currentstring = "\n% figurewrapping \n";
+    $currentstring = '';
     if      ($align eq "top")    {
 	$currentstring .= '\raisebox{-'.$height.'mm}{'.$image;
 	$closure = '}';
@@ -4764,8 +4781,6 @@ sub align_latex_image {
 	$currentstring .= "{$image";
 	$closure       = '}';
     }
-    $currentstring .= "\n% end wrappage\n";
-    $closure        = "\n% Begin closure\n".$closure."\n% End closure\n";
     return ($currentstring, $closure);
 }
 
@@ -4785,8 +4800,7 @@ sub is_inside_of {
 #
 #   This sub provides the typical LaTeX prefix matter for tex output:
 #
-sub latex_header
-{
+sub latex_header {
     my ($mode) = @_;
     my $currentstring = '';