You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2008/11/04 12:14:19 UTC

svn commit: r711224 - /spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi

Author: jm
Date: Tue Nov  4 03:14:19 2008
New Revision: 711224

URL: http://svn.apache.org/viewvc?rev=711224&view=rev
Log:
fix another bug in ?q=RULE_NAME feature

Modified:
    spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi

Modified: spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
URL: http://svn.apache.org/viewvc/spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi?rev=711224&r1=711223&r2=711224&view=diff
==============================================================================
--- spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi (original)
+++ spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi Tue Nov  4 03:14:19 2008
@@ -151,12 +151,8 @@
   # "?q=FOO" is a shortcut for "?rule=FOO&s_detail=1"; good for shortcuts
   my $q = $self->{q}->param("q");
   if ($q) {
-    $self->{q}->param(-name=>"rule", -value=>$q);
-
-    # ensure links from here include this
-    $self->{cgi_params}{"rule"} = "rule=".uri_escape($q);
-    push @{$self->{cgi_param_order}}, "rule";
-
+    $self->add_cgi_param("rule", $q);
+    $self->add_cgi_param("s_detail", 1);
     $self->{s}{detail} = 1;
   }
 
@@ -1523,13 +1519,23 @@
   }
 }
 
-sub add_cgi_path_param {
-  my ($self, $k, $v) = @_;
+sub add_cgi_path_param {        # assumes already escaped unless $not_escaped
+  my ($self, $k, $v, $not_escaped) = @_;
   if (!defined $self->{cgi_params}{$k}) {
-    $self->{cgi_params}{$k} = "$k=$v";
     push (@{$self->{cgi_param_order}}, $k);
   }
-  $self->{q}->param(-name=>$k, -value=>uri_unescape($v));
+  if ($not_escaped) {
+    $self->{cgi_params}{$k} = $k."=".uri_escape($v);
+    $self->{q}->param(-name=>$k, -value=>$v);
+  } else {
+    $self->{cgi_params}{$k} = $k."=".$v;
+    $self->{q}->param(-name=>$k, -value=>uri_unescape($v));
+  }
+}
+
+sub add_cgi_param {     # a variant for unescaped data
+  my ($self, $k, $v) = @_;
+  return $self->add_cgi_path_param($k, $v, 1);
 }
 
 sub get_params_except {