1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
<!-- 1.0@bugzilla.org -->
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
#%]
[% types = [
{ name => "noop", description => "---" },
{ name => "equals", description => "is equal to" },
{ name => "notequals", description => "is not equal to" },
{ name => "substring", description => "contains the string" },
{ name => "casesubstring", description => "contains the string (exact case)" },
{ name => "notsubstring", description => "does not contain the string" },
{ name => "allwordssubstr", description => "contains all of the strings" },
{ name => "anywordssubstr", description => "contains any of the strings" },
{ name => "regexp", description => "contains regexp" },
{ name => "notregexp", description => "does not contain regexp" },
{ name => "lessthan", description => "is less than" },
{ name => "greaterthan", description => "is greater than" },
{ name => "anywords", description => "contains any of the words" },
{ name => "allwords", description => "contains all of the words" },
{ name => "nowords", description => "contains none of the words" },
{ name => "changedbefore", description => "changed before" },
{ name => "changedafter", description => "changed after" },
{ name => "changedfrom", description => "changed from" },
{ name => "changedto", description => "changed to" },
{ name => "changedby", description => "changed by" } ] %]
<p>
<strong>
<a name="chart" href="queryhelp.cgi#advancedquerying">
Advanced Querying Using Boolean Charts</a>:
</strong>
</p>
[%# Whoever wrote the original version of boolean charts had a seriously twisted mind %]
[% jsmagic = "onclick=\"document.forms[0].action='query.cgi#chart'; document.forms[0].method='POST'; return 1;\"" %]
[% FOREACH chart = default.charts %]
[% chartnum = loop.count - 1 %]
<table>
[% FOREACH row = chart %]
[% rownum = loop.count - 1 %]
<tr>
[% FOREACH col = row %]
[% colnum = loop.count - 1 %]
<td>
<select name="[% "field${chartnum}-${rownum}-${colnum}" %]">
[% FOREACH field = fields %]
<option value="[% field.name %]"
[%- " selected" IF field.name == col.field %]>[% field.description %]</option>
[% END %]
</select>
<select name="[% "type${chartnum}-${rownum}-${colnum}" %]">
[% FOREACH type = types %]
<option value="[% type.name %]"
[%- " selected" IF type.name == col.type %]>[% type.description %]</option>
[% END %]
</select>
<input name="[% "value${chartnum}-${rownum}-${colnum}" %]"
value="[% col.value FILTER html %]">
</td>
[% IF NOT col == row.last %]
<td align="center">
Or
</td>
[% ELSE %]
<td>
[% newor = colnum + 1 %]
<input type="submit" value="Or"
name="cmd-add[% "${chartnum}-${rownum}-${newor}" %]" [% $jsmagic %]>
</td>
[% END %]
[% END %]
</tr>
[% IF NOT row == chart.last %]
<tr>
<td>And</td>
</tr>
[% ELSE %]
<tr>
<td>
[% newand = rownum + 1; newchart = chartnum + 1 %]
<input type="submit" value="And"
name="cmd-add[% "${chartnum}-${newand}-0" %]"[% $jsmagic %]>
<input type="submit" value="Add another boolean chart"
name="cmd-add[% newchart %]-0-0" [% $jsmagic %]>
</td>
</tr>
[% END %]
[% END %]
</table>
<hr>
[% END %]
|