Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7d82f0e8

Von Moritz Bunkus vor mehr als 18 Jahren hinzugefügt

  • ID 7d82f0e8db96e595122ebe723c129e6f3e26bb0d
  • Vorgänger b518ce7a
  • Nachfolger 9aca5ced

Form::parse_html_template: Wenn in der Vorlage Variablen benutzt werden, die es in $form nicht gibt, so werden leere Werte und vor allem leere Arrays fuer Schleifenvariablen erzeugt. Form::show_generic_error: Wenn ein weiterer Parameter "action" angegeben wird, so wird auf der Fehlerseite ein Button mit dieser beschriftung ausgegeben. Alle $form-Variablen werden ebenfalls ausgegeben (z.B. fuer eine "Zurueck"-Funktion).

Unterschiede anzeigen:

SL/Form.pm
$additional_params->{"conf_latex_templates"} = $main::latex;
$additional_params->{"conf_opendocument_templates"} = $main::opendocument_templates;
my $menu;
if (-f $self->{"login"} . "_menu.ini") {
$menu = Menu->new($self->{"login"} . "_menu.ini");
} else {
$menu = Menu->new("menu.ini");
}
$menu->generate_acl("", $additional_params);
my @additional_param_names = keys(%{$additional_params});
foreach my $key ($template->param()) {
if (grep(/^${key}$/, @additional_param_names)) {
$template->param($key => $additional_params->{$key});
} else {
$template->param($key => $self->{$key});
}
my $param = $self->{$key};
$param = $additional_params->{$key} if (grep(/^${key}$/, @additional_param_names));
$param = [] if (($template->query("name" => $key) eq "LOOP") && (ref($param) ne "ARRAY"));
$template->param($key => $param);
}
my $output = $template->output();
$main::lxdebug->leave_sub();
......
}
sub show_generic_error {
my ($self, $error, $title) = @_;
my ($self, $error, $title, $action) = @_;
my $add_params = {};
$add_params->{"title"} = $title if ($title);
$self->{"label_error"} = $error;
my @vars;
if ($action) {
map({ delete($self->{$_}); } qw(action));
map({ push(@vars, { "name" => $_, "value" => $self->{$_} })
if (!ref($self->{$_})); }
keys(%{$self}));
$add_params->{"SHOW_BUTTON"} = 1;
$add_params->{"BUTTON_LABEL"} = $action;
}
$add_params->{"VARIABLES"} = \@vars;
$self->header();
print($self->parse_html_template("generic/error", $add_params));

Auch abrufbar als: Unified diff