Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a731cd26

Von Moritz Bunkus vor etwa 18 Jahren hinzugefügt

  • ID a731cd269130cd68f9c3fb5b8a2c26dc20afe82e
  • Vorgänger 2a9ed0d5
  • Nachfolger d8c2fd90

Den Code für das Bearbeiten von Vorlagen in eine eigene Datei ausgelagert. Zusätzlich den HTML-Code in eine HTML-Vorlage ausgelagert.

Unterschiede anzeigen:

bin/mozilla/am.pl
$lxdebug->leave_sub();
}
sub display_template {
$lxdebug->enter_sub();
$form->{edit} = 0;
display_template_form();
$lxdebug->leave_sub();
}
sub edit_template {
$lxdebug->enter_sub();
$form->{edit} = 1;
display_template_form();
$lxdebug->leave_sub();
}
sub save_template {
$lxdebug->enter_sub();
$form->isblank("formname", $locale->text("You're not editing a file.")) unless ($form->{type} eq "stylesheet");
my ($filename) = AM->prepare_template_filename(\%myconfig, $form);
if (my $error = AM->save_template($filename, $form->{content})) {
$form->error(sprintf($locale->text("Saving the file '%s' failed. OS error message: %s"), $filename, $error));
}
$form->{edit} = 0;
display_template_form();
$lxdebug->leave_sub();
}
sub display_template_form {
$lxdebug->enter_sub();
$form->{formname} =~ s|.*/||;
my $format = $form->{format} eq "html" ? "html" : "tex";
my $title = $form->{type} eq "stylesheet" ? $locale->text("Edit the stylesheet") : $locale->text("Edit templates");
$form->{title} = $title;
my $edit_options;
my @hidden = qw(login path password type format);
if (($form->{type} ne "stylesheet") && !$form->{edit}) {
$edit_options = "<p>";
my %formname_setup =
(
"balance_sheet" => { "translation" => $locale->text('Balance Sheet'), "html" => 1 },
"bin_list" => $locale->text('Bin List'),
"bwa" => { "translation" => $locale->text('BWA'), "html" => 1 },
"check" => { "translation" => $locale->text('Check'), "html" => 1 },
"credit_note" => $locale->text('Credit Note'),
"income_statement" => { "translation" => $locale->text('Income Statement'), "html" => 1 },
"invoice" => $locale->text('Invoice'),
"packing_list" => $locale->text('Packing List'),
"pick_list" => $locale->text('Pick List'),
"proforma" => $locale->text('Proforma Invoice'),
"purchase_order" => $locale->text('Purchase Order'),
"receipt" => { "translation" => $locale->text('Receipt'), "tex" => 1 },
"request_quotation" => $locale->text('RFQ'),
"sales_order" => $locale->text('Confirmation'),
"sales_quotation" => $locale->text('Quotation'),
"statement" => $locale->text('Statement'),
"storno_invoice" => $locale->text('Storno Invoice'),
"storno_packing_list" => $locale->text('Storno Packing List'),
"ustva-2004" => { "translation" => $locale->text("USTVA 2004"), "tex" => 1 },
"ustva-2005" => { "translation" => $locale->text("USTVA 2005"), "tex" => 1 },
"ustva-2006" => { "translation" => $locale->text("USTVA 2006"), "tex" => 1 },
"ustva-2007" => { "translation" => $locale->text("USTVA 2007"), "tex" => 1 },
"ustva" => $locale->text("USTVA"),
"zahlungserinnerung" => $locale->text('Payment Reminder'),
);
my (@values, %labels, $file, $setup);
while (($file, $setup) = each(%formname_setup)) {
next unless (!ref($setup) || $setup->{$format});
push(@values, $file);
$labels{$file} = ref($setup) ? $setup->{translation} : $setup;
}
@values = sort({ $labels{$a} cmp $labels{$b} } @values);
$edit_options .=
$locale->text("Template") . " " .
NTI($cgi->popup_menu("-name" => "formname", "-default" => $form->{formname},
"-values" => \@values, "-labels" => \%labels));
$form->get_lists("printers" => "ALL_PRINTERS",
"languages" => "ALL_LANGUAGES");
@values = ("");
%labels = ();
foreach my $item (@{ $form->{ALL_LANGUAGES} }) {
next unless ($item->{template_code});
my $key = "$item->{id}--$item->{template_code}";
push(@values, $key);
$labels{$key} = $item->{description};
}
if (1 != scalar(@values)) {
$edit_options .=
" " . $locale->text("Language") . " " .
NTI($cgi->popup_menu("-name" => "language", "-default" => $form->{language},
"-values" => \@values, "-labels" => \%labels));
}
@values = ("");
%labels = ();
foreach my $item (@{ $form->{ALL_PRINTERS} }) {
next unless ($item->{template_code});
my $key = "$item->{id}--$item->{template_code}";
push(@values, $key);
$labels{$key} = $item->{printer_description};
}
if (1 != scalar(@values)) {
$edit_options .=
" " . $locale->text("Printer") . " " .
NTI($cgi->popup_menu("-name" => "printer", "-default" => $form->{printer},
"-values" => \@values, "-labels" => \%labels));
}
$edit_options .= qq|
<input type="hidden" name="display_nextsub" value="display_template">
<input name="action" type="submit" class="submit" value="|
. $locale->text('Display') . qq|">
</p>
<hr>
|;
} else {
push(@hidden, qw(formname language printer));
}
if ($form->{formname} || ($form->{type} eq "stylesheet")) {
my ($filename, $display_filename) = AM->prepare_template_filename(\%myconfig, $form);
my ($content, $lines) = AM->load_template($filename);
$body = qq|
|;
if ($form->{edit}) {
$form->{fokus} = "Form.content";
$body = qq|\n<p><div class="listtop">| . $locale->text('Edit file') . " '" . H($display_filename) . qq|'</div></p>\n<p>|
. NTI($cgi->textarea("-name" => "content",
"-id" => "content",
"-default" => $content,
"-columns" => 100,
"-rows" => 25))
. qq|</p>
<p>
<input type="hidden" name="save_nextsub" value="save_template">
<input type="submit" name="action" value="| . $locale->text('Save') . qq|">
</p>
|;
} else {
$content = "\n\n" unless ($content);
$body = qq|
<p><div class="listtop">| . $locale->text('Display file') . " '" . H($display_filename) . qq|'</div></p>
<input type="hidden" name="edit_nextsub" value="edit_template">
<p><input name="action" type="submit" class="submit" value="| . $locale->text('Edit') . qq|"></p>
<p>
<pre class="filecontent">| . H($content) . qq|</pre>
</p>
|;
if ($lines > 25) {
$body .= qq|
<input name="action" type="submit" class="submit" value="|
. $locale->text('Edit') . qq|">
|;
}
}
}
$form->header;
print qq|
<body>
<div class="listheading">$title</div>
<form method="post" name="Form" action="am.pl">
|;
$form->hide_form(@hidden);
print qq|
$edit_options
$body
</form>
</body>
</html>
|;
$lxdebug->leave_sub();
}
sub config {
$lxdebug->enter_sub();

Auch abrufbar als: Unified diff