Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7d82f0e8

Von Moritz Bunkus vor fast 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
490 490
  $additional_params->{"conf_latex_templates"} = $main::latex;
491 491
  $additional_params->{"conf_opendocument_templates"} = $main::opendocument_templates;
492 492

  
493
  my $menu;
494
  if (-f $self->{"login"} . "_menu.ini") {
495
    $menu = Menu->new($self->{"login"} . "_menu.ini");
496
  } else {
497
    $menu = Menu->new("menu.ini");
498
  }
499
  $menu->generate_acl("", $additional_params);
500

  
501 493
  my @additional_param_names = keys(%{$additional_params});
502 494
  foreach my $key ($template->param()) {
503
    if (grep(/^${key}$/, @additional_param_names)) {
504
      $template->param($key => $additional_params->{$key});
505
    } else {
506
      $template->param($key => $self->{$key});
507
    }
495
    my $param = $self->{$key};
496
    $param = $additional_params->{$key} if (grep(/^${key}$/, @additional_param_names));
497
    $param = [] if (($template->query("name" => $key) eq "LOOP") && (ref($param) ne "ARRAY"));
498
    $template->param($key => $param);
508 499
  }
500

  
509 501
  my $output = $template->output();
510 502

  
511 503
  $main::lxdebug->leave_sub();
......
514 506
}
515 507

  
516 508
sub show_generic_error {
517
  my ($self, $error, $title) = @_;
509
  my ($self, $error, $title, $action) = @_;
518 510

  
519 511
  my $add_params = {};
520 512
  $add_params->{"title"} = $title if ($title);
521 513
  $self->{"label_error"} = $error;
522 514

  
515
  my @vars;
516
  if ($action) {
517
    map({ delete($self->{$_}); } qw(action));
518
    map({ push(@vars, { "name" => $_, "value" => $self->{$_} })
519
            if (!ref($self->{$_})); }
520
        keys(%{$self}));
521
    $add_params->{"SHOW_BUTTON"} = 1;
522
    $add_params->{"BUTTON_LABEL"} = $action;
523
  }
524
  $add_params->{"VARIABLES"} = \@vars;
525

  
523 526
  $self->header();
524 527
  print($self->parse_html_template("generic/error", $add_params));
525 528

  

Auch abrufbar als: Unified diff