--- loncom/xml/londefdef.pm 2003/02/07 22:03:21 1.112 +++ loncom/xml/londefdef.pm 2003/02/28 21:06:42 1.120 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.112 2003/02/07 22:03:21 albertel Exp $ +# $Id: londefdef.pm,v 1.120 2003/02/28 21:06:42 albertel Exp $ # # # Copyright Michigan State University Board of Trustees @@ -44,11 +44,13 @@ package Apache::londefdef; -use Apache::lonnet; +use Apache::lonnet(); use strict; -use Apache::lonxml; +use Apache::lonxml(); use Apache::File(); use Image::Magick; +use Apache::lonmenu(); +use Apache::lonmeta(); BEGIN { @@ -121,6 +123,7 @@ sub start_tthoption { &tth::tthoptions($inside); } } + return $result; } sub end_tthoption { @@ -154,11 +157,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; } @@ -183,7 +187,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; @@ -321,7 +325,7 @@ sub start_html { } #-- tag sub start_meta { - my ($target,$token,$tagstack,$parstack,$parser) = @_; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; if ($target eq 'web') { my $args=''; @@ -333,13 +337,16 @@ sub start_html { } } if ($target eq 'meta') { - unless ($token->[2]->{'http-equiv'}) { + unless (&Apache::lonxml::get_param + ('http-equiv',$parstack,$safeeval,undef,1)) { my $name=$token->[2]->{'name'}; $name=~tr/A-Z/a-z/; - $name=~s/\s/\_/g; + $name=~s/\s/\_/gs; + $name=~s/\W//gs; if ($name) { $currentstring='<'.$name.'>'. - $token->[2]->{'content'}. + &Apache::lonxml::get_param + ('content',$parstack,$safeeval,undef,1). ''.$name.'>'; } } @@ -365,7 +372,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]})) { @@ -374,7 +381,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]})) { @@ -383,7 +390,7 @@ sub start_html { delete($token->[2]->{$key}); } } - $token->[2]->{'onunload'}=&Apache::lonxml::unloadevents(). + $token->[2]->{'onunload'}=&Apache::lonmenu::unloadevents(). ';'.$onUnload; $currentstring .= '<'.$token->[1]; @@ -397,7 +404,9 @@ sub start_html { EDITBUTTON - } + } else { + $currentstring.=&Apache::lonmenu::menubuttons(undef,$target,1); + } } elsif ($target eq 'tex') { $currentstring = '\begin{document}'; } @@ -1594,10 +1603,21 @@ 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= &Apache::lonxml::get_param + ('alt',$parstack,$safeeval,undef,1); + unless ($alttag) { + $alttag=&Apache::lonmeta::alttag + ($Apache::lonxml::pwd[-1],$src); + } + $currentstring='[IMAGE: '.$alttag.']'; + } } elsif ($target eq 'tex') { - &image_replication($src); - $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); + $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); + &image_replication($src); + #if original gif/jpg/png file exist do following: if (-e $src) { #defines the default size of image @@ -1657,7 +1677,13 @@ sub start_table { } } else { #original image file doesn't exist so check the alt attribute - my $alt = &Apache::lonxml::get_param('alt',$parstack,$safeeval,undef,1); + my $alt = + &Apache::lonxml::get_param('alt',$parstack,$safeeval,undef,1); + unless ($alt) { + $alt=&Apache::lonmeta::alttag + ($Apache::lonxml::pwd[-1],$src); + } + if ($alt) { $currentstring .= ' '.$alt.' '; } else { @@ -1667,6 +1693,7 @@ sub start_table { } return $currentstring; } + sub end_img { my ($target,$token) = @_; my $currentstring = ''; @@ -1680,19 +1707,35 @@ sub start_table { #--