Revision 7d82f0e8
Von Moritz Bunkus vor mehr als 18 Jahren hinzugefügt
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
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).