--- loncom/interface/lontemplate.pm 2010/02/15 20:28:51 1.43.2.1
+++ loncom/interface/lontemplate.pm 2011/05/03 21:38:40 1.45
@@ -1,7 +1,7 @@
# The LearningOnline Network
# "Template" Functions to generate html output
#
-# $Id: lontemplate.pm,v 1.43.2.1 2010/02/15 20:28:51 faziophi Exp $
+# $Id: lontemplate.pm,v 1.45 2011/05/03 21:38:40 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -26,11 +26,11 @@
# http://www.lon-capa.org/
#
-
package Apache::lontemplate;
use strict;
+use utf8;
use Apache::Constants qw(:common);
use Apache::loncommon;
use Apache::lonnet;
@@ -40,6 +40,7 @@ use Apache::lontexconvert;
use Apache::lonfeedback;
use Apache::lonrss();
use Apache::lonlocal;
+use Apache::lonhtmlgateway;
use Apache::lonmsgdisplay();
use HTML::Entities();
@@ -114,12 +115,9 @@ sub print_template {
}
sub print_start_template {
- my ($r,$topic,$boxclass, $id) = @_;
- $r->print('
print(' id="'.$id.'"');
- }
- $r->print('>
'.$topic.'
');
+ my ($r,$topic,$boxclass) = @_;
+ $r->print('
');
+ $r->print('
'.$topic.'
');
}
sub print_end_template {
@@ -156,20 +154,14 @@ sub print_template_fields {
foreach my $field (sort(keys(%fields))) {
my $message = $data{$field} if (($data{$field}=~/\w/) || ($allowed));
- if ((%custom_handlers) && ($custom_handlers{$field})) {
+ my $legacy = 1;
+ my $gateway = Apache::lonhtmlgateway->new($target);
+ $message = &Encode::decode('utf8', $message);
+ $message = $gateway->process_outgoing_html($message, $legacy);
+ if ((%custom_handlers) && ($custom_handlers{$field})) {
$custom_handlers{$field}->($r, $field, $message, $group, $data_ref, $fields_ref, $target, $allowed);
} else {
if (($data{$field}=~/\w/) || ($allowed)) {
- if (!&Apache::lonfeedback::contains_block_html($message)) {
- &Apache::lonfeedback::newline_to_br(\$message);
- } else {
- $message = &Apache::lonfeedback::tidy_html($message);
- }
- $message=&Apache::lonhtmlcommon::raw_href_to_link($message);
- if ($allowed) {
- $message=&Apache::lonspeller::markeduptext($message);
- }
- $message=&Apache::lontexconvert::msgtexconverted($message);
if ($target ne 'tex') {
#output of syllabusfields will be generated here.
&Apache::lontemplate::print_start_template($r,$fields{$field},'LC_Box');
@@ -184,12 +176,17 @@ sub print_template_fields {
&Apache::lontemplate::print_end_template($r);
} else {
my $safeinit;
- $r->print(&Apache::lonxml::xmlparse($r,'tex',''.$fields{$field}.'
'));
- $r->print(&Apache::lonxml::xmlparse($r,'tex',$message));
+ if ($fields{$field}=~/\w/) {
+ $r->print(&Apache::lonxml::xmlparse($r,'tex',''.$fields{$field}.'
'));
+ } else {
+ $r->print(&Apache::lonxml::xmlparse($r,'tex','
'));
+ }
+ $r->print(&Apache::lonxml::xmlparse($r,'tex',$message));
}
push(@html_ids,$field);
}
}
+ undef $gateway;
}
return @html_ids;