');
- }
+sub print_start_template {
+ my ($r,$topic,$boxclass,$id,$display) = @_;
+ my $idattrib;
+ if ($id ne '') {
+ $idattrib = ' id="'.$id.'"';
+ }
+ $r->print('
');
$r->print('
'.$topic.'
');
- $r->print('
'.$content.'
');
+}
+
+sub print_end_template {
+ my ($r) = @_;
$r->print('
');
}
-sub print_editbox_template
-{
- my ($r,$content,$field) = @_;
- $r->print('
');
+sub print_editbox_template {
+ my ($r,$content,$field,$fieldname) = @_;
+ my $labeltext = &HTML::Entities::encode(&mt('Edit [_1]',$fieldname),'"&<>');
+ $r->print('
'."\n");
+ &print_saveall_template($r);
+}
+
+sub print_textarea_template {
+ my ($r, $content, $field, $fieldname, $wysiwyg) = @_;
+ my $labeltext = &HTML::Entities::encode(&mt('Edit [_1]',$fieldname),'"&<>');
+ $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,
+ $displayref,$noshowref) = @_;
+ my @html_ids = ();
+ my %data = %{$data_ref};
+ my %fields = %{$fields_ref};
+ my %custom_handlers = %{$custom_handlers_ref};
+ my (%displays,%noshow);
+ if (ref($displayref) eq 'HASH') {
+ %displays = %{$displayref};
+ }
+ if (ref($noshowref) eq 'HASH') {
+ %noshow = %{$noshowref};
+ }
+ foreach my $field (sort(keys(%fields))) {
+ my $message = $data{$field} if (($data{$field}=~/\w/) || ($allowed));
+ my $legacy = 1;
+ my $display = $displays{$field};
+ unless ($allowed) {
+ next if ($noshow{$field});
+ }
+ 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, $display);
+ } 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','box_'.$field,$display);
+ $r->print($message);
+ if ($allowed) {
+ $r->print("
");
+ &print_textarea_template($r, $data{$field},
+ $field, $fields{$field}, $default_rich_text);
+ &print_saveall_template($r);
+ $r->print("
");
+ }
+ &Apache::lontemplate::print_end_template($r);
+ } else {
+ my $safeinit;
+ 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;
}
1;