--- loncom/interface/lontemplate.pm 2009/12/03 02:13:28 1.41
+++ 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.41 2009/12/03 02:13:28 www 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,9 +40,17 @@ use Apache::lontexconvert;
use Apache::lonfeedback;
use Apache::lonrss();
use Apache::lonlocal;
+use Apache::lonhtmlgateway;
use Apache::lonmsgdisplay();
use HTML::Entities();
+use constant {
+ RICH_TEXT_ALWAYS_ON => 'LC_richAlwaysOn',
+ RICH_TEXT_ALWAYS_OFF => 'LC_richAlwaysOff',
+ RICH_TEXT_DEFAULT_ON => 'LC_richDefaultOn',
+ RICH_TEXT_DETECT_HTML => 'LC_richDetectHtml',
+ RICH_TEXT_DEFAULT_OFF => 'LC_richDefaultOff'
+};
sub start_columnSection {
my ($r) = @_;
@@ -125,4 +133,63 @@ sub print_editbox_template {
&mt('Save All').'" />');
}
+sub print_textarea_template {
+ my ($r, $content, $field, $wysiwyg) = @_;
+ $r->print('
');
+}
+
+sub print_saveall_template {
+ my ($r) = @_;
+ $r->print('');
+}
+
+sub print_template_fields {
+ my ($r, $data_ref, $fields_ref, $target, $allowed, $default_rich_text, $custom_handlers_ref, $group) = @_;
+ my @html_ids = ();
+ my %data = %{$data_ref};
+ my %fields = %{$fields_ref};
+ my %custom_handlers = %{$custom_handlers_ref};
+
+ foreach my $field (sort(keys(%fields))) {
+ my $message = $data{$field} if (($data{$field}=~/\w/) || ($allowed));
+ 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 ($target ne 'tex') {
+ #output of syllabusfields will be generated here.
+ &Apache::lontemplate::print_start_template($r,$fields{$field},'LC_Box');
+ $r->print($message);
+ if ($allowed) {
+ $r->print("