--- loncom/xml/londefdef.pm 2003/01/30 23:30:24 1.108 +++ loncom/xml/londefdef.pm 2003/02/14 19:35:55 1.113 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.108 2003/01/30 23:30:24 albertel Exp $ +# $Id: londefdef.pm,v 1.113 2003/02/14 19:35:55 www Exp $ # # # Copyright Michigan State University Board of Trustees @@ -49,10 +49,11 @@ use strict; use Apache::lonxml; use Apache::File(); use Image::Magick; +use Apache::lonmenu; BEGIN { - &Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','u','ul','var','wbr')); + &Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','tthoption','u','ul','var','wbr')); } @@ -108,6 +109,27 @@ sub end_m { } return $currentstring; } + +sub start_tthoption { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; + my $result; + if ($target eq 'web') { + my $inside = &Apache::lonxml::get_all_text("/tthoption",$parser); + $inside=~s/^\s*//; + if ($ENV{'browser.mathml'}) { + &tth::ttmoptions($inside); + } else { + &tth::tthoptions($inside); + } + } +} + +sub end_tthoption { + my ($target,$token) = @_; + my $result; + return $result; +} + #-- tag sub start_html { my ($target,$token) = @_; @@ -162,7 +184,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; @@ -306,7 +328,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]; } @@ -344,7 +366,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]})) { @@ -353,7 +375,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]})) { @@ -362,7 +384,7 @@ sub start_html { delete($token->[2]->{$key}); } } - $token->[2]->{'onunload'}=&Apache::lonxml::unloadevents(). + $token->[2]->{'onunload'}=&Apache::lonmenu::unloadevents(). ';'.$onUnload; $currentstring .= '<'.$token->[1]; @@ -376,7 +398,9 @@ sub start_html { EDITBUTTON - } + } else { + $currentstring.=&Apache::lonmenu::menubuttons(undef,$target); + } } elsif ($target eq 'tex') { $currentstring = '\begin{document}'; } @@ -1434,6 +1458,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'}; @@ -1487,7 +1514,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);; @@ -1495,7 +1522,6 @@ sub start_table { push @{ $Apache::londefdef::table[-1]{'columns'} }, $what_to_push; $Apache::londefdef::table[-1]{'counter_columns'}++; &Apache::lonxml::startredirection(); -; } return $currentstring; } @@ -1766,7 +1792,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]; } @@ -2562,7 +2588,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); } }