View | Details | Raw Unified | Return to bug 10937
Collapse All | Expand All

(-)a/C4/Koha.pm (+50 lines)
Lines 43-48 BEGIN { Link Here
43
		&subfield_is_koha_internal_p
43
		&subfield_is_koha_internal_p
44
		&GetPrinters &GetPrinter
44
		&GetPrinters &GetPrinter
45
		&GetItemTypes &getitemtypeinfo
45
		&GetItemTypes &getitemtypeinfo
46
		&GetItemTypesCategorized &GetItemTypesByCategory
46
		&GetSupportName &GetSupportList
47
		&GetSupportName &GetSupportList
47
		&get_itemtypeinfos_of
48
		&get_itemtypeinfos_of
48
		&getframeworks &getframeworkinfo
49
		&getframeworks &getframeworkinfo
Lines 275-280 sub GetItemTypes { Link Here
275
    }
276
    }
276
}
277
}
277
278
279
=head2 GetItemTypesCategorized
280
281
Returns item types but grouped by category if available.
282
The categories must be part of Authorized Values (DOCTYPECAT)
283
284
=cut
285
286
sub GetItemTypesCategorized {
287
    my $dbh   = C4::Context->dbh;
288
    my $query = qq|
289
        SELECT itemtype, description, imageurl, hideinopac, 0 as 'iscat' FROM itemtypes WHERE ISNULL(searchcategory) or length(searchcategory) = 0
290
        UNION
291
        SELECT DISTINCT searchcategory AS `itemtype`, authorised_values.lib_opac AS description, authorised_values.imageurl AS imageurl, hideinopac, 1 as 'iscat'
292
            FROM itemtypes
293
	    LEFT JOIN authorised_values ON searchcategory = authorised_value WHERE searchcategory > ''
294
        |;
295
    my $sth = $dbh->prepare($query);
296
    $sth->execute;
297
298
    my %itemtypes;
299
    while ( my $IT = $sth->fetchrow_hashref ) {
300
        $itemtypes{ $IT->{'itemtype'} } = $IT;
301
    }
302
303
    return ( \%itemtypes );
304
}
305
306
=head2 GetItemTypesByCategory
307
308
    $category = category filter
309
310
Returns the itemtypes that are grouped into the category.
311
312
=cut
313
314
sub GetItemTypesByCategory {
315
    my ($category) = @_;
316
    my $count = 0;
317
    my @results;
318
    my $dbh = C4::Context->dbh;
319
    my $sth = $dbh->prepare("SELECT itemtype FROM itemtypes WHERE searchcategory=?");
320
    $sth->execute($category);
321
322
    while ( my $data = $sth->fetchrow ) {
323
        push ( @results, $data );
324
    }
325
    return @results;
326
}
327
278
sub get_itemtypeinfos_of {
328
sub get_itemtypeinfos_of {
279
    my @itemtypes = @_;
329
    my @itemtypes = @_;
280
330
(-)a/admin/authorised_values.pl (-1 / +1 lines)
Lines 247-253 sub default_form { Link Here
247
    }
247
    }
248
248
249
    # push koha system categories
249
    # push koha system categories
250
    foreach (qw(Asort1 Asort2 Bsort1 Bsort2 SUGGEST DAMAGED LOST REPORT_GROUP REPORT_SUBGROUP DEPARTMENT TERM SUGGEST_STATUS)) {
250
    foreach (qw(Asort1 Asort2 Bsort1 Bsort2 SUGGEST DAMAGED LOST REPORT_GROUP REPORT_SUBGROUP DEPARTMENT TERM SUGGEST_STATUS DOCTYPECAT)) {
251
        push @category_list, $_ unless $categories{$_};
251
        push @category_list, $_ unless $categories{$_};
252
    }
252
    }
253
253
(-)a/admin/itemtypes.pl (-2 / +12 lines)
Lines 112-117 if ( $op eq 'add_form' ) { Link Here
112
        $remote_image = $data->{imageurl};
112
        $remote_image = $data->{imageurl};
113
    }
113
    }
114
114
115
    my $searchcategory = GetAuthorisedValues("DOCTYPECAT", $data->{'searchcategory'});
116
115
    $template->param(
117
    $template->param(
116
        itemtype        => $itemtype,
118
        itemtype        => $itemtype,
117
        description     => $data->{'description'},
119
        description     => $data->{'description'},
Lines 125-130 if ( $op eq 'add_form' ) { Link Here
125
        imagesets       => $imagesets,
127
        imagesets       => $imagesets,
126
        remote_image    => $remote_image,
128
        remote_image    => $remote_image,
127
        sip_media_type  => $data->{sip_media_type},
129
        sip_media_type  => $data->{sip_media_type},
130
        hideinopac      => $data->{'hideinopac'},
131
        searchcategory  => $searchcategory,
128
    );
132
    );
129
133
130
    # END $OP eq ADD_FORM
134
    # END $OP eq ADD_FORM
Lines 150-155 elsif ( $op eq 'add_validate' ) { Link Here
150
                 , checkinmsg = ?
154
                 , checkinmsg = ?
151
                 , checkinmsgtype = ?
155
                 , checkinmsgtype = ?
152
                 , sip_media_type = ?
156
                 , sip_media_type = ?
157
                 , hideinopac = ?
158
                 , searchcategory = ?
153
            WHERE itemtype = ?
159
            WHERE itemtype = ?
154
        ';
160
        ';
155
        $sth = $dbh->prepare($query2);
161
        $sth = $dbh->prepare($query2);
Lines 168-182 elsif ( $op eq 'add_validate' ) { Link Here
168
            $input->param('checkinmsg'),
174
            $input->param('checkinmsg'),
169
            $input->param('checkinmsgtype'),
175
            $input->param('checkinmsgtype'),
170
            $sip_media_type,
176
            $sip_media_type,
177
            $input->param('hideinopac') ? 1 : 0,
178
            $input->param('searchcategory'),
171
            $input->param('itemtype')
179
            $input->param('itemtype')
172
        );
180
        );
173
    }
181
    }
174
    else {    # add a new itemtype & not modif an old
182
    else {    # add a new itemtype & not modif an old
175
        my $query = "
183
        my $query = "
176
            INSERT INTO itemtypes
184
            INSERT INTO itemtypes
177
                (itemtype,description,rentalcharge, notforloan, imageurl, summary, checkinmsg, checkinmsgtype, sip_media_type)
185
                (itemtype,description,rentalcharge, notforloan, imageurl, summary, checkinmsg, checkinmsgtype, sip_media_type, hideinopac, searchcategory)
178
            VALUES
186
            VALUES
179
                (?,?,?,?,?,?,?,?,?);
187
                (?,?,?,?,?,?,?,?,?,?,?);
180
            ";
188
            ";
181
        my $sth = $dbh->prepare($query);
189
        my $sth = $dbh->prepare($query);
182
		my $image = $input->param('image');
190
		my $image = $input->param('image');
Lines 192-197 elsif ( $op eq 'add_validate' ) { Link Here
192
            $input->param('checkinmsg'),
200
            $input->param('checkinmsg'),
193
            $input->param('checkinmsgtype'),
201
            $input->param('checkinmsgtype'),
194
            $sip_media_type,
202
            $sip_media_type,
203
            $input->param('hideinopac') ? 1 : 0,
204
            $input->param('searchcategory'),
195
        );
205
        );
196
    }
206
    }
197
207
(-)a/installer/data/mysql/kohastructure.sql (+2 lines)
Lines 1247-1252 CREATE TABLE `itemtypes` ( -- defines the item types Link Here
1247
  checkinmsg VARCHAR(255), -- message that is displayed when an item with the given item type is checked in
1247
  checkinmsg VARCHAR(255), -- message that is displayed when an item with the given item type is checked in
1248
  checkinmsgtype CHAR(16) DEFAULT 'message' NOT NULL, -- type (CSS class) for the checkinmsg, can be "alert" or "message"
1248
  checkinmsgtype CHAR(16) DEFAULT 'message' NOT NULL, -- type (CSS class) for the checkinmsg, can be "alert" or "message"
1249
  sip_media_type VARCHAR(3) DEFAULT NULL, -- SIP2 protocol media type for this itemtype
1249
  sip_media_type VARCHAR(3) DEFAULT NULL, -- SIP2 protocol media type for this itemtype
1250
  hideinopac tinyint(1) NOT NULL DEFAULT 0, -- Hide the item type from the search options in OPAC
1251
  searchcategory varchar(20) default NULL, -- Group this item type with others with the same value on OPAC search options
1250
  PRIMARY KEY  (`itemtype`),
1252
  PRIMARY KEY  (`itemtype`),
1251
  UNIQUE KEY `itemtype` (`itemtype`)
1253
  UNIQUE KEY `itemtype` (`itemtype`)
1252
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1254
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(-)a/installer/data/mysql/updatedatabase.pl (+9 lines)
Lines 8551-8556 if (CheckVersion($DBversion)) { Link Here
8551
    SetVersion($DBversion);
8551
    SetVersion($DBversion);
8552
}
8552
}
8553
8553
8554
$DBversion = "3.15.00.XXX";
8555
if ( CheckVersion($DBversion) ) {
8556
    $dbh->do(q{
8557
        ALTER TABLE itemtypes
8558
            ADD hideinopac TINYINT(1) NOT NULL DEFAULT 0,
8559
            ADD searchcategory VARCHAR(20) DEFAULT NULL;
8560
    });
8561
}
8562
8554
=head1 FUNCTIONS
8563
=head1 FUNCTIONS
8555
8564
8556
=head2 TableExists($table)
8565
=head2 TableExists($table)
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt (+46 lines)
Lines 109-114 Item types administration Link Here
109
  [% END %]
109
  [% END %]
110
      <li>
110
      <li>
111
          <label for="description" class="required">Description: </label><input type="text" id="description" name="description" size="48" value="[% description |html %]" required="required" /> <span class="required">Required</span></li>
111
          <label for="description" class="required">Description: </label><input type="text" id="description" name="description" size="48" value="[% description |html %]" required="required" /> <span class="required">Required</span></li>
112
      [% IF ( itemtype ) %]
113
      <li>
114
          <span class="label">Search category</span>
115
          <select id="searchcategory" name="searchcategory">
116
          <option value="">None</option>
117
                [% FOREACH cat IN searchcategory %]
118
                    [% IF ( cat.selected ) %]
119
                        <option value="[% cat.authorised_value %]" selected="selected">
120
                            [% cat.lib %]
121
                        </option>
122
                    [% ELSE %]
123
                        <option value="[% cat.authorised_value %]" >
124
                            [% cat.lib %]
125
                        </option>
126
                    [% END %]
127
                [% END %]
128
          </select>
129
          (Options are defined as the authorized values for the DOCTYPECAT category)
130
      </li>
131
      [% ELSE %]
132
      <li>
133
          <span class="label">Search category</span>
134
          <select id="searchcategory" name="searchcategory">
135
          <option value="" />
136
              [% FOREACH cat IN searchcategory %]
137
                  <option value="[% cat.authorised_value %]" >
138
                      [% cat.lib %]
139
                  </option>
140
              [% END %]
141
          </select>
142
      </li>
143
      [% END %]
144
112
     [% IF ( noItemTypeImages ) %]
145
     [% IF ( noItemTypeImages ) %]
113
	 <li><span class="label">Image: </span>Item type images are disabled. To enable them, turn off the <a href="/cgi-bin/koha/admin/preferences.pl?op=search&amp;searchfield=noItemTypeImages">noItemTypeImages system preference</a></li></ol>
146
	 <li><span class="label">Image: </span>Item type images are disabled. To enable them, turn off the <a href="/cgi-bin/koha/admin/preferences.pl?op=search&amp;searchfield=noItemTypeImages">noItemTypeImages system preference</a></li></ol>
114
	 [% ELSE %]</ol>
147
	 [% ELSE %]</ol>
Lines 164-169 Item types administration Link Here
164
[% END %]
197
[% END %]
165
<ol>
198
<ol>
166
      <li>
199
      <li>
200
          <label for="hideinopac">Hide in OPAC: </label>
201
          [% IF ( hideinopac ) %]
202
              <input type="checkbox" id="hideinopac" name="hideinopac" checked="checked" value="1" />
203
          [% ELSE %]
204
              <input type="checkbox" id="hideinopac" name="hideinopac" value="1" />
205
          [% END %]
206
          (if checked, items of this type will be hidden as filters in OPAC's advanced search)
207
      </li>
208
      <li>
167
          <label for="notforloan">Not for loan: </label>   [% IF ( notforloan ) %]
209
          <label for="notforloan">Not for loan: </label>   [% IF ( notforloan ) %]
168
                <input type="checkbox" id="notforloan" name="notforloan" checked="checked" value="1" />
210
                <input type="checkbox" id="notforloan" name="notforloan" checked="checked" value="1" />
169
            [% ELSE %]
211
            [% ELSE %]
Lines 260-266 Item types administration Link Here
260
    [% UNLESS ( noItemTypeImages ) %]<th>Image</th>[% END %]
302
    [% UNLESS ( noItemTypeImages ) %]<th>Image</th>[% END %]
261
    <th>Code</th>
303
    <th>Code</th>
262
    <th>Description</th>
304
    <th>Description</th>
305
    <th>Search category</th>
263
    <th>Not for loan</th>
306
    <th>Not for loan</th>
307
    <th>Hide in OPAC</th>
264
    <th>Charge</th>
308
    <th>Charge</th>
265
    <th>Checkin message</th>
309
    <th>Checkin message</th>
266
    <th>Actions</th>
310
    <th>Actions</th>
Lines 278-284 Item types administration Link Here
278
      </a>
322
      </a>
279
    </td>
323
    </td>
280
    <td>[% loo.description %]</td>
324
    <td>[% loo.description %]</td>
325
    <td>[% loo.searchcategory %]</td>
281
    <td>[% IF ( loo.notforloan ) %]Yes[% ELSE %]&nbsp;[% END %]</td>
326
    <td>[% IF ( loo.notforloan ) %]Yes[% ELSE %]&nbsp;[% END %]</td>
327
    <td>[% IF ( loo.hideinopac ) %]Yes[% ELSE %]&nbsp;[% END %]</td>
282
    <td>
328
    <td>
283
    [% UNLESS ( loo.notforloan ) %]
329
    [% UNLESS ( loo.notforloan ) %]
284
      [% loo.rentalcharge %]
330
      [% loo.rentalcharge %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt (-1 / +3 lines)
Lines 141-149 Link Here
141
                                    <legend>Limit to any of the following:</legend>
141
                                    <legend>Limit to any of the following:</legend>
142
                                    <div class="row-fluid">
142
                                    <div class="row-fluid">
143
                                        [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
143
                                        [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
144
                                            <div class="span3"><input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]" name="limit" value="mc-[% itemtypeloo.ccl %]:[% itemtypeloo.code %]"/><label for="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]">[% UNLESS ( noItemTypeImages ) %][% IF ( itemtypeloo.imageurl ) %]<img src="[% itemtypeloo.imageurl %]" alt="[% itemtypeloo.description %]" />[% END %]&nbsp;[% END %]
144
                                            [% IF ((!itemtypeloo.searchcategory) AND (itemtypeloo.cat == 0)) OR (itemtypeloo.cat == 1) %]
145
                                            <div class="span3"><input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]" name="[% IF ( itemtypeloo.cat == 1 ) %]searchcat[% ELSE %]limit[% END %]" value="[% IF ( itemtypeloo.cat == 1 ) %][% itemtypeloo.code %][% ELSE %]mc-[% itemtypeloo.ccl %]:[% itemtypeloo.code %][% END %]"/><label for="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]">[% UNLESS ( noItemTypeImages ) %][% IF ( itemtypeloo.imageurl ) %]<img border="0" src="[% itemtypeloo.imageurl %]" alt="[% itemtypeloo.description %]" />[% END %]&nbsp;[% END %]
145
                                            [% itemtypeloo.description %]</label></div>
146
                                            [% itemtypeloo.description %]</label></div>
146
                                            [% IF ( loop.last ) %]</div>[% ELSE %][% UNLESS ( loop.count % 4 ) %]</div><div class="row-fluid">[% END %][% END %]
147
                                            [% IF ( loop.last ) %]</div>[% ELSE %][% UNLESS ( loop.count % 4 ) %]</div><div class="row-fluid">[% END %][% END %]
148
                                            [% END %]
147
                                        [% END %]
149
                                        [% END %]
148
                                </fieldset>
150
                                </fieldset>
149
                            </div> <!-- / #advsearch-[% advsearchloo.advanced_search_type %] -->
151
                            </div> <!-- / #advsearch-[% advsearchloo.advanced_search_type %] -->
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt (-2 / +4 lines)
Lines 187-194 Link Here
187
    <table>
187
    <table>
188
        <tr>
188
        <tr>
189
    [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
189
    [% FOREACH itemtypeloo IN advsearchloo.code_loop %]
190
        <td><input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]" name="limit" value="mc-[% itemtypeloo.ccl %]:[% itemtypeloo.code %]"/><label for="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]">[% UNLESS ( noItemTypeImages ) %][% IF ( itemtypeloo.imageurl ) %]<img border="0" src="[% itemtypeloo.imageurl %]" alt="[% itemtypeloo.description %]" />[% END %]&nbsp;[% END %]
190
            [% IF ((!itemtypeloo.searchcategory) AND (itemtypeloo.cat == 0)) OR (itemtypeloo.cat == 1) %]
191
        [% itemtypeloo.description %]</label></td>
191
                <td><input type="checkbox" id="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]" name="[% IF ( itemtypeloo.cat == 1 ) %]searchcat[% ELSE %]limit[% END %]" value="[% IF ( itemtypeloo.cat == 1 ) %][% itemtypeloo.code %][% ELSE %]mc-[% itemtypeloo.ccl %]:[% itemtypeloo.code %][% END %]"/><label for="[% itemtypeloo.ccl FILTER remove(',') %]-[% itemtypeloo.number %]">[% UNLESS ( noItemTypeImages ) %][% IF ( itemtypeloo.imageurl ) %]<img border="0" src="[% itemtypeloo.imageurl %]" alt="[% itemtypeloo.description %]" />[% END %]&nbsp;[% END %]
192
                [% itemtypeloo.description %]</label></td>
193
            [% END %]
192
        [% IF ( loop.last ) %]</tr>[% ELSE %][% UNLESS ( loop.count % 5 ) %]</tr><tr>[% END %][% END %]
194
        [% IF ( loop.last ) %]</tr>[% ELSE %][% UNLESS ( loop.count % 5 ) %]</tr><tr>[% END %][% END %]
193
    [% END %]
195
    [% END %]
194
    </table>
196
    </table>
(-)a/opac/opac-search.pl (-6 / +23 lines)
Lines 95-111 my ($template,$borrowernumber,$cookie); Link Here
95
my $template_name;
95
my $template_name;
96
my $template_type = 'basic';
96
my $template_type = 'basic';
97
my @params = $cgi->param("limit");
97
my @params = $cgi->param("limit");
98
98
my @searchCategories = $cgi->param('searchcat');
99
99
100
my $format = $cgi->param("format") || '';
100
my $format = $cgi->param("format") || '';
101
my $build_grouped_results = C4::Context->preference('OPACGroupResults');
101
my $build_grouped_results = C4::Context->preference('OPACGroupResults');
102
if ($format =~ /(rss|atom|opensearchdescription)/) {
102
if ($format =~ /(rss|atom|opensearchdescription)/) {
103
    $template_name = 'opac-opensearch.tmpl';
103
    $template_name = 'opac-opensearch.tmpl';
104
}
104
}
105
elsif (@params && $build_grouped_results) {
105
elsif ((@params || @searchCategories) && $build_grouped_results) {
106
    $template_name = 'opac-results-grouped.tmpl';
106
    $template_name = 'opac-results-grouped.tmpl';
107
}
107
}
108
elsif ((@params>=1) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) {
108
elsif (((@params>=1) || (@searchCategories>=1)) || ($cgi->param("q")) || ($cgi->param('multibranchlimit')) || ($cgi->param('limit-yr')) ) {
109
    $template_name = 'opac-results.tmpl';
109
    $template_name = 'opac-results.tmpl';
110
}
110
}
111
else {
111
else {
Lines 205-211 my $languages_limit_loop = getLanguages($lang, 1); Link Here
205
$template->param(search_languages_loop => $languages_limit_loop,);
205
$template->param(search_languages_loop => $languages_limit_loop,);
206
206
207
# load the Type stuff
207
# load the Type stuff
208
my $itemtypes = GetItemTypes;
208
my $itemtypes = GetItemTypesCategorized;
209
# the index parameter is different for item-level itemtypes
209
# the index parameter is different for item-level itemtypes
210
my $itype_or_itemtype = (C4::Context->preference("item-level_itypes"))?'itype':'itemtype';
210
my $itype_or_itemtype = (C4::Context->preference("item-level_itypes"))?'itype':'itemtype';
211
my @advancedsearchesloop;
211
my @advancedsearchesloop;
Lines 223-230 foreach my $advanced_srch_type (@advanced_search_types) { Link Here
223
                code => $thisitemtype,
223
                code => $thisitemtype,
224
                description => $itemtypes->{$thisitemtype}->{'description'},
224
                description => $itemtypes->{$thisitemtype}->{'description'},
225
                imageurl=> getitemtypeimagelocation( 'opac', $itemtypes->{$thisitemtype}->{'imageurl'} ),
225
                imageurl=> getitemtypeimagelocation( 'opac', $itemtypes->{$thisitemtype}->{'imageurl'} ),
226
                cat => $itemtypes->{$thisitemtype}->{'iscat'},
227
                hideinopac => $itemtypes->{$thisitemtype}->{'hideinopac'},
228
                searchcategory => $itemtypes->{$thisitemtype}->{'searchcategory'},
226
            );
229
            );
227
	    push @itypesloop, \%row;
230
        if ( !$itemtypes->{$thisitemtype}->{'hideinopac'} ) {
231
	        push @itypesloop, \%row;
232
        }
228
	}
233
	}
229
        my %search_code = (  advanced_search_type => $advanced_srch_type,
234
        my %search_code = (  advanced_search_type => $advanced_srch_type,
230
                             code_loop => \@itypesloop );
235
                             code_loop => \@itypesloop );
Lines 239-244 foreach my $advanced_srch_type (@advanced_search_types) { Link Here
239
				ccl => $advanced_srch_type,
244
				ccl => $advanced_srch_type,
240
                code => $thisitemtype->{authorised_value},
245
                code => $thisitemtype->{authorised_value},
241
                description => $thisitemtype->{'lib_opac'} || $thisitemtype->{'lib'},
246
                description => $thisitemtype->{'lib_opac'} || $thisitemtype->{'lib'},
247
                searchcategory => $itemtypes->{$thisitemtype}->{'searchcategory'},
242
                imageurl => getitemtypeimagelocation( 'opac', $thisitemtype->{'imageurl'} ),
248
                imageurl => getitemtypeimagelocation( 'opac', $thisitemtype->{'imageurl'} ),
243
                );
249
                );
244
		push @authvalueloop, \%row;
250
		push @authvalueloop, \%row;
Lines 406-411 my @limits = $cgi->param('limit'); Link Here
406
my @nolimits = $cgi->param('nolimit');
412
my @nolimits = $cgi->param('nolimit');
407
my %is_nolimit = map { $_ => 1 } @nolimits;
413
my %is_nolimit = map { $_ => 1 } @nolimits;
408
@limits = grep { not $is_nolimit{$_} } @limits;
414
@limits = grep { not $is_nolimit{$_} } @limits;
415
416
if (@searchCategories > 0) {
417
	my @tabcat;
418
    foreach my $typecategory (@searchCategories) {
419
        push (@tabcat, GetItemTypesByCategory($typecategory));
420
    }
421
422
    foreach my $itemtypeInCategory (@tabcat) {
423
        push (@limits, "mc-$itype_or_itemtype,phr:".$itemtypeInCategory);
424
    }
425
}
426
409
@limits = map { uri_unescape($_) } @limits;
427
@limits = map { uri_unescape($_) } @limits;
410
428
411
if($params->{'multibranchlimit'}) {
429
if($params->{'multibranchlimit'}) {
412
- 

Return to bug 10937