X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FLaTeX.pm;h=bc03eb3bb06cd90c60bba71d97b43806e4901796;hb=04e34508912922a1ac4679ca56b3b8795ea0c4b6;hp=422a2932b8e3a3fe8f94ea63bcb15fdffff269e6;hpb=6caf1000dabee234d86457ff433268cebd8e0447;p=kivitendo-erp.git diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index 422a2932b..bc03eb3bb 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -394,12 +394,16 @@ sub _embed_file_directive { my ($self, $file) = @_; # { source => $xmlfile, - # name => 'ZUGFeRD-invoice.xml', - # description => $::locale->text('ZUGFeRD invoice'), } + # name => 'factur-x.xml', + # description => $::locale->text('Factur-X/ZUGFeRD invoice'), } my $file_name = blessed($file->{source}) && $file->{source}->can('filename') ? $file->{source}->filename : "" . $file->{source}->filename; my $embed_name = $file->{name} // $file_name; $embed_name =~ s{.*/}{}; + + my $embed_name_ascii = $::locale->quote_special_chars('filenames', $embed_name); + $embed_name_ascii =~ s{[^a-z0-9!@#$%^&*(){}[\],.+'"=_-]+}{}gi; + my @options; my $add_opt = sub { @@ -408,10 +412,11 @@ sub _embed_file_directive { push @options, sprintf('%s={%s}', $name, $value); # TODO: escaping }; - $add_opt->('ucfilespec', $embed_name); - $add_opt->('desc', $file->{description}); - $add_opt->('afrelationship', $file->{relationship}); - $add_opt->('mimetype', $file->{mime_type}); + $add_opt->('filespec', $embed_name_ascii); + $add_opt->('ucfilespec', $embed_name); + $add_opt->('desc', $file->{description}); + $add_opt->('afrelationship', $file->{relationship}); + $add_opt->('mimetype', $file->{mime_type}); return sprintf('\embedfile[%s]{%s}', join(',', @options), $file_name); }