summaryrefslogtreecommitdiffstats
path: root/userprefs.cgi
diff options
context:
space:
mode:
authorjocuri%softhome.net <>2004-12-31 17:00:50 +0100
committerjocuri%softhome.net <>2004-12-31 17:00:50 +0100
commit28055c618d39d62ea81e33c3d30cde91eb7117b7 (patch)
treee0394bdf422efd920e17314e4b9b8476eea3d609 /userprefs.cgi
parent7f51d13817aecceac6e9a79155af37fc7614b683 (diff)
downloadbugzilla-28055c618d39d62ea81e33c3d30cde91eb7117b7.tar.gz
bugzilla-28055c618d39d62ea81e33c3d30cde91eb7117b7.tar.xz
Patch for bug 275788: Provide a line of code that defines legal query formats for other scripts to use; patch by Colin S. Ogilvie <colin.ogilvie@gmail.com>, r=vladd, a=justdave.
Diffstat (limited to 'userprefs.cgi')
-rwxr-xr-xuserprefs.cgi18
1 files changed, 12 insertions, 6 deletions
diff --git a/userprefs.cgi b/userprefs.cgi
index f8de9915d..323c87d53 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -27,6 +27,7 @@ use lib qw(.);
use Bugzilla;
use Bugzilla::Constants;
+use Bugzilla::Search;
require "CGI.pl";
@@ -304,13 +305,18 @@ sub DoSavedSearches() {
my @queries = @{Bugzilla->user->queries};
my @newqueries;
foreach my $q (@queries) {
- if ($q->{'query'} !~ /query_format=(advanced|specific)/) {
- if ($q->{'query'} =~ /query_format=&/) {
- $q->{'query'} =~ s/query_format=&/query_format=advanced&/;
- }
- else {
- $q->{'query'} .= '&query_format=advanced';
+ if ($q->{'query'} =~ /query_format=([^&]*)/) {
+ my $format = $1;
+ if (!IsValidQueryType($format)) {
+ if ($format eq "") {
+ $q->{'query'} =~ s/query_format=/query_format=advanced/;
+ }
+ else {
+ $q->{'query'} .= '&query_format=advanced';
+ }
}
+ } else {
+ $q->{'query'} .= '&query_format=advanced';
}
push @newqueries, $q;
}