X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Famtemplates.pl;h=1545f656ec5a0d9d827de021abfdd07e8e58141e;hb=8a2d9daf01083e1271cf6118591bb2c242734261;hp=1dc734470fcfd4678f7e2860f41b83531a037df9;hpb=27557af4df09feccf6cb4e40b06af01102d029b1;p=kivitendo-erp.git diff --git a/bin/mozilla/amtemplates.pl b/bin/mozilla/amtemplates.pl index 1dc734470..1545f656e 100644 --- a/bin/mozilla/amtemplates.pl +++ b/bin/mozilla/amtemplates.pl @@ -31,6 +31,8 @@ # #====================================================================== +use File::Find; + use SL::AM; use SL::Form; @@ -113,7 +115,10 @@ sub display_template_form { $main::auth->assert('config'); - $form->{"formname"} =~ s|.*/||; + if ($form->{"formname"} =~ m|\.\.| || $form->{"formname"} =~ m|^/|) { + $form->{"formname"} =~ s|.*/||; + } + my $format = $form->{"format"} eq "html" ? "html" : "tex"; $form->{"title"} = $form->{"type"} eq "stylesheet" ? $locale->text("Edit the stylesheet") : $locale->text("Edit templates"); @@ -187,6 +192,36 @@ sub display_template_form { @values = sort({ $a->{"label"} cmp $b->{"label"} } @values); + # + # at the end: others/includes for tex + # + if ($format eq "tex") { + # search all .tex-files in template dir (recursively) + my @all_files; + find( + sub { + next if (-l $_ || -d $_); + next unless (-f $_ && $_ =~ m/.*?\.tex$/); + + my $fname = $File::Find::name; + # remove template dir from name + $fname =~ s|^$myconfig{templates}/||; + # remove .tex from name + $fname =~ s|.tex$||; + + push(@all_files, $fname); + + }, $myconfig{templates}); + + # filter all files already set up (i.e. not already in @values) + my @other_files = grep { my $a=$_; not grep {$a eq $_->{value}} @values } @all_files; + + # add other tex files + foreach my $o (@other_files) { + push(@values, { "value" => $o, "label" => $locale->text("Others")." ($o)" }); + } + } + $options{FORMNAME} = [ @values ]; #