Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7d639e01

Von Moritz Bunkus vor fast 18 Jahren hinzugefügt

  • ID 7d639e01d4b63644343db6b550ec84211e73f167
  • Vorgänger 645b2fe8
  • Nachfolger d8593f08

save_form() und restore_form() koennen jetzt auch mit Arrays umgehen, die in $form gespeichert sind.

Unterschiede anzeigen:

bin/mozilla/common.pl
16 16
sub save_form {
17 17
  $lxdebug->enter_sub();
18 18

  
19
  my $old_form = "";
20
  map({ $old_form .= "$_=" . $form->escape($form->{$_}) . '&'; } keys(%{$form}));
21
  chop($old_form);
19
  my (@names, @values);
20
  foreach my $key (keys(%{$form})) {
21
    push(@names, "\$form->{\"$key\"}");
22
    push(@values, $form->{$key});
23
  }
24
  my $dumper = Data::Dumper->new(\@values, \@names);
25
  $dumper->Indent(0);
26
  my $old_form = $dumper->Dump();
22 27

  
23 28
  $lxdebug->leave_sub();
24 29

  
......
28 33
sub restore_form {
29 34
  $lxdebug->enter_sub();
30 35

  
31
  my ($old_form) = @_;
32

  
33
  map({ delete($form->{$_}); } keys(%{$form}));
36
  my ($old_form, $no_delete) = @_;
34 37

  
35
  foreach my $pair (split('&', $old_form)) {
36
    my ($key, $value) = split('=', $form->unescape($pair), 2);
37
    $form->{$key} = $value;
38
  }
38
  map({ delete($form->{$_}); } keys(%{$form})) unless ($no_delete);
39
  eval($old_form);
39 40

  
40 41
  $lxdebug->leave_sub();
41 42
}

Auch abrufbar als: Unified diff