kivitendo/sql/Pg-upgrade/Pg-upgrade-2.2.0.37-2.2.0.38.pl @ 43115782
411e9238 | Moritz Bunkus | #!/usr/bin/perl
|
|
# Upgrade von Vorlagen
|
|||
die("This script cannot be run from the command line.") unless ($main::form);
|
|||
use File::Copy;
|
|||
sub update_templates {
|
|||
local *IN;
|
|||
if (!open(IN, "users/members")) {
|
|||
die($dbup_locale->text("Could not open the file users/members."));
|
|||
}
|
|||
my %all_template_dirs;
|
|||
while (<IN>) {
|
|||
chomp();
|
|||
$all_template_dirs{$1} = 1 if (/^templates=(.*)/);
|
|||
}
|
|||
close(IN);
|
|||
my @new_templates;
|
|||
foreach my $raw (@_) {
|
|||
$raw =~ /^.*?-(.*)/;
|
|||
push(@new_templates, { "source" => "templates/$raw",
|
|||
"destination" => $1 });
|
|||
}
|
|||
my @warnings;
|
|||
foreach my $dir (keys(%all_template_dirs)) {
|
|||
foreach my $template (@new_templates) {
|
|||
my $destination = $dir . "/" . $template->{"destination"};
|
|||
if (-f $destination) {
|
|||
if (!rename($destination, $destination . ".bak")) {
|
|||
push(@warnings, sprintf($dbup_locale->text("Could not rename %s to %s. Reason: %s"),
|
|||
$destination, $destination . ".bak", $!));
|
|||
}
|
|||
}
|
|||
if (!copy($template->{"source"}, $destination)) {
|
|||
push(@warnings, sprintf($dbup_locale->text("Could not copy %s to %s. Reason: %s"),
|
|||
$template->{"source"}, $destination . ".bak", $!));
|
|||
}
|
|||
}
|
|||
}
|
|||
if (@warnings) {
|
|||
@warnings = map(+{ "message" => $_ }, @warnings);
|
|||
print($form->parse_html_template("dbupgrade/update_templates_warnings",
|
|||
{ "WARNINGS" => \@warnings }));
|
|||
}
|
|||
return 1;
|
|||
}
|
|||
sub do_update {
|
|||
update_templates("German-winston.xml",
|
|||
"German-taxbird.txb",
|
|||
"German-credit_note.tex",
|
|||
"German-zahlungserinnerung.tex");
|
|||
}
|
|||
return do_update();
|