Nicht doppelt quoten.
[kivitendo-erp.git] / bin / mozilla / common.pl
index d2ac1fa..42b6676 100644 (file)
@@ -127,9 +127,19 @@ sub part_selection_internal {
   $order_dir = 1;
   $order_dir = $form->{"order_dir"} if (defined($form->{"order_dir"}));
 
-  %options   = map { $_ => 1 } split m/:/, $form->{options};
+  my %options;
 
-  map { $form->{$_} = 1 if ($options{$_}) } qw(no_services no_assemblies);
+  foreach my $opt (split m/:/, $form->{options}) {
+    if ($opt =~ /=/) {
+      my ($key, $value) = split m/=/, $opt, 2;
+      $options{$key} = $value;
+
+    } else {
+      $options{$opt} = 1;
+    }
+  }
+
+  map { $form->{$_} = $options{$_} if ($options{$_}) } qw(no_services no_assemblies click_button);
 
   $parts = Common->retrieve_parts(\%myconfig, $form, $order_by, $order_dir);
 
@@ -156,6 +166,8 @@ sub part_selection_internal {
          },
         @header_sort);
 
+  $form->{formname} ||= 'Form';
+
   $form->{title} = $locale->text("Select a part");
   $form->header();
   print $form->parse_html_template("generic/part_selection", { "HEADER" => \@header,
@@ -316,11 +328,11 @@ sub set_longdescription {
 # -------------------------------------------------------------------------
 
 sub H {
-  return $form->quote_html($_[0]);
+  return $locale->quote_special_chars('HTML', $_[0]);
 }
 
 sub Q {
-  return $form->quote($_[0]);
+  return $locale->quote_special_chars('URL@HTML', $_[0]);
 }
 
 sub E {