Bei den Entwürfen nicht die Variable "stylesheet" speichern.
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 31 Aug 2007 06:33:33 +0000 (06:33 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 31 Aug 2007 06:33:33 +0000 (06:33 +0000)
SL/Drafts.pm
bin/mozilla/drafts.pl

index 96d4d91..4408899 100644 (file)
@@ -34,12 +34,14 @@ sub get_module {
   return ($module, $submodule);
 }
 
+@dont_save = qw(login password stylesheet action);
+
 sub save {
   $main::lxdebug->enter_sub();
 
   my ($self, $myconfig, $form, $draft_id, $draft_description) = @_;
 
-  my ($dbh, $sth, $query, %saved, @dont_save, $dumped);
+  my ($dbh, $sth, $query, %saved, $dumped);
 
   $dbh = $form->dbconnect_noauto($myconfig);
 
@@ -54,7 +56,6 @@ sub save {
     do_query($form, $dbh, $query, $draft_id, $module, $submodule);
   }
 
-  @dont_save = qw(login password action);
   map({ $saved{$_} = $form->{$_};
         delete($form->{$_}); } @dont_save);
 
index 1aa34a5..dbe61ff 100644 (file)
@@ -103,7 +103,10 @@ sub load_draft {
   if ($old_form) {
     $old_form = YAML::Load($old_form);
 
-    @{$form}{keys %{ $old_form } } = @{$old_form}{keys %{ $old_form } };
+    my %dont_save_vars      = map { $_ => 1 } @Drafts::dont_save;
+    my @restore_vars        = grep { !$skip_vars{$_} } keys %{ $old_form };
+
+    @{$form}{@restore_vars} = @{$old_form}{@restore_vars};
 
     $form->{draft_id}              = $id;
     $form->{draft_description}     = $description;