--- loncom/xml/londefdef.pm 2003/03/14 21:23:20 1.106.2.1 +++ loncom/xml/londefdef.pm 2003/02/18 21:14:16 1.116 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.106.2.1 2003/03/14 21:23:20 albertel Exp $ +# $Id: londefdef.pm,v 1.116 2003/02/18 21:14:16 www Exp $ # # # Copyright Michigan State University Board of Trustees @@ -49,6 +49,8 @@ use strict; use Apache::lonxml; use Apache::File(); use Image::Magick; +use Apache::lonmenu; +#use Apache::lonmeta; BEGIN { @@ -121,7 +123,6 @@ sub start_tthoption { &tth::tthoptions($inside); } } - return $result; } sub end_tthoption { @@ -155,11 +156,12 @@ sub start_html { } elsif ($target eq 'tex') { @Apache::londefdef::table = (); $currentstring .= '\documentclass[letterpaper]{article} - \newcommand{\keephidden}[1]{} - \renewcommand{\deg}{$^{\circ}$} - \usepackage[dvips]{graphicx} - \usepackage{epsfig}\usepackage{calc} - \newenvironment{choicelist}{\begin{enumerate}}{\end{enumerate}}'; + \newcommand{\keephidden}[1]{} + \renewcommand{\deg}{$^{\circ}$} + \usepackage{textcomp} + \usepackage[dvips]{graphicx} + \usepackage{epsfig}\usepackage{calc} +\newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}'; } return $currentstring; } @@ -184,7 +186,7 @@ sub start_html { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = &Apache::lonxml::registerurl(undef,$target). + $currentstring = &Apache::lonmenu::registerurl(undef,$target). $token->[2]; } return $currentstring; @@ -328,7 +330,7 @@ sub start_html { my $args=''; if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; } if ($args eq '') { - &Apache::lonxml::get_all_text("/meta",$$parser[$#$parser]); + &Apache::lonxml::get_all_text("/meta",$parser); } else { $currentstring = $token->[4]; } @@ -366,7 +368,7 @@ sub start_html { if ($target eq 'web') { if (!$Apache::lonxml::registered) { $currentstring.=''. - &Apache::lonxml::registerurl(undef,$target).''; + &Apache::lonmenu::registerurl(undef,$target).''; } my $onLoad=''; foreach my $key (keys(%{$token->[2]})) { @@ -375,7 +377,7 @@ sub start_html { delete($token->[2]->{$key}); } } - $token->[2]->{'onLoad'}=&Apache::lonxml::loadevents(). + $token->[2]->{'onload'}=&Apache::lonmenu::loadevents(). ';'.$onLoad; my $onUnload=''; foreach my $key (keys(%{$token->[2]})) { @@ -384,7 +386,7 @@ sub start_html { delete($token->[2]->{$key}); } } - $token->[2]->{'onUnload'}=&Apache::lonxml::unloadevents(). + $token->[2]->{'onunload'}=&Apache::lonmenu::unloadevents(). ';'.$onUnload; $currentstring .= '<'.$token->[1]; @@ -398,7 +400,9 @@ sub start_html { EDITBUTTON - } + } else { + $currentstring.=&Apache::lonmenu::menubuttons(undef,$target,1); + } } elsif ($target eq 'tex') { $currentstring = '\begin{document}'; } @@ -1456,6 +1460,9 @@ sub start_table { my $shorthand = ($filled_columns+1)*4; $output =~ s/\$SpacePerColumn/$SpacePerColumn - $shorthand mm/g; } + if ($how_many_columns==1) { #start of block with width correction for one column table + $output=~s/^\s*\\parbox{([^}]*)}/\\parbox{\\textwidth - 1 cm}/; + } #end of block with width correction for one column table $Apache::londefdef::table[-1]{'output'} .= $header_of_table.$output.$Apache::londefdef::table[-1]{'hinc'}.'\end{tabular}\vskip 0 mm '; if ($#Apache::londefdef::table > 0) { $inmemory = $Apache::londefdef::table[-1]{'output'}; @@ -1509,7 +1516,7 @@ sub start_table { my $currentstring = ''; if ($target eq 'web') { $currentstring = $token->[4]; - } elsif ($target eq 'tex') { + } elsif ($target eq 'tex') { my $what_to_push = substr(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1),0,1); if ($what_to_push eq '') { $what_to_push = substr($Apache::londefdef::table[-1]{'rows'}[0],0,1);; @@ -1517,7 +1524,6 @@ sub start_table { push @{ $Apache::londefdef::table[-1]{'columns'} }, $what_to_push; $Apache::londefdef::table[-1]{'counter_columns'}++; &Apache::lonxml::startredirection(); -; } return $currentstring; } @@ -1593,7 +1599,15 @@ sub start_table { my $scaling = .3; if ($target eq 'web') { - $currentstring = $token->[4]; + if ($ENV{'browser.imagesuppress'} ne 'on') { + $currentstring = $token->[4]; + } else { + my $alttag=$token->[2]->{'alt'}; + unless ($alttag) { + $alttag=&Apache::lonmeta::alttag($token->[2]->{'src'}); + } + $currentstring='[IMAGE: '.$alttag.']'; + } } elsif ($target eq 'tex') { &image_replication($src); $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); @@ -1634,7 +1648,7 @@ sub start_table { if (-e $newsrc) { #eps counterpart for image exist if ($path) { - $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} '; + $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; } } else { #there is no eps counterpart for image - check for ps one @@ -1643,7 +1657,7 @@ sub start_table { #ps counterpart for image exist $file =~ s/\.eps$/\.ps/; if ($path) { - $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} '; + $currentstring .= '\vskip 1 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; } } else { #there aren't eps or ps - so create eps @@ -1651,7 +1665,7 @@ sub start_table { my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat"; $temp_file = Apache::File->new('>>'.$filename); print $temp_file "$src\n"; - $currentstring .= '\vskip 1 mm \graphicspath{{/home/httpd/prtspool/}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} '; + $currentstring .= '\vskip 1 mm \graphicspath{{/home/httpd/prtspool/}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; } } } else { @@ -1686,7 +1700,15 @@ sub start_table { $token->[2]->{'archive'}; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + if ($ENV{'browser.appletsuppress'} ne 'on') { + $currentstring = $token->[4]; + } else { + my $alttag=$token->[2]->{'alt'}; + unless ($alttag) { + $alttag=&Apache::lonmeta::alttag($token->[2]->{'code'}); + } + $currentstring='[APPLET: '.$alttag.']'; + } } elsif ($target eq 'tex') { $currentstring = " \\begin{figure} "; } @@ -1711,7 +1733,15 @@ sub start_embed { $token->[2]->{'src'}; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + if ($ENV{'browser.embedsuppress'} ne 'on') { + $currentstring = $token->[4]; + } else { + my $alttag=$token->[2]->{'alt'}; + unless ($alttag) { + $alttag=&Apache::lonmeta::alttag($token->[2]->{'src'}); + } + $currentstring='[EMBED: '.$alttag.']'; + } } elsif ($target eq 'tex') { $currentstring = " \\begin{figure} "; } @@ -1788,7 +1818,7 @@ sub end_allow { if ($target eq 'web') { if (!$Apache::lonxml::registered) { $currentstring.=''. - &Apache::lonxml::registerurl(undef,$target).''; + &Apache::lonmenu::registerurl(undef,$target).''; } $currentstring .= $token->[4]; } @@ -2584,7 +2614,7 @@ sub image_replication { my $newsrc = $src; $newsrc =~ s/\.(gif|jpg|png)$/.eps/; if (not-e $newsrc && &Apache::lonnet::repcopy('/home/httpd/html'.$newsrc) ne 'OK') { - $newsrc =~ s/\.ps$/\.eps/; + $newsrc =~ s/\.eps$/\.ps/; &Apache::lonnet::repcopy('/home/httpd/html'.$newsrc); } }