--- loncom/interface/lonhtmlgateway.pm 2010/04/26 20:45:28 1.1 +++ loncom/interface/lonhtmlgateway.pm 2010/04/27 20:29:25 1.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # gateway for html input/output to be properly parsed and handled # -# $Id: lonhtmlgateway.pm,v 1.1 2010/04/26 20:45:28 faziophi Exp $ +# $Id: lonhtmlgateway.pm,v 1.3 2010/04/27 20:29:25 faziophi Exp $ # # Copyright Michigan State University Board of Trustees # @@ -545,8 +545,12 @@ sub process_outgoing_html { my $parser = HTML::LCParser->new(\$input); while (my $token = $parser->get_token()) { if ($token->[0] eq 'T') { - $output .= $token->[1]; - } elsif ($token->[0] eq 'D' || $token->[0] eq 'C') { + if ($self->{target} ne 'tex') { + $output .= &Apache::lontexconvert::smiley($token->[1]); + } else { + $output .= $token->[1]; + } + } elsif ($token->[0] eq 'D' || $token->[0] eq 'C') { $output .= $token->[1]; } elsif ($token->[0] eq 'PI' || $token->[0] eq 'E') { $output .= $token->[2]; @@ -709,15 +713,17 @@ sub parse_algebra_tag { # the parser does NOT handle entities, # unlike the general parser; thus we run # the content of this tag through HTML::Entities, - # decoding it first + # decoding it first. we also just get the tex, and + # feed it through as if it were an tag. $input = &HTML::Entities::decode($input); - return &Apache::lontexconvert::algebra($input,$self->{target}); + my $algebra = &Apache::lontexconvert::algebra($input, 'tth', 'tex'); + return &parse_m_tag($self, $algebra); } sub parse_mi_tag { my $self = shift; my $input = shift; - return &parse_m_tag($self, '$'.$input.'$'); + return &parse_m_tag($self, '\ensuremath{'.$input.'}'); } sub parse_md_tag { @@ -800,7 +806,7 @@ Phil Fazio =head1 VERSION -$Id: lonhtmlgateway.pm,v 1.1 2010/04/26 20:45:28 faziophi Exp $ +$Id: lonhtmlgateway.pm,v 1.3 2010/04/27 20:29:25 faziophi Exp $ =cut