build_std_url() etwas aufgebohrt, sodass das auszuführende Script verändert werden...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 14 May 2007 11:55:32 +0000 (11:55 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 14 May 2007 11:55:32 +0000 (11:55 +0000)
bin/mozilla/common.pl

index b661c34..7f557fb 100644 (file)
@@ -45,20 +45,27 @@ sub restore_form {
 sub build_std_url {
   $lxdebug->enter_sub();
 
-  my $url = "$form->{script}?";
-  my $first = 1;
+  my $script = $form->{script};
+
+  my @parts;
+
   foreach my $key ((qw(login password), @_)) {
     next unless ($key);
-    $url .= "&" unless ($first);
-    $first = 0;
 
-    if ($key =~ /=/) {
-      $url .= $key;
+    if ($key =~ /(.*?)=(.*)/) {
+      if ($1 eq 'script') {
+        $script = $2;
+      } else {
+        push @parts, $key;
+      }
+
     } else {
-      $url .= "${key}=" . E($form->{$key});
+      push @parts, "${key}=" . E($form->{$key});
     }
   }
 
+  my $url = "${script}?" . join('&', @parts);
+
   $lxdebug->leave_sub();
 
   return $url;