Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Ivlev
bugzilla
Commits
5683ca47
Commit
5683ca47
authored
Jan 19, 1999
by
terry%netscape.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Majorly changed querying of email addresses.
parent
ccb7eb4d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
193 additions
and
9 deletions
+193
-9
CHANGES
CHANGES
+17
-0
buglist.cgi
buglist.cgi
+65
-0
helpemailquery.html
helpemailquery.html
+36
-0
makecctable.sh
makecctable.sh
+4
-1
query.cgi
query.cgi
+71
-8
No files found.
CHANGES
View file @
5683ca47
...
@@ -11,6 +11,12 @@ will tell you what has been changed in the last week.
...
@@ -11,6 +11,12 @@ will tell you what has been changed in the last week.
1/18/99 You can now query by CC. To make this perform reasonably, the CC table
needs some indices. The following MySQL does the necessary stuff:
alter table cc add index (bug_id), add index (who);
1/15/99 The op_sys field can now be queried by (and more easily tweaked).
1/15/99 The op_sys field can now be queried by (and more easily tweaked).
To make this perform reasonably, it needs an index. The following MySQL
To make this perform reasonably, it needs an index. The following MySQL
command will create the necessary index:
command will create the necessary index:
...
@@ -63,6 +69,17 @@ entries:
...
@@ -63,6 +69,17 @@ entries:
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");
alter table bugs change column op_sys op_sys enum("All", "Windows 3.1", "Windows 95", "Windows 98", "Windows NT", "Mac System 7", "Mac System 7.5", "Mac System 7.1.6", "Mac System 8.0", "AIX", "BSDI", "HP-UX", "IRIX", "Linux", "OSF/1", "Solaris", "SunOS", "other") not null, change column rep_platform rep_platform enum("All", "DEC", "HP", "Macintosh", "PC", "SGI", "Sun", "Other");
11/20/98 Added searching of CC field. To better support this, added
some indexes to the CC table. You probably want to execute the following
mysql commands:
alter table cc add index (bug_id);
alter table cc add index (who);
10/27/98 security check for legal products in place. bug charts are not
10/27/98 security check for legal products in place. bug charts are not
available as an option if collectstats.pl has never been run. all products
available as an option if collectstats.pl has never been run. all products
get daily stats collected now. README updated: Chart::Base is listed as
get daily stats collected now. README updated: Chart::Base is listed as
...
...
buglist.cgi
View file @
5683ca47
...
@@ -195,6 +195,7 @@ bugs.product,
...
@@ -195,6 +195,7 @@ bugs.product,
bugs.bug_status"
;
bugs.bug_status"
;
}
}
$query
.=
"
$query
.=
"
from bugs,
from bugs,
profiles assign,
profiles assign,
...
@@ -206,6 +207,15 @@ and bugs.product = projector.program
...
@@ -206,6 +207,15 @@ and bugs.product = projector.program
and bugs.version = projector.value
and bugs.version = projector.value
"
;
"
;
if
((
defined
$::FORM
{
'emailcc1'
}
&&
$::FORM
{
'emailcc1'
})
||
(
defined
$::FORM
{
'emailcc2'
}
&&
$::FORM
{
'emailcc2'
}))
{
# We need to poke into the CC table. Do weird SQL left join stuff so that
# we can look in the CC table, but won't reject any bugs that don't have
# any CC fields.
$query
=~
s/bugs,/bugs left join cc using (bug_id) left join profiles ccname on cc.who = ccname.userid,/
;
}
if
(
defined
$::FORM
{
'sql'
})
{
if
(
defined
$::FORM
{
'sql'
})
{
$query
.=
"and (\n$::FORM('sql')\n)"
$query
.=
"and (\n$::FORM('sql')\n)"
}
else
{
}
else
{
...
@@ -244,6 +254,61 @@ if (defined $::FORM{'sql'}) {
...
@@ -244,6 +254,61 @@ if (defined $::FORM{'sql'}) {
}
}
}
}
foreach
my
$id
(
"1"
,
"2"
)
{
my
$email
=
trim
(
$::FORM
{
"email$id"
});
if
(
$email
eq
""
)
{
next
;
}
my
$qemail
=
SqlQuote
(
$email
);
my
$type
=
$::FORM
{
"emailtype$id"
};
my
$emailid
;
if
(
$type
eq
"exact"
)
{
$emailid
=
DBNameToIdAndCheck
(
$email
);
}
my
$foundone
=
0
;
my
$lead
=
"and (\n"
;
foreach
my
$field
(
"assigned_to"
,
"reporter"
,
"cc"
)
{
my
$doit
=
$::FORM
{
"email$field$id"
};
if
(
!
$doit
)
{
next
;
}
$foundone
=
1
;
my
$table
;
if
(
$field
eq
"assigned_to"
)
{
$table
=
"assign"
;
}
elsif
(
$field
eq
"reporter"
)
{
$table
=
"report"
;
}
else
{
$table
=
"ccname"
;
}
if
(
$type
eq
"exact"
)
{
if
(
$field
eq
"cc"
)
{
$query
.=
"\t$lead cc.who = $emailid\n"
;
}
else
{
$query
.=
"\t$lead $field = $emailid\n"
;
}
}
elsif
(
$type
eq
"regexp"
)
{
$query
.=
"\t$lead $table.login_name regexp $qemail\n"
;
}
else
{
$query
.=
"\t$lead instr($table.login_name, $qemail)\n"
;
}
$lead
=
" or "
;
}
if
(
!
$foundone
)
{
print
"You must specify one or more fields in which to search for <tt>$email</tt>.\n"
;
exit
;
}
if
(
$lead
eq
" or "
)
{
$query
.=
")\n"
;
}
}
if
(
defined
$::FORM
{
'changedin'
})
{
if
(
defined
$::FORM
{
'changedin'
})
{
my
$c
=
trim
(
$::FORM
{
'changedin'
});
my
$c
=
trim
(
$::FORM
{
'changedin'
});
if
(
$c
ne
""
)
{
if
(
$c
ne
""
)
{
...
...
helpemailquery.html
0 → 100644
View file @
5683ca47
<html>
<head>
<title>
Help on searching by email address.
</title>
</head>
<body>
<h1>
Help on searching by email address.
</h1>
This used to be simpler, but not very powerful. Now it's really
powerful and useful, but it may not be obvious how to use it...
<p>
To search for bugs associated with an email address:
<ul>
<li>
Type a portion of an email address into the text field.
<li>
Select which fields of the bug you expect that address to be in
the bugs you're looking for.
</ul>
<p>
You can look for up to two different email addresses; if you specify
both, then only bugs which match both will show up. This is useful to
find bugs that were, for example, created by Ralph and assigned to
Fred.
<p>
You can also use the drop down menus to specify whether you want to
match addresses by doing a substring match, by using regular
expressions, or by exactly matching a fully specified email address.
</body>
</html>
makecctable.sh
View file @
5683ca47
...
@@ -29,7 +29,10 @@ mysql << OK_ALL_DONE
...
@@ -29,7 +29,10 @@ mysql << OK_ALL_DONE
use bugs;
use bugs;
create table cc (
create table cc (
bug_id mediumint not null,
bug_id mediumint not null,
who mediumint not null
who mediumint not null,
index(bug_id),
index(who)
);
);
...
...
query.cgi
View file @
5683ca47
...
@@ -58,7 +58,11 @@ my %type;
...
@@ -58,7 +58,11 @@ my %type;
foreach
my
$name
(
"bug_status"
,
"resolution"
,
"assigned_to"
,
"rep_platform"
,
foreach
my
$name
(
"bug_status"
,
"resolution"
,
"assigned_to"
,
"rep_platform"
,
"priority"
,
"bug_severity"
,
"product"
,
"reporter"
,
"op_sys"
,
"priority"
,
"bug_severity"
,
"product"
,
"reporter"
,
"op_sys"
,
"component"
,
"version"
)
{
"component"
,
"version"
,
"email1"
,
"emailtype1"
,
"emailreporter1"
,
"emailassigned_to1"
,
"emailcc1"
,
"email2"
,
"emailtype2"
,
"emailreporter2"
,
"emailassigned_to2"
,
"emailcc2"
)
{
$default
{
$name
}
=
""
;
$default
{
$name
}
=
""
;
$type
{
$name
}
=
0
;
$type
{
$name
}
=
0
;
}
}
...
@@ -100,8 +104,67 @@ print "Set-Cookie: BUGLIST=
...
@@ -100,8 +104,67 @@ print "Set-Cookie: BUGLIST=
Content-type: text/html\n\n"
;
Content-type: text/html\n\n"
;
GetVersionTable
();
GetVersionTable
();
my
$who
=
GeneratePeopleInput
(
"assigned_to"
,
$default
{
"assigned_to"
});
my
$reporter
=
GeneratePeopleInput
(
"reporter"
,
$default
{
"reporter"
});
sub
GenerateEmailInput
{
my
(
$id
)
=
(
@_
);
my
$defstr
=
value_quote
(
$default
{
"email$id"
});
my
$deftype
=
$default
{
"emailtype$id"
};
if
(
$deftype
eq
""
)
{
$deftype
=
"substring"
;
}
my
$assignedto
=
(
$default
{
"emailassigned_to$id"
}
eq
"1"
)
?
"checked"
:
""
;
my
$reporter
=
(
$default
{
"emailreporter$id"
}
eq
"1"
)
?
"checked"
:
""
;
my
$cc
=
(
$default
{
"emailcc$id"
}
eq
"1"
)
?
"checked"
:
""
;
if
(
$assignedto
eq
""
&&
$reporter
eq
""
&&
$cc
eq
""
)
{
if
(
$id
eq
"1"
)
{
$assignedto
=
"checked"
;
}
else
{
$reporter
=
"checked"
;
}
}
return
qq|
<table border=1 cellspacing=0 cellpadding=0>
<tr><td>
<table cellspacing=0 cellpadding=0>
<tr>
<td rowspan=2 valign=top><a href="helpemailquery.html">Email:</a>
<input name="email$id" size="30" value=""> matching as
<SELECT NAME=emailtype$id>
<OPTION VALUE="regexp">regexp
<OPTION SELECTED VALUE="substring">substring
<OPTION VALUE="exact">exact
</SELECT>
</td>
<td>
<input type="checkbox" name="emailassigned_to$id" value=1 $assignedto>Assigned To
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="emailreporter$id" value=1 $reporter>Reporter
</td>
</tr>
<tr>
<td align=right>(Will match any of the selected fields)</td>
<td>
<input type="checkbox" name="emailcc$id" value=1 $cc>CC
</td>
</tr>
</table>
</table>
|
;
}
my
$emailinput1
=
GenerateEmailInput
(
1
);
my
$emailinput2
=
GenerateEmailInput
(
2
);
# Muck the "legal product" list so that the default one is always first (and
# Muck the "legal product" list so that the default one is always first (and
...
@@ -164,12 +227,12 @@ print "
...
@@ -164,12 +227,12 @@ print "
</table>
</table>
<p>
<p>
<TABLE>
$emailinput1<p>
<TR><TD ALIGN=RIGHT><B><A HREF=\"bug_status.html#assigned_to\">Assigned To:</a></B><TD>$who
$emailinput2<p>
<p>
<TR><TD ALIGN=RIGHT><B>Reporter:</B><TD>$reporter
</TABLE>
<NOBR>Changed in the last <INPUT NAME=changedin SIZE=2> days.</NOBR>
<NOBR>Changed in the last <INPUT NAME=changedin SIZE=2> days.</NOBR>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment