From: Udo Spallek <info@wissensvermittlung.com>
Date: Fri, 15 Dec 2006 02:48:36 +0000 (+0000)
Subject: Neues parsingtemplate für XML oder andere einfache unformatierte Dateien angelegt
X-Git-Tag: release-2.4.0^2~17
X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=a43c94fd42214048fc61bcd4404f2800e92c49de;p=kivitendo-erp.git

Neues parsingtemplate für XML oder andere einfache unformatierte Dateien angelegt

Betrifft USTVA
---

diff --git a/SL/Template.pm b/SL/Template.pm
index b4c6bf509..27ebb36a3 100644
--- a/SL/Template.pm
+++ b/SL/Template.pm
@@ -1259,4 +1259,63 @@ sub uses_temp_file {
   return 1;
 }
 
+
+##########################################################
+####
+#### XMLTemplate
+####
+##########################################################
+
+package XMLTemplate; 
+
+use vars qw(@ISA);
+
+@ISA = qw(HTMLTemplate);
+
+sub new {
+  #evtl auskommentieren
+  my $type = shift;
+
+  return $type->SUPER::new(@_);
+}
+
+sub format_string {
+  my ($self, $variable) = @_;
+  my $form = $self->{"form"};
+
+  my %replace =
+    ('order' => ['<', '>', quotemeta("\n")],
+     '<'             => '&lt;',
+     '>'             => '&gt;',
+     quotemeta("\n") => '<br>',
+     );
+
+  map({ $variable =~ s/$_/$replace{$_}/g; } @{ $replace{"order"} });
+
+  # Allow no markup to be converted into the output format
+  my @markup_replace = ('b', 'i', 's', 'u', 'sub', 'sup');
+
+  foreach my $key (@markup_replace) {
+    $variable =~ s/\&lt;(\/?)${key}\&gt;//g;
+  }
+
+  return $variable;
+}
+
+sub get_mime_type() {
+  my ($self) = @_;
+
+  if ($self->{"form"}->{"format"} =~ /xml/i) {
+    return "application/xml ";
+  } else {
+    return "text/xml";
+  }
+}
+
+sub uses_temp_file {
+#  my ($self) = @_;
+  # no tempfile needet for XML Output
+  return 1;
+}
+
 1;